Bisher bestanden die Programme nur aus aneinander gehängten Anweisungen. Jedoch ist es oft notwendig, den Ablauf eines Programms aufgrund einer Bedingung bzw. von Abhängigkeit von Zuständen zu verändern. Hier ein Beispielfür ein besseres Verständnis zum Thema Kaffeekochen.
Folgende Anweisungen werden beim Kaffeekochen nacheinander ausgeführt:
Filtertüte in den Filter stecken 6 Löffel Kaffeepulver in die Filtertüte einfüllen 1 Liter Wasser in den Wasserbehälter einfüllen Maschine einschalten Warten Maschine ausschalten Kaffee entnehmen
Das ist allerdings eine sehr unvollständige Beschreibung des Ablaufs. In der Praxis werden Abläufe in Abhängigkeit von Zuständen erfolgen und Vorgänge wiederholt. Eine detailliertere Beschreibung des Kaffeekochens sieht so aus:
Wenn noch eine benutzte Filtertüte in der Maschine steckt { Entnimm die Filtertüte Wirf sie in den Müll } Neue Filtertüte aus der Packung nehmen Filtertüte in den Filter stecken Wiederhole 6-mal: { fülle einen Löffel Kaffeepulver in die Filtertüte } 1 Liter Wasser in den Wasserbehälter einfüllen Maschine einschalten Wiederhole: { Warte eine Minute } bis kein Kaffee mehr aus dem Filter tropft Maschine ausschalten Kaffee entnehmen