Programme als verschachtelte Strukturen
Auffinden von Strukturen
Im vorhergehenden Abschnitt hast Du das Programm in die kleinsten sinntragenden Einheiten zerlegt. Im folgenden geht es darum, die Struktur des Programms zu erkennen. Dies kann man erreichen, indem man versucht, die Folgen von kleinsten Einheiten nach einem bestimmten Schema in immer größere Einheiten zu strukturieren. Das können wir tun, indem wir um mehrere der kleinsten (mit Bleistift gezeichneten) Kästchen größere Kästen zeichnen (idealerweise mit einer anderen Farbe).
Wir wollen ein Schema verwenden, das wie folgt dargestellt ist:
Programm ::= Sequenz
<p>Sequenz ::= Anweisung | Anweisung Anweisung … Anweisung </p>
<p>Anweisung ::= Zuweisung | Fallunterscheidung | Wiederholung</p>
<p>Zuweisung ::= VAR ZUW ZAHL | VAR ZUW VAR | VAR ZUW NULL<br />
VAR ZUW VAR PL ZAHL | VAR ZUW VAR MI ZAHL<br />
VAR ZUW VAR PL VAR | VAR ZUW VAR MI VAR</p>
<p>Fallunterscheidung ::= IF Bedingung DP Sequenz<br />
ELSE DP Sequenz END</p>
<p>Wiederholung ::= WHILE Bedingung DP Sequenz END</p>
<p>Bedingung ::= VAR GL NULL | VAR UG NULL |<br />
VAR KL VAR | VAR KG VAR |<br />
VAR GL VAR | VAR UG VAR<br />
Aufgabe 1
Zeichne in den Programmausdruck aus dem vorhergehenden Abschnitt größere Kästen (mit anderer Farbe) ein, die den Begriffen "Zuweisung", "Fallunterscheidung", "Bedingung" etc. entsprechen.