Drucken

if - else - Struktur


Programmverzweigungen auf Grund von bestimmten Bedingungen gehören zur Grundstruktur jeder Programmiersprache. Die Anweisungen nach if werden nur ausgeführt, falls die Bedingung erfüllt ist, sonst werden die Anweisungen nach else ausgeführt.

Im ersten Beispiel werden 20 Treppen gezeichnet, wobei jede ungerade Treppenstufe rot und jede gerade grün gezeichnet werden soll. Ob die Zahl i gerade oder ungerade ist, kann man mit der Modulodivision durch 2 überprüfen. Ist das Ergebnis der Modulodivision 0 (i % 2 == 0), ist die Zahl gerade, sonst ungerade.

Source mit Online-Compiler bearbeiten

App installieren auf Smartphone oder Tablet

QR-Code

Download sources (Tu6.zip)

// Tu6.java

package app.tu6;

import turtle.*;

public class Tu6 extends Playground
{
  public void main()
  {
    setPos(-195-195);
    setPenWidth(3);
    for (int = 0; i < 13; i++)
    {
      if (i % == 0)
        setPenColor(RED);
      else
        setPenColor(GREEN);      
      fd(30).rt(90).fd(30).lt(90);
    }
  }
}
 

Erklärungen zum Programmcode:

if (i % 2 == 0)

Neben den Rechenoperationen +, -, * und / wird beim Programmieren häufig die so genannte Modulo-Division % benutzt. Diese liefert den Rest aus der Ganzzahldivision.
Bedingungen werden mit Hilfe von Vergleichsoperatoren angeben:
>, >= , < , <= , == , !=
Achtung: Gleichheitsoperator == wird immer mit zwei Gleichheitszeichen geschrieben

setPos(-195, -195)

Die Turtle wird in die linke untere Ecke positioniert

setPenWidth(3)

Die Turtle zeichnet 3 Pixel dicke Linien



Beispiel 2: Liniengrafik mit zwei Farben

Source mit Online-Compiler bearbeiten

App installieren auf Smartphone oder Tablet

QR-Code

Download sources (Tu6a.zip)

// Tu6a.java

package app.tu6a;

import turtle.*;

public class Tu6a extends Playground
{
  public void main()
  {
    for (int = -200; i <= 200; i = + 10)
    {
      if (i < 0)
        setPenColor(RED);
      else
        setPenColor(GREEN);
      
      setPos(0, 200);
      moveTo(i, -200);
    }
  }
}
 

Erklärungen zum Programmcode:

for (int i = -200; i <= 200; i = i + 10)

i = i + 10: nach jedem Schleifendurchlauf wird i um 10 vergrössert.
Kurz kann man auch nur i += 10 schreiben

setPos(0, 200)

Die Turtle beginnt jede Linie im Punkt (0, 200) zu zeichnen

moveTo(i, -200)

Bewegt die Turtle von der aktuellen Position zum Punkt mit den Koordinaten (i, -200), wobei i die Werte (-200, -190. -180.... 200) annehmen kann.



Mehrfache Auswahl


Es können auch mehrere Bedingungen nacheinander überprüft werden. In unserem Beispiel ist die Stiftfarbe zuerst rot, dann grün und für die letzten Quadrate gelb. Die Methode fill() füllt mit der Stiftfarbe die geschlossene Fläche, in der sich die Turtle befindet.

Source mit Online-Compiler bearbeiten

App installieren auf Smartphone oder Tablet

QR-Code

Download sources (Tu7.zip)

// Tu7.java

package app.tu7;

import turtle.*;

public class Tu7 extends Playground
{
  public void main()
  {
    setPos(-195-195);
    for (int = 0; i < 13; i++)
    {
      if (i < 4)
        setPenColor(RED);
      else
        if (i < 8)
          setPenColor(GREEN);
        else
          setPenColor(YELLOW);

      for (int = 0; k < 6; k++)
        fd(30).rt(90);
      rt(45).fd(4).fill();
      bk(4).rt(135);
    }
  }
}
 


Erklärungen zum Programmcode:

rt(45).fd(4).fill()

Um die Quadrate fortlaufend zu füllen, bewegt sich die Turtle jeweils unter dem Winkel von 45° um eine kurze Strecke hinein, färbt das Qudrat und geht anschliessend an die Ausgangsposition zurück