Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen.

Ähnliche Präsentationen


Präsentation zum Thema: "Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen."—  Präsentation transkript:

1 Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen

2 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Rezept als Programm mit Prozeduren 2/18

3 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Prozeduren Eine Prozedur ist ein kleines Programm, das innerhalb eines anderen Programms steht. Prozeduren werden eingesetzt um: a) Grosse Programme in kleinere Teile aufzuteilen b) Mehrfach verwendete Codesegmente nur einmal schreiben zu müssen 3/18

4 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Pascal-Prozeduren program tempumrechnung (input, output); var x, y: real; procedure fahrenheit; begin y:= (x - 32) * 5 / 9; end; {fahrenheit} begin {Hauptprogramm} read (x); fahrenheit; write (y:5:2) end. Prozedurdeklaration Prozeduraufruf 4/18

5 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Programmablauf bei Prozeduraufrufen procedure P; begin... end; begin { Hauptprogramm } P end.{ Hauptprogramm } 5/18

6 Prozeduren FunktionsprozedurenFunktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen

7 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Funktionsprozeduren program tempumrechnung (input, output); var x, y: real; function fahrenheit: real; begin fahrenheit:= (x - 32) * 5 / 9; end; {fahrenheit} begin {Hauptprogramm} read (x); y:= fahrenheit; write (y:5:2) end. Funktionsname kann in Ausdrücken verwendet werden 6/18

8 Prozeduren Funktionsprozeduren ProzedurparameterProzedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen

9 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Datenübergabe mit Werte-Parameter program tempumrechnung (input, output); var x, y: real; function fahrenheit(t: real): real; begin fahrenheit:= (t - 32) * 5 / 9; end; {fahrenheit} begin {Hauptprogramm} read (x); y:= fahrenheit(x); write (y:5:2) end. 7/18 Formeller Parameter Aktueller Parameter

10 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Datenübergabe mit Var-Parameter program tempumrechnung (input, output); var x: real; procedure fahrenheit(var t: real): real; begin fahrenheit:= (t - 32) * 5 / 9; end; {fahrenheit} begin {Hauptprogramm} read (x); fahrenheit(x); write (x:5:2) end. 8/18

11 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Syntax von Prozeduren 9/18

12 Prozeduren Funktionsprozeduren Prozedurparameter Lokale und globale VariablenLokale und globale Variablen Datentypen: Ordinaltypen

13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Lokalität: Sichtbarkeit von Bezeichnern var a procedure P var b procedure Q procedure R var b, c b, c, a, Q und P sichtbar a, b, R, Q und P sichtbar a, b, Q, R und P sichtbar a und P sichtbar Sichtbar bedeutet: Auf eine Variable oder Konstante, die sichtbar ist, kann man zugreifen. Eine Prozedur oder Funktion, die sicht- bar ist, kann man aufrufen. Unsichtbare Elemente entziehen sich einem Zugriff program H 10/18

14 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Hauptprogramm H var a procedure P a und P sichtbar program H Weil Prozeduren schachtelbar sind, sind auch Sichtbar- keitsbereiche schachtelbar 11/18

15 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Prozedur P var a procedure P var b procedure Q procedure R a, b, Q, R und P sichtbar program H Globale Variable für die Prozeduren P, Q und R Lokale Variable für die Prozedur P 12/18

16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Prozedur R var a procedure P var b procedure Q procedure R a, b, R, Q und P sichtbar program H 13/18

17 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Prozedur Q var a procedure P var b procedure Q var b, c b, c, a, Q und P sichtbar program H R (und seine lokalen Variablen) sind für Q nicht sichtbar! procedure R 14/18

18 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Prozedur Q var a procedure P var b procedure Q var b, c b, c, a, Q, R und P sichtbar program H procedure R procedure R; FORWARD; Die forward-Deklaration macht R (aber nicht seine lokalen Variablen) für Q sichtbar! 15/18

19 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsregeln für Prozeduren 1.Ein Bezeichner ist innerhalb der Prozedur in der er deklariert wird sichtbar. Ebenso ist er in allen von dieser Prozedur eingeschlossenen Prozeduren sichtbar, vorbehaltlich Regel 2. 2.Wenn ein in der Prozedur P deklarierter Name N in einer inneren, von P eingeschlossenen Prozedur Q, umdeklariert wird, dann sind die Prozedur Q und alle weiteren, in Q eingeschlossenen Prozeduren, aus dem Sichtbarkeitsbereich des in P deklarierten Namens N ausgeschlossen. 3.Die Standarbezeichner von Pascal werden als bereits deklariert angesehen, und zwar in einer imaginären, das Programm umschliessenden, Prozedur. 16/18

20 Prozeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: OrdinaltypenDatentypen: Ordinaltypen

21 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Ordinaltypen Die Werte von Ordinaltypen stammen aus einem abzählbaren Wertebereich. Dazu gehören die folgenden einfachen Datentypen: Integer, Cardinal, Boolean, Char Ihre Werte bilden eine geordnete Menge. Jedem Wert ist eine Ordinalzahl zugeordnet: 0, 1, 2,...(Ausnahme: Integer) Auf jeden Wert von Ordinaltypen anwendbare Standardfunktionen: Ord() gibt die Ordinalzahl zurück Pred() gibt die Ordinalzahl des Vorgängers zurück Succ() gibt die Ordinalzahl des Nachfolgers zurück Low() gibt den kleinsten Wert des Wertebereichs zurück High() gibt den grössten Wert des Wertebereichs zurück 17/18

22 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Standardfunktionen für Ordinaltypen Beispiele Ord(true) =1 Ord('8') =56 Ord(8) =8 Pred(false) =true Pred(-342) = –343 Succ('m') = n Low(integer) =–2147483648 Low(word) =0 High(word) = 65535 18/18


Herunterladen ppt "Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen."

Ähnliche Präsentationen


Google-Anzeigen