Lösungsvorschlag Einseitige bedingte Anweisung: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „<pre> //Eine Anweisung um den Code zu verkürzen. Anweisung Umdrehen LinksDrehen LinksDrehen *Anweisung //Um das Problem von einem beliebigen Startpunkt…“)
 
 
Zeile 41: Zeile 41:
  
 
Anweisung Bahn
 
Anweisung Bahn
Wiederhole solange NichtIstWand
+
  Wiederhole solange NichtIstWand
Test
+
      Test
Schritt
+
      Schritt
Test            //Lässt man hier den 2.Test aus, werden Marken vor der Wand ignoriert.
+
      Test            //Lässt man hier den 2.Test aus, werden Marken vor der Wand ignoriert.
*wiederhole
+
  *wiederhole
 
*Anweisung
 
*Anweisung
  
  
 
Programm
 
Programm
PositionEinnehmen
+
  PositionEinnehmen
Wiederhole 4 mal
+
  Wiederhole 4 mal
Bahn
+
      Bahn
LinksDrehen
+
      LinksDrehen
Schritt
+
      Schritt
LinksDrehen
+
      LinksDrehen
Bahn
+
      Bahn
RechtsDrehen
+
      RechtsDrehen
Schritt
+
      Schritt
RechtsDrehen
+
      RechtsDrehen
*wiederhole
+
    *wiederhole
Bahn          //Karol läuft vier mal auf und ab und dann noch eine Bahn bis ans Ziel.
+
    Bahn          //Karol läuft vier mal auf und ab und dann noch eine Bahn bis ans Ziel.
 
*Programm
 
*Programm
 
</pre>
 
</pre>

Aktuelle Version vom 30. März 2014, 09:49 Uhr

//Eine Anweisung um den Code zu verkürzen.
Anweisung Umdrehen
   LinksDrehen
   LinksDrehen
*Anweisung

//Um das Problem von einem beliebigen Startpunkt aus lösen zu können, muss sich 
//Karol erst einmal auf eine Startposition in der Ecke bringen.
Anweisung PositionEinnehmen
   wiederhole 2 mal
      wiederhole solange NichtIstWand
         Schritt
      *wiederhole
      LinksDrehen
   *wiederhole
*Anweisung

//Die Anweisung Test überprüft, ob eine Marke vorhanden ist.
//Wenn Karol dabei nicht vor der Wand steht, geht er einen Schritt weiter, 
//dreht sich um, legt einen Ziegel, dreht sich wieder um und macht weiter.
//Steht er vor der Wand, macht er einen Schritt zurück, legt den Ziegel, 
//stellt sich auf den Ziegel und macht dann weiter.
Anweisung Test
   wenn IstMarke dann
      wenn NichtIstWand dann
         Schritt
         Umdrehen
         Hinlegen
         Umdrehen
      sonst
         Umdrehen
         Schritt
         Umdrehen
         Hinlegen
         Schritt
     *wenn
   *wenn
*Anweisung


Anweisung Bahn
   Wiederhole solange NichtIstWand
      Test
      Schritt
      Test            //Lässt man hier den 2.Test aus, werden Marken vor der Wand ignoriert.
   *wiederhole
*Anweisung


Programm
   PositionEinnehmen
   Wiederhole 4 mal
      Bahn
      LinksDrehen
      Schritt
      LinksDrehen
      Bahn
      RechtsDrehen
      Schritt
      RechtsDrehen
    *wiederhole
    Bahn           //Karol läuft vier mal auf und ab und dann noch eine Bahn bis ans Ziel.
*Programm