Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Agenda für heute, 4. Mai, 2006 ProgrammierparadigmenProgrammierparadigmen Imperatives vs. objektorientiertes Programmieren Ereignisse und Objekte Delphi.

Ähnliche Präsentationen


Präsentation zum Thema: "Agenda für heute, 4. Mai, 2006 ProgrammierparadigmenProgrammierparadigmen Imperatives vs. objektorientiertes Programmieren Ereignisse und Objekte Delphi."—  Präsentation transkript:

1 Agenda für heute, 4. Mai, 2006 ProgrammierparadigmenProgrammierparadigmen Imperatives vs. objektorientiertes Programmieren Ereignisse und Objekte Delphi Datentypen: Real

2 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil des Programmablaufs aufgerufen werden Objektorientierte Programmiersprachen Imperative Prozeduren, die ausgeführt werden, wenn ein bestimmtes Ereignis eintritt Die Prozeduren sind Bestandteil von sog. Objekten 2/17

3 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Programmierparadigmen 3/17 Regelbasierte Sprachen Kommen in wissensbasierten Systemen (Expertensysteme) zur Anwendung Logikorientierte Sprachen Orientieren sich in der Beschreibung der Programme an der Prädikatenlogik Funktionale Sprachen Berechnungen werden als Auswertung mathematischer Funktionen verstanden

4 Programmierparadigmen Imperatives vs. objektorientiertes ProgrammierenImperatives vs. objektorientiertes Programmieren Ereignisse und Objekte Delphi Datentypen: Real

5 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Objektorientiertes Programmieren (OOP) Voraussetzungen für die objektorientierte Programmierung Ereignisse Ein Programm prüft ständig ob gewisse Ereignisse stattgefunden haben und reagiert darauf mit Nachrichten an Prozeduren Verwaltung von Objekten Durch einen Datentyp, in dem sowohl Eigenschaften der Speicherung als auch Prozeduren deklariert sind 4/17 Wir befassen uns mit konzeptionellen Aspekten der OOP weil diese notwendig sind um die technischen Grundlagen von Delphi zu verstehen.

6 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Imperatives vs. objektorientiertes Programmieren Imperativ: Wiederholte, sequentielle Verarbeitung. Objektorientiert: Ereignis- gesteuerte Verarbeitung Menü Auswahl Aktion Beispiel: zeilenweise VerarbeitungBeispiel: grafische Verarbeitung Bei Mausklick dividiere 5/17

7 Programmierparadigmen Imperatives vs. objektorientiertes Programmieren Ereignisse und ObjekteEreignisse und Objekte Delphi Datentypen: Real

8 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Typische Ereignisse bei Windows-Anwendungen Befehlsereignisse Starten von Programmen, Speichern von Dateien, usw. Fensterereignisse Öffnen, Schliessen, eines Fensters, Grösse verändern, usw. Eingabeereignisse Drücken einer Tastaturtaste, Bewegen der Maus, usw. 6/17

9 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Typische Ereignisse bei Windows-Anwendungen Systemereignisse Netzwerksteuerung, Interaktion mit Peripheriegeräten, usw. Timer-Ereignisse Nachführen einer Uhr, Zeitpläne verwalten, usw. 7/17

10 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Typische Objekte bei Windows-Anwendungen 8/17

11 Programmierparadigmen Imperatives vs. objektorientiertes Programmieren Ereignisse und Objekte DelphiDelphi Datentypen: Real

12 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Delphi Grundlagen Object-Pascal Erweiterung von Pascal durch Klassen und Objekte Grafische Programmierumgebung "Drag-and-drop"-Entwurf von Programmoberflächen "Visual Component Library" (VCL) Integrierte Entwicklungsumgebung (IDE) Verwaltung von Projekten, insb. Abhängigkeiten zwischen Units Regeln bez. Programmorganisation 9/17

13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbare Objekte in Delphi 10/17

14 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Unsichtbare Objekte in Delphi Dateiöffnungs- Dialog HTTP-Transfer FTP-Transfer Timer Speicherungs- Dialog Drucker- Dialog 11/17

15 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Ereignisse in Delphi Am Beispiel der Komponente "Button": 12/17

16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Die Projektverwaltung in Delphi In Delphi wird ein Programm Projekt genannt. Ein Delphi-Projekt besteht aus mehreren Dateien von denen jede durch eine spezifische Erweiterung gekennzeichnet ist:.dpr Die Projektverwaltungs-Datei (wird von Delphi automatisch erzeugt und nachgeführt).pas Quelltext-Datei (Objekt-Pascal-Code, in Units gegliedert).dfm Binäre Datei für den Aufbau eines Formulars.res Datei mit vom Projekt beanspruchten Ressourcen.dof Projektoptionsdatei (Einstellungen für Compiler und Linker).exe Ausführbares Programm Wichtiger Hinweis: Immer alle Dateien speichern!! 13/24

17 Programmierparadigmen Imperatives vs. objektorientiertes Programmieren Ereignisse und Objekte Delphi Datentypen: RealDatentypen: Real

18 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Der Datentyp real Teilbereich der reellen Zahlen Der Wertebereich ist vom Prozessor abhängig. Beispiel: 5.0 x x (8 Byte, signifikante Stellen) Operationen: +, –, *, /, ROUND, TRUNC, ABS Das Resultat eines Ausdrucks mit Integer-Werten kann sowohl an eine Integer-Variable als auch an eine Real-Variable zugewiesen werden. 14/17

19 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Reelle Typen in Delphi 6 Typ Bereich Signifikante Stellen Grösse in Byte Real482.9 x x Single1.5 x x Double5.0 x x Extended3.6 x x Comp Currency Der generische Typ Real ist in der aktuellen Implementation mit dem Typ Double identisch. 15/17

20 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Konsequenzen der endlichen Darstellung für real Gegeben sind folgende Anweisungen: a:= 4 / 3 – 1; a:= 3 * a – 1; Welchen Wert erhält a? Angenommen, wir haben 4 Ziffern um eine relle Zahl darzustellen: 4 = = = (4/3-1)-1 = = 0 das bedeutet: 4/3 = /3-1 = deshalb: 3*(4/3-1) = *(4/3-1)-1 = – Also: a = – ≠ 0Lösung: 3 * 4 / 3 – 3 * 1 rechnen 16/17

21 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Automatische Typenkonversion In Ausdrücken können Integer- und Real-Werte gemeinsam vorkommen. Wenn für eine der Operationen +, – oder * ein Operand vom Typ Real ist, dann wird der andere Operand automatisch zu Real konvertiert bevor der Operator angewandt wird. Beachte: Das Resultat ist vom Typ "Real" obwohl es ein ganzzahliger Wert ist! Der Multiplikationsoperator * hat einen Integer-Operanden (10) und einen Real-Operanden (1.1). Der Integer-Operand wird zu Real konvertiert: 10.0 * 1.1 = 11.0 (Real) Im zweiten Faktor ist 0.1 vom Typ Real, deshalb wird 1 zu Real konvertiert: = 1.1 (Real) Beispiel:(6 + 4) * ( ) Die Faktoren in Klammern werden zuerst ausgewertet: = 10 (Integer) 17/17


Herunterladen ppt "Agenda für heute, 4. Mai, 2006 ProgrammierparadigmenProgrammierparadigmen Imperatives vs. objektorientiertes Programmieren Ereignisse und Objekte Delphi."

Ähnliche Präsentationen


Google-Anzeigen