4.8.3 Die while-Schleife
 
Nochmal das Sechseck Die while-Schleife, düfte die Schleifenart sein, die am häufigsten verwendet wird. In sie lassen sich auch meist die anderen Schleifengattungen leicht übersetzen. Die while-Schleife unterscheidet sich von der do-while - Schleife inhaltlich und formal dadurch, dass die Kontrolle über die Schleife vom Ende an den Kopf also vor den Schleifenkörper rutscht (siehe auch das Struktogramm der while-Schleife). Dass das nicht blind gemacht werden darf, zeigt die dritte Variante unseres Sechseckes:
 
Download:
Sechseck3.java
public void zeichne() {
  while (t1.getOrientation() != 90){
    t1.forward(100);
    t1.right(60);
  }
}
  Kompiliert man das neue Programm und lässt es laufen, so bewirkt das Klicken auf den Zeichne!-Button absolut nichts. Warum? Nun, nachdem eine Turtle erzeugt wird, befindet sie sich standardmäßig im Ursprung und zeigt nach 'Norden', ihr Orientierungswinkel ist also 900. Die Bedingung

t1.getOrientation() != 90

ist demnach nicht erfüllt und der Schleifenkörper wird sofort übergangen.
 

Muster Eine 'Spirale' erhalten wir, wenn man die Turtle nach jedem Schritt im rechten Winkel abbiegen lässt und dabei die Schrittlänge, die ursprünglich 100 betrug jedes mal um 10% kürzt. Dieser Vorgang hört mathematisch gesehen nie auf, wir brechen ihn also ab, wenn die Schrittlänge 5 unterschritten hat.
 
Download:
Muster,java
   public void zeichne() {
       double schritt = 150;
       while (schritt >=5){
          t1.forward(schritt);
          t1.right(90);
          schritt *= 0.9;
       }
    }

zu 4.8.4 Übungen
zur Startseite www.pohlig.de  (C) MPohlig 2004