HomePage By IzzA
   
  WeLComE To Tha BlinG-ImmIz PagE
  PicZ
 
Schleifen mit Anfangs- oder Endbedingung Wir wissen bereits: Die zweite Algorithmenstruktur ist die Wiederholung (Schleife). Wiederholung: in Abhängigkeit von einer Bedingung wird eine Anweisung oder Anweisungsfolge wiederholt ausgeführt (Schleife) Man unterscheidet zwischen Schleifen mit Anfangsbedingung, Schleifen mit Endbedingung und Zählschleifen. Bei einer Zählschleife legt der Programmierer im Programm fest, wie oft eine Wiederholung durchgeführt wird. Schleifen können verschachtelt werden. Bei der WHILE-Schleife (Schleife mit Anfangsbedingung) wird vor dem ersten Schleifendurchgang geprüft, ob die Schleifenbedingung erfüllt ist. Wenn ja, werden die in der Schleife stehenden Befehle ausgeführt. Andernfalls eben nicht. Es kann also sein, dass eine WHILE-Schleife vollständig übersprungen wird, wenn die Bedingung vor dem ersten Schleifendurchgang nicht erfüllt ist. Die REPEAT-Schleife (Schleife mit Endbedingung) dagegen muss mindestens einmal durchlaufen werden, denn die Schleifenbedingung wird erst am Ende des Durchgangs überprüft. Der Java-Hamster beherrscht neben der FOR-Schleife noch die WHILE-Schleife. Synatx der WHILE-Schleife: Logische Bedingungen, die dem Hamster bekannt und vordefiniert sind, lauten: vornFrei() Liefert wahr, falls der Hamster nicht vor einer Wand steht kornDa() Liefert wahr, falls das Feld, auf dem der Hamster gerade steht, mindestestens ein Korn enthält. maulLeer() Liefert wahr, falls der Hamster kein Korn im Maul hat. Bsp: while ( vornFrei() ) { vor (); } while ( kornDa() ) {nimm(); } oder geschachtelt: while (vornFrei()) { while (kornDa()) ß innere Schleife nimm(); vor(); } An diesem Beispiel sehen Sie auch, dass man keine geschweiften Klammern setzen muss, wenn im Schleifenrumpf nur eine Anweisung steht. Grafische Darstellung der WHILE-Schleife Programmablaufplan Struktogramm Aufgabe 1 Gegeben sind die beiden kleinen Beispielprogramme. Überlegen Sie sich, was diese bewirken. Probieren Sie die Programme an je einem geeigneten Territorium aus. Hatten Sie richtig vermutet? Programm a void main() { while (vornFrei()){ vor(); } } Programm b void main() { while (vornFrei()) { vor();} linksUm(); while (vornFrei()){ vor();} while (!vornFrei()){ linksUm();} } Aufgaben 2 und 3 2. Der Hamster befindet sich in einem beliebig großen, rechteckigen Feld. Er soll alle Körner (beliebige Anzahl auf beliebigen Kacheln) einsammeln und in seinem Bau (rechts oben) ablegen. Endposition: Der Hamster ist in seinem Bau mit Blickrichtung W. (Hinweise: Lassen Sie den Hamster senkrecht die Spalte hinab und wieder hinauf laufen, bearbeiten Sie dann die nächste Spalte… Falls Sie den Befehl solange das Maul nicht leer ist benötigen, er lautet: WHILE (!maulLeer()) Name des Programms: While1 3. Der Hamster läuft eine beliebig hohe Treppe hinauf und wieder hinab. Die Treppenform ist abgebildet, die Anzahl der Stufen beliebig. Neben der Treppe ist jeweils rechts und links noch eine Kachel frei. Endposition: Der Hamster befindet sich rechts unten neben der Treppe mit Blickrichtung W. Zusatz: Der Hamster läuft über die Treppe von rechts nach links zurück. (Hinweis: Der Befehl solange vorn nicht frei ist lautet: WHILE (!vornFrei()) à Spätestens jetzt sollten Sie bemerkt haben, dass mit einem ! logisch verneint wird. Name des Programms: While2
 
   
 
Designed By IzzA Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden