Robot Karol: Türme und Treppen bauen: Unterschied zwischen den Versionen

Aus MINT.lentner.net
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
 
===Version 1: Anweisungen durch zusätzliche Angaben variieren - Parameter===
 
===Version 1: Anweisungen durch zusätzliche Angaben variieren - Parameter===
  
[[Datei: karoltreppe0.png |thumb|250px|Treppen und Türme bauen]]
+
[[Datei: karoltreppe1.png |thumb|links|250px|verschieden hohe Türme bauen]]
 +
 
 +
Wir wollen jetzt verschieden hohe Türme bauen. Dazu geben wir einer Anweisung '''BauTurm''' zusätzlich die Info mit, wie viele Ziegel der Turm hoch sein soll: Aus '''BauTurm''' wird '''BauTurm(4)'''.
 +
 
 +
In der Definition der Anweisung muss ein Platzhalter stehen. Den darf man frei wählen.
 +
 
 +
<br style="clear:left; ">
  
 
  Anweisung BauTurm(X)
 
  Anweisung BauTurm(X)
Zeile 10: Zeile 16:
 
       Hinlegen
 
       Hinlegen
 
   *wiederhole
 
   *wiederhole
  *Anweisung
+
  *Anweisung<br>
 +
BauTurm(4)
 +
LinksDrehen
 +
BauTurm(3)
 +
 
 +
<br style="clear:left; ">
 +
 
 +
===Version 2: Eine Treppe fester Höhe bauen===
 +
 
 +
[[Datei: karoltreppe2.png |thumb|links|250px|eine Treppe bauen]]
 +
 
 +
Nachdem wir jetzt beliebige Türme bauen können, wollen wir das jetzt gleich anwenden, indem wir eine Treppe bauen.
 +
 
 +
'''Aufgabe:''' Es ist ziemlich knifflig, einen Treppenbau beliebiger Höhe als Anweisung zu entwerfen, weil man sich in dieser Programmiersprache keine ''"Zahlen merken kann"''.
 +
 
 +
<br style="clear:left; ">
  
 +
Anweisung BauTurm(X)
 +
  wiederhole X mal
 +
      Hinlegen
 +
  *wiederhole
 +
*Anweisung<br>
 
  Anweisung BauTreppe8
 
  Anweisung BauTreppe8
 
   BauTurm(1) Schritt
 
   BauTurm(1) Schritt
Zeile 27: Zeile 53:
 
   LinksDrehen
 
   LinksDrehen
 
   LinksDrehen
 
   LinksDrehen
  *Anweisung
+
  *Anweisung<br>
 +
BauTreppe8
  
wiederhole 4 mal
+
<br style="clear:left; ">
  BauTreppe8
 
  LinksDrehen
 
  Schritt
 
  RechtsDrehen
 
*wiederhole
 
 
 
 
 
[[Datei: karolbad1.png |thumb|links|250px|Einfach nur alle Handgriffe kopieren]]
 
 
 
Im Programmierfenster links kannst Du Karol Anweisungen geben. Bist Du schnell im Schreiben, dann kannst Du einfach '''Schritt''' schreiben, '''LinksDrehen''', u.s.w. und ein Knopfdruck auf den ''Playbutton'' startet Karol. Karol baut jetzt für Dich nach Deinen Anweisungen. Du kannst auch mit der ''rechten Maustaste'' Befehle auswählen und einfügen, ohne sie zu schreiben.
 
  
Jetzt kannst Du immer wieder ''starten'' und Karol bei der ''selbstständigen Arbeit'' zusehen.
+
===Version 3: Eine breitere Treppe bauen===
  
Mit den '''Short-Cuts <Strg>+<X>, <Strg>+<C> und <Strg>+<V>''' kannst Du ganze Textblöcke einfach kopieren und sparst Dir viel Schreibarbeit.
+
[[Datei: karoltreppe3.png |thumb|links|250px|eine breitere Treppe bauen]]
  
