Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm.

Slides:



Advertisements
Ähnliche Präsentationen
1 Funktionstemplates Einbinden von Templates: –Eine *.o Datei, die durch Übersetzen einer Datei nur mit Templates erzeugt wurde, enthält keinen Programmcode.
Advertisements

Forschungszentrum caesar
Programmieren in Logik
10. Grundlagen imperativer Programmiersprachen
Unter- und Oberklassen: Beispiel
FH-Hof Einbindung von JavaScript Anweisungen
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Robotik mit LEGO Mindstorms
Perl-Grundlagen Teile der Präsentation von A. Grupp,
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Imperative Programmierung
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
JavaScript - Einführung
Access & Assign Methoden in Visual FoxPro Zuweisungs- und Zugriffs-Methoden.
Marcus Haller & René Schulze
Delphi Eine objektorientierte Programmiersprache © Beushausen 2000.
Wichtige Fachausdrücke in C
Einführung in die Programmiersprache C 1
Eine Einführung in die Entwicklung ereignisgesteuerter Programme
Delphi II - OOP IFB Fortbildung
Implementierung objektorientierter Modelle
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die objektbasierte Programmierung mit Delphi
Strukturierte Programmierung
Erste Programme mit Delphi
FORTRAN 77.
Grundkonzepte des Programmierens (mit ActionScript)
Interpreter & Compiler
Permanente Datenspeicherung
Dynamische Webseiten-Generierung
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
MODULA-2.
Agenda für heute, 18. Mai, 2006 Strukturierung von Programmen: ProzedurenStrukturierung von Programmen: Prozeduren Strukturierung von Programmen: Units.
Datentypen: integer, char, string, boolean
Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
3. Lineare Befehle 3.1 Die Ausgabefunktion
Erste Schritte in DELPHI
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
Zeichenketten in PASCAL
Beispiel 8 aus den Vorlesungsbeispielen (2) Struktogrammentwurf schrittweise.
Vorkurs Programmierungstechnik Einführung in Pascal Michael Gellner Lehrstuhl für Softwaretechnik am Institut für praktische Informatik der Universität.
Formulare in HTML.
Kurzreferat über Funktionen und Prozeduren Von Alexander RothHomepage:
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
Übersicht Nachtrag zu Ausdrücken
1 VeranstaltungThemaTeilnehmerBetreuer AINF-Lehrgang PROGRAMMIEREN Martina GREILER Wolfgang KATOLNIG Peter RENDL Helfried TUISEL Peter ZYCH Heinz STEGBAUER.
Der Datentyp Verbund (record)
(Syntax, Strings/Zahlen, Variablen, Arrays)
Delphi Chars und Strings
Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour.
Objektorientierte (OO) Programmierung
Tutorium Software-Engineering SS14 Florian Manghofer.
Programmieren mit Lazarus. Die Programmoberfläche das Hauptfenster der Objektinspektor das Formular der Quelltexteditor Komponenten hier einfügen...
J. Nürnberger2007 / 081 Tabellenkalkulation (3) Arbeiten mit Formeln am Beispiel von OpenOffice.org Calc.
Programmierparadigmen
Objektorientierte Programmierung
Datentypen: integer, char, string, boolean
Programmieren und Problemlösen
Datentypen: integer, char, string, boolean
Parametrisierte Prozeduren und Funktionen
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Implementieren von Klassen
 Präsentation transkript:

Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm

Variablen Grundlage: Der Name einer Variablen bezeichnet eine Stelle im Speicher. Der Inhalt dieses Speicherbereichs ist der Wert der Variablen. Bevor eine Variable verwendet werden kann, muss sie (und evtl. ihr Datentyp) deklariert werden: Var name:string; Die Variable mit Namen name vom Typ String wird deklariert. Deklaration: In einer Unit kann man an mehreren Stellen Variablen deklarieren: Im Interface-Teil nach Uses, Type: öffentliche, globale Variablen Im Implementation-Teil nach Uses, Type: nichtöffentliche, globale Variablen Im Prozedur-Kopf: Übergabe-Parameter Wir werden in der nächsten Zeit lokale Variablen definieren: Nach dem Prozedur-Kopf vor Begin: procedure TForm1.BtKlickClick(Sender: TObject); Var name:string; Begin end;

