Inf1-Skript7 - 7.1 Wertzuweisung 92 7 Iterative Programme...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 7.1 Wertzuweisung 92 7 Iterative Programme Der Begriff Iteration bezeichnet das wiederholte Durchlaufen von Anweisungen oder Anweisungsfolgen. Eine Iteration kann nach Durchfuhrung einer bei Beginn der Ite- ration vorgegebenen Zahl von Iterationsschritten oder durch das Erfullen einer Ab- bruchbedingung beendet werden. Bisher sind nur funktionale Programme eingefuhrt worden, Programme also, die Variablen nicht oder nur zur Eingabe verwenden. Ein Algorithmus, der Zwischener- gebnisse in Variablen ablegt, heit nichtfunktional . 7.1 Wertzuweisung Als wesentliches Merkmal der nichtfunktionalen, iterativen Programmierung wird jetzt die Wertzuweisung (assignment) eingefuhrt. Statement I fS ta tem en t C a seS ta tem en t P rocedu reS ta tem en t C om poundS ta tem en t A ss ignm en tS ta tem en t Die allgemeine Form der Wertzuweisung ist: V := E Dabei ist V ein Variablenname und E ein Ausdruck. Der Operator := ist asymme- trisch: Der Ausdruck auf der rechten Seite wird ausgewertet und anschlieend das Resultat der Variablen auf der linken Seite zugewiesen. In Pascal mussen der Aus- druck und die Variable typkompatibel sein, d.h. das Resultat mu im Wertebereich der Variablen liegen. 7.2 Referenzparameter 93 AssignmentStatement Variable := Expression Beispiel 7.1 VAR x,y: INTEGER; z: REAL; x := 0; x := y; z := x; sind korrekte Wertzuweisungen, aber x := z; liefert einen Fehler. 7.2 Referenzparameter Die bisher eingefuhrten Funktions- und Prozedurparameter werden auch als Wert- parameter bezeichnet, denn das Unterprogramm erh alt zum Zeitpunkt des Aufrufs nur den aktuellen Wert mitgeteilt (call-by-value). Im folgenden k onnen auch andere Parameter vorkommen, die in der formalen Parameterliste durch VAR (fur Variable) gekennzeichnet sind, z.B. in PROCEDURE FibProc(Arg: INTEGER; VAR Fib: INTEGER); Diese Art von Parameter wird Referenzparameter genannt. Bei ihrer Ubergabe an ein Unterprogramm erh alt dieses die Variable zur freien Verwendung. Technisch wird das durch die Ubergabe ihrer Speicheradresse realisiert (call-by-reference). Damit ist eine Kommunikation in beide Richtungen m oglich. Wird im Beispiel der Referenz- parameter Fib durch die Prozedur FibProc ver andert, so hat die Variable, die als aktueller Parameter ubergeben wurde, nach dem Aufruf einen anderen Wert als vorher. Beim Wertparameter Arg ist dies nicht m oglich. Referenzparameter sollten nur verwendet werden, wenn durch sie Prozedurergebnisse zuruckgegeben werden sollen, kopieren des aktuellen Wertes nicht m oglich ist (bei gewissen Datenstruktu- ren), kopieren des aktuellen Wertes zu ineffizient ist (bei groen Datenstrukturen). 7.3 Gultigkeitsbereich 94 Beispiel 7.2 PROGRAM Parameter; VAR x,y: INTEGER; PROCEDURE p(x: INTEGER; VAR y: INTEGER); BEGIN x := 3; y := 4;...
View Full Document

Page1 / 11

Inf1-Skript7 - 7.1 Wertzuweisung 92 7 Iterative Programme...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online