'''Tipp:''' Probier' mal, den ganzen Textblock des Programms unten nochmal 5x zu kopieren, dann baut Karol ein '''5 Reihen hohes Schwimmbad'''!
+
Wenn wir jetzt die Anweisung nebeneinander mehrmals benutzen, können wir breitere Treppen bauen.
  
'''Aber:''' Du sagst ja Deinem Lehrling auch nicht 100x '''"Gehe einen Schritt!"''' (eher sagst Du genervt, ''"Das hab ich Dir doch schon 100x gesagt"''. Sondern Du sagst, '''"Gehe 100 Schritte!"''' Kann man Karol auch sagen, dass er etwas 100x machen soll?
+
'''Aufgabe:''' Kannst Du eine Anweisung schreiben, die beliebig breite Treppen baut?.  
  
 
<br style="clear:left; ">
 
<br style="clear:left; ">
  
  //Westseite
+
  Anweisung BauTurm(X)
Hinlegen
+
  wiederhole X mal
  Schritt
+
      Hinlegen
  Hinlegen
+
  *wiederhole
Schritt
+
  *Anweisung<br>
Hinlegen
+
  Anweisung BauTreppe8
Schritt
+
  BauTurm(1) Schritt
Hinlegen
+
  BauTurm(2) Schritt
Schritt
+
  BauTurm(3) Schritt
LinksDrehen
+
  BauTurm(4) Schritt
//Südseite
+
  BauTurm(5) Schritt
Hinlegen
+
  BauTurm(6) Schritt
Schritt
+
  BauTurm(7) Schritt
Hinlegen
+
  BauTurm(8) Schritt
Schritt
+
  LinksDrehen
Hinlegen
+
  LinksDrehen
Schritt
+
  Schritt Schritt Schritt Schritt
Hinlegen
+
  Schritt Schritt Schritt Schritt
Schritt
+
  LinksDrehen
LinksDrehen
+
  LinksDrehen
//Ostseite
+
  *Anweisung<br>
Hinlegen
+
  BauTreppe8 LinksDrehen Schritt RechtsDrehen
Schritt
+
  BauTreppe8 LinksDrehen Schritt RechtsDrehen
Hinlegen
+
  BauTreppe8 LinksDrehen Schritt RechtsDrehen
Schritt
+
  BauTreppe8 LinksDrehen Schritt RechtsDrehen
  Hinlegen
+
  BauTreppe8
  Schritt
+
  RechtsDrehen
  Hinlegen
+
  Schritt Schritt Schritt Schritt
  Schritt
 
  LinksDrehen
 
  //Nordseite
 
  Hinlegen
 
  Schritt
 
Hinlegen
 
Schritt
 
Hinlegen
 
Schritt
 
Hinlegen
 
Schritt
 
 
  LinksDrehen
 
  LinksDrehen
  
 
<br style="clear:left; ">
 
<br style="clear:left; ">

Aktuelle Version vom 17. April 2021, 19:17 Uhr

>>> zurück zur Übersicht von Robot Karol


Version 1: Anweisungen durch zusätzliche Angaben variieren - Parameter

verschieden hohe Türme bauen

Wir wollen jetzt verschieden hohe Türme bauen. Dazu geben wir einer Anweisung BauTurm zusätzlich die Info mit, wie viele Ziegel der Turm hoch sein soll: Aus BauTurm wird BauTurm(4).

In der Definition der Anweisung muss ein Platzhalter stehen. Den darf man frei wählen.


Anweisung BauTurm(X)
  wiederhole X mal
     Hinlegen
  *wiederhole
*Anweisung
BauTurm(4) LinksDrehen BauTurm(3)


Version 2: Eine Treppe fester Höhe bauen

eine Treppe bauen

Nachdem wir jetzt beliebige Türme bauen können, wollen wir das jetzt gleich anwenden, indem wir eine Treppe bauen.

Aufgabe: Es ist ziemlich knifflig, einen Treppenbau beliebiger Höhe als Anweisung zu entwerfen, weil man sich in dieser Programmiersprache keine "Zahlen merken kann".


Anweisung BauTurm(X)
  wiederhole X mal
     Hinlegen
  *wiederhole
*Anweisung
Anweisung BauTreppe8 BauTurm(1) Schritt BauTurm(2) Schritt BauTurm(3) Schritt BauTurm(4) Schritt BauTurm(5) Schritt BauTurm(6) Schritt BauTurm(7) Schritt BauTurm(8) Schritt LinksDrehen LinksDrehen Schritt Schritt Schritt Schritt Schritt Schritt Schritt Schritt LinksDrehen LinksDrehen *Anweisung
BauTreppe8


Version 3: Eine breitere Treppe bauen

eine breitere Treppe bauen

Wenn wir jetzt die Anweisung nebeneinander mehrmals benutzen, können wir breitere Treppen bauen.

Aufgabe: Kannst Du eine Anweisung schreiben, die beliebig breite Treppen baut?.


Anweisung BauTurm(X)
  wiederhole X mal
     Hinlegen
  *wiederhole
*Anweisung
Anweisung BauTreppe8 BauTurm(1) Schritt BauTurm(2) Schritt BauTurm(3) Schritt BauTurm(4) Schritt BauTurm(5) Schritt BauTurm(6) Schritt BauTurm(7) Schritt BauTurm(8) Schritt LinksDrehen LinksDrehen Schritt Schritt Schritt Schritt Schritt Schritt Schritt Schritt LinksDrehen LinksDrehen *Anweisung
BauTreppe8 LinksDrehen Schritt RechtsDrehen BauTreppe8 LinksDrehen Schritt RechtsDrehen BauTreppe8 LinksDrehen Schritt RechtsDrehen BauTreppe8 LinksDrehen Schritt RechtsDrehen BauTreppe8 RechtsDrehen Schritt Schritt Schritt Schritt LinksDrehen