Variablen-Typen Wir arbeiten vorläufig mit 3 Typen: String-Variablen: Zeichenketten z. B. Hallo Nr. 1 Integer-Variablen: Ganze Zahlen z.B Real-Variablen: Reelle Zahlen z. B. 15,3 Im Quelltext sieht das so aus: procedure TForm1.BtKlickClick(Sender: TObject); Var name, strasse, ort:string; alter, PLZ: integer; Gehalt:real; Begin end;

Komponenten-Eigenschaften Die Eigenschaften der Komponenten können auch als Variable aufgefasst werden. Ihr Name lässt sich so ableiten: Die Eigenschaft Caption vom Label LbHallo heißt: LBHallo.Caption Die Eigenschaft Text von EdName heißt: EdName.text Die Eigenschaften haben verschiedene Typen: String: Caption, Text, Name,... Integer: Size, Height, Width,...

Wertzuweisung Damit Variable einen Wert enthalten, müssen wir ihnen diesen zuweisen. Der Objekt-Pascal-Befehl dazu lautet `:=` Im Quelltext: name:=`J.Rudolf `; LbDanke.Caption:=`Danke!` ; LbName.Caption:=name; PLZ:=79837; Gehalt:= ; LbDanke.font.size:=20; Bei Strings: Variable Name erhält den Wert J.Rudolf Eigenschaft Caption von LbDanke erhält den Wert Danke! Eigenschaft Caption von LbName erhält den Wert von Variable Name Bei Integer / Real -Variablen: Int-Variable PLZ erhält den Wert Real-Variable Gehalt soll 9550,34 sein Eigenschaft Font.Size von LbDanke soll den Wert 20 erhalten

Übung (1) Aufgabe 1: Der User soll seinen Namen in einem Edit eingeben können und nach einem Klick auf den Button soll der Name auf einem Label erscheinen. Im Quelltext: procedure TForm1.BtKlickClick(Sender: TObject); Var name:string; Begin name:=EdName.text;//Einlesen LbName.Caption:=name;//Auslesen end; Ausführung: Komponenten Edit, Button, Label Eigenschaften der Komponenten Edit: Name = EdName, Text = Ihr Name Button: Name = BtnKlick, Caption = Klick mich Label: Name = LbName, Caption = ? Ereignisse der Komponenten: Beim Button BtKlick soll das OnClick- Ereignis verändert werden (Doppelklick auf das Feld rechts neben OnClick)

Kommentare Wenn wir im Quelltext Erläuterungen geben wollen, so darf DELPHI dadurch nicht verwirrt werden. Im Quelltext: Var name:string;//String-Variable Begin //Prozeduranfang name:=`J.Rudolf ; {Hier wird der Name J.Rudolf der String-Variablen Name zugewiesen} LbName:=name; End; Einzeilige Kommentare Beginnen mit // und gelten bis zum Zeilenende Mehrzeilige Kommentare Beginnen mit { und enden mit }

Typ-Umwandlung (1) Bei der Zuweisung von Werten zu Variablen muss der Typ beachtet werden. Bei der Eingabe von Zahlen wird eine Typ-Umwandlung notwendig: Integer String Wenn wir in Edit-Feld die Zeichen 123 ein- oder ausgeben, so werden diese als String gespeichert: edit1.text:=`123`; // String Wenn wir eine Integer-Variable Zahl1 haben, so brauchen wir aber: Zahl1:=123; // Integer Wir können den Wert von Zahl1 auch in einen String umwandeln: Mit dem Befehl IntToStr(Zahl1) und dann im Edit-Feld ausgeben: Edit1.text:=IntToStr(Zahl1); // Zahl1:Integer String; 123 `123` Wir können den Text in Edit1 auch in einen Integer umwandeln: Mit dem Befehl StrToInt(Edit1.text) und dann Zahl1 zuweisen: Zahl1:=StrToInt(Edit1.text); // Edit1.text:String Integer; `123` 123

