Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

G.Heyer Digitale Informationsverarbeitung 1 10. Grundlagen imperativer Programmiersprachen Ein Turbo-Pascal-Beispielprogramm: PROGRAM Differenz; USES.

Ähnliche Präsentationen


Präsentation zum Thema: "G.Heyer Digitale Informationsverarbeitung 1 10. Grundlagen imperativer Programmiersprachen Ein Turbo-Pascal-Beispielprogramm: PROGRAM Differenz; USES."—  Präsentation transkript:

1

2 G.Heyer Digitale Informationsverarbeitung Grundlagen imperativer Programmiersprachen Ein Turbo-Pascal-Beispielprogramm: PROGRAM Differenz; USES WinCRT; VAR x, y: Integer; BEGIN Write('Bitte geben Sie zwei Zahlen ein'); Readln(x,y); Write('Die Differenz von ', x, ' und', y, 'ist '); WHILE x <> y DO IF x > y THEN x := x - y ELSE y := y - x; Writeln(x) END. Programmkopf Uses-AnweisungProgrammblock. Programmkopf:PROGRAM Bezeichner;

3 G.Heyer Digitale Informationsverarbeitung 2 Aufbau von Pascal-Programmen CONST Programmblock: Deklarationsteil Anweisungsteil Anweisungsteil:BEGIN Anweisung END ; Deklarationsteil (vorläufig): VAR Bezeichner Datentyp Bezeichnerliste Datentyp : ; = ; : Ausdruck mit konst. Ergebnis

