Einleitung | Einführungsbeispiel | Eingabe, Ausgabe, Variablen | Datentypen | Stukturen | For...EndFor | If...EndIf | Loop...EndLoop | While...EndWhile | Felder | Funktionen | Unterprogramme | Grafikprogrammierung | Index
Programmierkurs 

Die While...EndWhile-Schleife

Dieser Schleifentypus entspricht einer kopfgesteuerten Loop-Schleife und bringt so nicht viel Neues. Die While-Schleife wiederholt einen Anweisungsblock so lange, bis eine Bedingung, die am Schleifenbeginn geprüft wird, wahr ist. Die genaue Syntax dieses Befehls lautet:
 
 
While logische Bedingung
  Anweisungen 
EndWhile

 
 
Beispiel 12 ("Ziffernsumme")
Nachdem der Benutzer eine natürliche Zahl eingegeben hat, soll das Programm die Ziffernsumme berechnen und ausgeben.

Zum Berechnen der Ziffernsumme muss die Zahl fortwährend ganzzahlig durch 10 dividiert werden bis der Quotient Null ergibt, wobei man die dabei entstehenden Reste addiert. Benennen wir die Variable, die die Ziffernsumme enthalten soll mit summe, den jeweils auftretenden Rest mit rest und die natürliche Zahl mit n, sieht die While-Schleife folgendermaßen aus:
 
 

While n > 0
  mod(n, 10) + summe ®summe
  iPart(n / 10) ® n
EndWhile

Es ist zu beachten, dass die Variable summe vor ihrer Verwendung in der Schleife initialisiert; d.h. in diesem Fall auf Null gesetzt werden muss, da es ansonsten zu folgender Fehlermeldung kommt:

Übungsaufgaben

 
  1. Löse Beispiel 12 selbstständig.
[Lösungsvorschlag]

Verschachtelte Schleifen

Wie alle anderen Schleifen lassen sich natürlich auch die While...EndWhile-Schleifen beliebig schachteln; d.h. es ist folgende Struktur zulässig:
 
While
 Anweisungen 
  While
   Anweisungen
  EndWhile
  Anweisungen 
EndWhile

Übungsaufgaben

 
  1. Formuliere Beispiel 12 mit Hilfe einer weiteren While-Schleife so, dass das Programm so lange wiederholt wird, bis der Benutzer die -Taste drückt.
[Lösungsvorschlag]

 
 
 



Mail an den Autor, Karl.Weinstich@theresianum.ac.at