Übung (2) Aufgabe 2: Der User soll sein Geburtsjahr eingeben können und nach einem Klick auf den Button soll sein Alter auf einem Label erscheinen. Im Quelltext: procedure TForm1.BtKlickClick(..); Var gebjahr,alter:integer; Begin gebjahr:=StrToInt(Edjahr.text); //Einlesen und Umwandeln alter:=2001-gebjahr; LbAlter.Caption:=IntToStr(alter); //Umwandeln und Auslesen end; Ausführung: Komponenten Edit, Button, Label Eigenschaften der Komponenten Edit: Name = EdJahr, Text = Ihr Geburtsjahr Button: Name = BtnKlick, Caption = Klick mich Label: Name = LbAlter, Caption = ? Ereignisse der Komponenten: Beim Button BtKlick soll das OnClick- Ereignis verändert werden (Doppelklick auf das Feld rechts neben OnClick)

Typ-Umwandlung (2) Analog erfolgt die Umwandlung zwischen String und Real Real String Wenn wir in Edit-Feld die Zeichen ein- oder ausgeben, so werden diese als String gespeichert: edit1.text:=`-12.3`; // String Wenn wir eine Real-Variable Zahl1 haben, so brauchen wir aber: Zahl1:= -12.3; // Real (auch Float = Fließkommazahl) genannt Für die Textausgabe benötigen wir den Befehl FloatToStr(): Edit1.text:=FloatToStr(Zahl1); // Zahl1:Real String; 12,3 `12,3` Für das Einlesen gibts den Befehl StrToFloat(): Zahl1:=StrToFloat(Edit1.text);//Edit1.text:String Real;`12,3` 12,3

Rechenoperationen Die üblichen Rechenoperationen stehen zur Verfügung: Für Integer und Real- Variablen: a,b,c: Integer; x,y,z:Real OperationOperandtypErgebnistypBeispiel + AdditionInteger, RealInteger, Reala:=b+c; x:=y+z; - SubtraktionInteger, RealInteger, Reala:=b-c; x:=y-z; * MultiplikationInteger, RealInteger, Real a:=b*c; x:=y*z; / DivisionInteger, RealRealx:=b/c; x:=y/z; div DivisionIntegerIntegera:= b div c; // 7div2=3 mod RestIntegerIntegera:= b mod c;//7mod2=1

Übung (3) Aufgabe 3: Programmiere einen Taschenrechner. Beginne mit der Addition! Im Quelltext: procedure TForm1.BtPlusClick(..); Var a,b,c:real; Begin //Einlesen und Umwandeln: a:=StrToFloat(Eda.text); b:=StrToFloat(Edb.text); c:=a+b; //Berechnung //Umwandeln und Auslesen: LbErg.Caption:=FloatToStr(c); end; Ausführung: Komponenten 2* Edit, Button, 2*Label Eigenschaften der Komponenten Edit: Name = Eda, Text = `2` Edit: Name = Edb, Text =`3` Button: Name = BtnPlus, Caption = `+` Label: Name = LbGleich, Caption = `=` Label: Name = LbErg, Caption = `5` Ereignisse der Komponenten: Beim Button BtPlus soll das OnClick- Ereignis verändert werden

Übung (4) Aufgabe 4: Ergänze deinen Taschenrechner um die Subtraktion, Multiplikation und Division. Aufgabe 5: Ergänze deinen Taschenrechner um die Wurzel - Befehl sqrt(a) – und das Quadrat – sqr(a). Aufgabe 6: Ergänze deinen Taschenrechner um trigonometrische Funktionen – sin(a), cos(a), tan(a). (Berechnung erfolgt im Bogenmaß! Zusatz: Umrechnung in Grad) Aufgabe 7: Ergänze deinen Taschenrechner um die e-Funktion – exp(a) – und den natürlichen Logarithmus – ln(a).