Nach diesem Kapitel sollten Sie

1. die drei Wiederholungsanweisungen von Pascal kennen und wissen, in welcher

Situation welche Schleifenart sinnvollerweise zu verwenden ist,

2. eine gegebene Wiederholungsanweisung in eine andere, bedeutungsgleiche

Wiederholungsanweisung umformen können,

3. die Anwendungsbereiche der strukturierten Datentypen Feld (array) und

Verbund (record) kennen,

4. mit Hilfe strukturierter Datentypen von Pascal problemadäquate, selbstdefinierte

Datentypen festlegen und die darauf zulässigen Operationen anwenden

können,

5. eine Funktion deklarieren und aufrufen können,

6. die Begriffe .„formaler Parameter.“, .„aktueller Parameter.“ und .„lokale Variable

.“ kennen,

7. einfache Programme schreiben können, die ein übersichtliches Layout, sinnvolle

Kommentierung sowie wohlüberlegte Datentypen und Kontrollstrukturen

verwenden.

 

4. Programmierkonzepte orientiert an Pascal (Teil2)

4.1 Wiederholungsanweisungen

4.1.1

for-Anweisung, die while-Anweisung

und die repeat-Anweisung.

Schleife, Schleifenrumpf, Schleifenbedingung.

for Schleife Fig. S. 81

Die for-Schleife, auch Laufanweisung genannt, wird verwendet, wenn die Anzahl

der Schleifendurchläufe vor dem Eintritt in die Schleife bekannt ist.

Nach Beendigung der for-Schleife ist der Wert der Kontrollvariablen nicht

mehr definiert. Es dürfen deshalb im weiteren Verlauf des Programms keine

Annahmen über ihren Wert gemacht werden.

4.1.2

Die while-Schleife wird verwendet, wenn die Anzahl der Schleifendurchläufe vor

dem Eintritt in die Schleife nicht bekannt ist.

Fig. S. 86

Die Schleifenbedingung muß eine Variable enthalten, deren Wert sich bei der Bearbeitung

des Schleifenrumpfes ändert. Andernfalls haben wir eine Endlosschleife

programmiert, und die Programmbearbeitung bricht nicht ab

4.1.3 Repeat Schleife see fig. 89

Abbruchkriteriums repeat-Schleife  Gegensatz zur while-Schleife nicht vor, sondern nach Schleifenrumpf

mehreren Anweisungen besteht, brauchen wir diese nicht mittels begin und end zu einer zusammengesetzten

Anweisung zu klammern,

Die 

while-Schleife

while expression do

statement

läßt sich stets schreiben als

if expression then

repeat

statement

until not expression

Umgekehrt läßt sich jede repeat-Schleife durch eine while-Schleife mit derselben

Bedeutung ersetzen:

repeat

statement

until expression

ist äquivalent zu

statement;

while not expression do

begin

statement

end

Die repeat-Schleife ist zu wählen, wenn unabhängig von der Schleifenbedingung

stets mindestens ein Schleifendurchlauf erfolgen soll. Hängt bereits der erste

Schleifendurchlauf von der Erfüllung der Schleifenbedingung ab, so ist die while-

Schleife die geeignete Wahl.

Die for-Schleife ist gewöhnlich das geeignete Schleifenkonstrukt, wenn die Anzahl

der Schleifendurchläufe vor Eintritt in die Schleife bekannt ist.

Ist das Ende der input-Datei erreicht (und damit eof = true), dürfen keinen weiteren

read-Befehle mehr für die input-Datei erfolgen. Führt das Programm einen

weiteren read-Befehl aus, so erfolgt meist ein Programmabbruch.

 

4.2 Strukturierte Datentypen

4.2.1 Der array-Typ

Array Fig. S. 95

Siehe Beispiel top s.96

Bereichsüberschreitung

Wenn Sie versuchen, dieses Programm so abzuändern, daß es auch für andere Feldgrößen

benutzt werden kann, werden Sie feststellen, daß nicht nur die Typdefinition,

sondern auch die Anfangs- bzw. Endwerte der for-Schleifen angepaßt werden

müssen. Günstiger ist es, die Grenzen eines Feldes als Konstanten zu definieren und

diese in den Operationen, die auf dem Feld arbeiten, konsequent einzusetzen. Wir

werden fortan so verfahren.

Feldgrenzen dynamisch festlegen zu können,

Mehrdimensionale Arrays > S. 105

4.2.2 

Feld festgelegte Anzahl typgleicher Komponente

> fig. S. 109

Komponente Verbund zugreifen

Verbund Name, Punkt, Bezeichner.

Derart ausgewählte record Komponente selektierte Variable

Schachtelung möglich (> S.110) (revisit B. 4.2.2.2)

4.3 Funktionen

 

Pascal stellt nicht nur Standardfunktionen bereit, sondern bietet auch die Möglichkeit,

daß der Programmierer Funktionen selbst vereinbart. In der Funktionsverein-

barung wird festgelegt, wie die Funktion heißt, wie sie aufgerufen wird und wie sie

ihren Funktionswert berechnet. Funktionsdeklarationen erfolgen in Pascal im Anschluß

an Konstanten.–, Typen.–, und Variablenvereinbarungen:

>S. 117

>S. 118 Bsp. 4.3.1

Die Liste

der aktuellen Parameter in einem Funktionsaufruf muß mit der Liste der formalen

Parameter nach folgenden Regeln übereinstimmen:

- Die Zahl der Parameter in beiden Listen muß gleich sein.

- Die Typen des formalen und entsprechenden aktuellen Parameters, der an

derselben Position der Parameterliste steht, müssen identisch sein.

Ein Funktionsaufruf ist ein Ausdruck und kann daher überall

verwendet werden, wo Ausdrücke erlaubt sind.

Wir betonen, daß dem Funktionsbezeichner zwar mehrmals ein Wert zugewiesen

werden kann, aber auf diesen Wert innerhalb der Funktion nicht lesend zugegriffen

werden darf. Er kann also z.B. nicht als lokale Variable verwendet werden.

Für jeden

Parameter einer selbstdeklarierten Funktion sowie für das Ergebnis kann nur jeweils

genau ein Typ verwendet werden.

 

Muß Regeln, S. 128

4.4.3 Kommentare

 

 

 

 

 

 

 

 

 

1.3 Programmierkonzepte orientiert an Pascal

Marco Urso
Module by Marco Urso, updated more than 1 year ago
No tags specified