4 G.Heyer Digitale Informationsverarbeitung 3 Lexikalische Einheiten Bezeichner: Folge von Buchstaben und Ziffern, erstes Zeichen Buchstabe, Groß-/Kleinschreibung irrelevant Schlüsselwörter: festgelegte Bedeutung in Programmen, dürfen nicht als Bezeichner verwendet werden Konstanten: Zahlkonstanten (17, -22, +0.12, E-6), Zeichenketten ('Leipzig kommt', 'wUrx23', Die Sonne scheint') logische Konstanten (true, false) Mengenkonstanten Zeigerkonstante nil (später) Kommentare: beliebiger Text in geschweiften Klammern {...} oder(*...*) Operatoren: Zuweisungsoperator := weitere Operatoren not, *, /, div, mod, and, +, -,, >=, >, in Trennzeichen: ( ) [ ]..., ; : =

5 G.Heyer Digitale Informationsverarbeitung 4 Schlüsselwörter and case div end goto inherited mod of program shl to uses array const do file if inline nil or record shr type var asm constructor downto for implementation interface not packed repeat string unit while begin destructor else function in label object procedure set then until with

6 G.Heyer Digitale Informationsverarbeitung 5 Pascal-Datentypen Skalare Typen Strukturierte Typen Zeiger- Typen REAL Aufzählungs- typen BOOLEAN INTEGER CHAR Selbstvereinbarte Typen Unterbereichs- typen Homogene Typen Inhomogene Typen Verbunde Felder Mengen Dateien

7 G.Heyer Digitale Informationsverarbeitung 6 Konstanten und Variablen Konstante: Bezeichnung + Wert Variable: Ort + Wert Bezeichnung 10 Wert I0I0 Ort Adresse 4711 Wert I0I0 Symbolischer Bezeichner Pegel

8 G.Heyer Digitale Informationsverarbeitung 7 Grundlegende Datentypen BOOLEAN: Wertebereich: TRUE, FALSE Erlaubte Operationen: not, and, or und Vergleichsoperationen es ist festgelegt: FALSE < TRUE, damit lassen sich weitere logische Verknüpfungen modellieren: A -> B A B A <= B A = B A <> B Implikation: Äquivalenz: exklusives Oder: A B CHAR: Wertebereich: Buchstaben, Ziffern, Leerzeichen, Sonderzeichen Symbole werden durch Apostrophe eingegrenzt es gilt 'A' < 'B' <... <'Z', '0' < '1' <... < '9' erlaubte Operationen: Vergleichsoperationen sowie chr, ord, pred, succ chr(n):n-ter Character, ord(x): n, so daß x n-ter Character pred(x), succ(x): Vorgänger, Nachfolger von x

9 G.Heyer Digitale Informationsverarbeitung 8 Grundlegende Datentypen, ctd. INTEGER Wertebereich: alle im Rechner darstellbaren ganzen Zahlen (-MAXINT bis MAXINT) Operationen: einstellige Operationen: +,- (Vorzeichen) arithmetische Operationen: +, -, *, div, mod Vergleichsoperationen Standardfunktionen (nächste Folie) zu beachten: div ganzzahlige Division: Rundung auf nächstkleinere ganze Zahl Sei B > 0 und REST = A - (A div B) * B Dann gilt: A mod B = REST, falls REST > 0 REST + B, falls REST < 0 { REAL Wertebereich: darstellbare reelle Zahlen Operationen: +, -, *, /, Vegleichsoperationen, Standardfunktionen

10 G.Heyer Digitale Informationsverarbeitung 9 Aufzählungs- und Bereichstypen Wochenende = [SA..SU]; StopFarben = [rot..gelb]; NatZahl = INTEGER[0..MAXIMUM DIV 3]; Ampelfarbe = (rot, gelb, gruen); Tag = (MO, TU, WE, TH, FR, SA, SU); Pascal erlaubt zu elementaren vordefinierten Typen weitere einzuführen. Aufzählungstypen (enumeration types): rot, FR sind Konstanten ihres jeweiligen Typs. Typdefinition Atommacht = (USA, RU, FR, GB, CHINA); syntaktisch korrekt, aber mit obengenannten nicht konsistent: Typ von FR wäre nicht eindeutig. Alle Vergleichsoperationen für Aufzählungstypen definiert (, =, <>). Seien a und b Konstanten eines skalaren Typs S mit a <> b (z.B. INTEGER, CHAR,..., aber nicht REAL); T = [a..b] heißt Bereichstyp über dem Grundtyp S TYPE

11 G.Heyer Digitale Informationsverarbeitung 10 Pascal-Standardfunktionen Funktions- name ABS(X) ARCTAN(X) CHR(X) COS(X) EOF(F) EOLN(F) EXP(X) LN(X) ODD(X) ORD(X) PRED(X) ROUND(X) SIN(X) SQR(X) SQRT(X) SUCC(X) TRUNC(X) Parameter-Typen INT, REAL INT INT, REAL FILE INT, REAL INT BOOLEAN, CHAR benutzerdef. Aufz.. ohne REAL REAL INT, REAL Aufz. ohne REAL REAL Ergebnis- Typen wie Parameter REAL CHAR REAL BOOLEAN REAL BOOLEAN INT wie Parameter INT REAL wie Parameter REAL wie Parameter INT Beschreibung Betrag von X Arcustang. von X X-tes Zeichen (ASCII) Cosinus von X TRUE gdw. end of file TRUE gdw. end of line e Logarithmus von X TRUE gdw. X ungerade Position von X Vorgänger von X X gerundet Sinus von X Quadrat von X Wurzel aus X Nachfolger von X Teil von X vor Komma X

12 G.Heyer Digitale Informationsverarbeitung 11 Ausdrücke bezeichnen Elemente eines Datentyps induktive Definition: 1. eine Konstante k vom Typ D ist ein Ausdruck vom Typ D 2. eine Variable v vom Typ D ist ist ein Ausdruck vom Typ D 3. sind t1,..., tn Ausdrücke der Typen D1,..., Dn und ist f:D1 x... x Dn -> D eine Nicht-Infix-Operation, so ist f(t1,...,tn) ein Ausdruck vom Typ D 4. sind t1, t2 Ausdrücke der Typen D1, D2 und ist o:D1 x D2 -> D eine Infix-Operation, so ist (t1) o (t2) ein Ausdruck vom Typ D Wert eines Ausdrucks: 1. für eine Konstante k ist Wert(k) das durch k bezeichnete Element von D 2. für eine Variable v ist Wert(v) der in der Variablen gespeicherte Wert 3. Wert(f(t1,...,tn)) = f(Wert(t1),..., Wert(tn)) 4. Wert((t1) o (t2)) = Wert(t1) o Wert(t2)


Herunterladen ppt "G.Heyer Digitale Informationsverarbeitung 1 10. Grundlagen imperativer Programmiersprachen Ein Turbo-Pascal-Beispielprogramm: PROGRAM Differenz; USES."

Ähnliche Präsentationen


Google-Anzeigen