Robot Karol/selbstdefinierte Methoden und Benutzer:PascalHänle/Grundvorstellungen zum Ableitungsbegriff/Die Ableitung als lokale Änderungsrate/Lösungskontrolle: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
< Robot Karol(Unterschied zwischen Seiten)
Markierung: 2017-Quelltext-Bearbeitung
 
KKeine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
Zeile 1: Zeile 1:
Die Fähigkeiten von Karol können durch neue, zusätzliche Methoden erweitert werden.  
{{Box|Aufgabe 1.2 (ca. 15-20 min)|Bestimmen Sie mit welcher Durchschnittsgeschwindigkeit der Porsche in den folgenden Zeitintervallen gefahren ist.


{{Fortsetzung|vorher=Erste Programme|vorherlink=Robot Karol/Erste Programme|
a) zwischen Sekunde 1 und 2 <br /> b) zwischen Sekunde 2 und 3 <br /> c) zwischen Sekunde 3 und 4 <br />  
weiter=Beispiele für Schleifen|weiterlink=Robot Karol/Beispiele für Schleifen|
Überprüfe Sie Ihre Ergebnisse in diesem Applet mit Hilfe [[Benutzer:PascalHänle/Grundvorstellungen zum Ableitungsbegriff/Vorwissen#Die mittlere .C3.84nderungsrate|<u>des geometrischen Zusammenhangs</u>]] der mittleren Änderungsrate und der Sekantensteigung.|Arbeitsmethode
übersicht=Robot Karol}}
 
== Selbstdefinierte Methoden ==
Diese '''selbstdefinierten Anweisungen''' müssen vorher vom Programmierer festgelegt werden. Neue Methoden beginnen stets mit dem Wort <code>Anweisung</code> und dann mit dem '''Bezeichner''' der Methode. Es folgt eine Sequenz von Anweisungen (ein '''Anweisungsblock'''), die beim Aufruf der Methode abgearbeitet werden. Die Festlegung der Methode endet mit dem Schlüsselwort <code>*Anweisung</code>.
 
 
 
'''Beispiel 1:''' Neue Methode '''Umdrehen'''
Anweisung Umdrehen
  LinksDrehen
  LinksDrehen
*Anweisung
 
 
'''Aufgabe:''' Karol soll einen Schritt rückwärts gehen. ''(Die Lösung greift nun auf die Anweisung '''Umdrehen''' zu.)''
Anweisung Umdrehen
  LinksDrehen
  LinksDrehen
*Anweisung
Programm
  Umdrehen
  Schritt
  Umdrehen
*Programm
 
=== Aufgaben ===
 
1. Bringe Karol mittels einer selbstdefinierten Anweisung bei, einen Riesenschritt auf einmal zu vollführen, der so groß wie drei normale Schritte ist.
 
{{Lösung versteckt|
Anweisung Riesenschritt
  Schritt
  Schritt
  Schritt
*Anweisung
Programm
  Riesenschritt
*Programm
}}
}}


2. Schreibe ein Karol-Programm, das ihn dazu bringt immer drei Schritte vorwärts und zwei zurück zu gehen. Nutze dabei die Anweisungen '''Umdrehen''', '''SchrittZurueck''', '''Riesenschritt''' und '''SillyWalk''' (= 3 vor, 2 zurück).
<iframe scrolling="no" title="Kopie von 1.2 Lösungskontrolle " src="https://www.geogebra.org/material/iframe/id/thh3v5ev/width/1536/height/748/border/888888/sfsb/true/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/true/rc/false/ld/false/sdz/true/ctl/false" width="1536px" height="748px" style="border:0px;"> </iframe>
 
{{Lösung versteckt|
Anweisung Umdrehen
LinksDrehen
LinksDrehen
*Anweisung
 
Anweisung SchrittZurueck
Umdrehen
Schritt
Umdrehen
*Anweisung
 
Anweisung Riesenschritt
  Schritt
  Schritt
  Schritt
*Anweisung
 
Anweisung SillyWalK
Riesenschritt
SchrittZurueck
SchrittZurueck
*Anweisung
 
Programm
SillyWalk
SillyWalk
SillyWalk
SillyWalk
*Programm
}}
 
[[Datei:Screenshot Roesselsprung.jpg|right|Screenshot Rösselsprung]]
3. Bringe Karol den Rösselsprung bei, wie ihn die Springerfigur beim Schach ausführt. Erstelle ein Programm, so dass Karol mehrere Rösselsprünge ausführt und nach jedem Sprung eine Marke setzt.
 
{{Lösung versteckt|
Lösungsmöglichkeit 1: Man geht davon aus, dass man ausgehend von der Blickrichtung von Karol vier Methoden benötigt. Wenn Karol sich einmal um 180 Grad dreht, kann er dieselben vier Methoden nutzen.
 
Anweisung linksFlach
  LinksDrehen
  Schritt
  Schritt
  RechtsDrehen
  Schritt
  MarkeSetzen
*Anweisung
Anweisung linksSteil
  LinksDrehen
  Schritt
  RechtsDrehen
  Schritt
  Schritt
  MarkeSetzen
*Anweisung
Anweisung rechtsFlach
  RechtsDrehen
  Schritt
  Schritt
  LinksDrehen
  Schritt
  MarkeSetzen
*Anweisung
Anweisung rechtsSteil
  RechtsDrehen
  Schritt
  LinksDrehen
  Schritt
  Schritt
  MarkeSetzen
*Anweisung
Programm
  MarkeSetzen
  LinksFlach
  RechtsSteil
  LinksSteil
*Programm
 
 
Lösungsmöglichkeit 2: Man geht davon aus, dass Karol mit zwei Methoden auskommt, die er nach einer Drehung um 90 Grad wieder nutzen kann. Hier gibt es wiederum vier Möglichkeiten: Entweder '''rechtsSteil''' und '''rechtsFlach''' bzw. '''linksSteil''' und '''linksFlach'''  , '''rechtsSteil''' und '''linksSteil''' oder '''linksFlach''' und '''rechtsFlach'''.
 
Anweisung linksFlach
  LinksDrehen
  Schritt
  Schritt
  RechtsDrehen
  Schritt
  MarkeSetzen
*Anweisung
Anweisung linksSteil
  LinksDrehen
  Schritt
  RechtsDrehen
  Schritt
  Schritt
  MarkeSetzen
*Anweisung
Programm
  MarkeSetzen
  LinksFlach
  rechtsDrehen
  LinksFlach
  linksDrehen
  LinksSteil
*Programm}}
 
== Parameter ==
Mit Hilfe eines '''Parameters''' oder '''Übergabewertes''' können wir Programme flexibler gestalten, ohne ganze Programmteile neu schreiben zu müssen. Beispielsweise können wir das Programm
 
Schritt
Schritt
Schritt
Hinlegen
Hinlegen
Hinlegen
 
kürzer schreiben als
 
Schritt(3)
Hinlegen(3)
 
Wir übergeben dabei in der Klammer hinter dem Methodenaufruf die Anzahl der Wiederholungen. Neben ''Schritt'' und ''Hinlegen'' kann man auch ''Aufheben'' mit einem Parameterwert verwenden.
 
Weiterhin ist es mit Robot Karol (ab Version 3.0) möglich, den Methoden Hinlegen und MarkeSetzen eine Farbe (rot, gelb, blau und grün) zu übergeben.
 
Beispiel:
Hinlegen(blau)
MarkeSetzen(grün)
 
 
Parameter können auch im Zusammenhang mit selbstdefinierten Anweisungen verwendet werden:
Anweisung Seite(X)
Schritt(X)
LinksDrehen
*Anweisung
Seite(5)
Seite(3)
Seite(5)
Seite(3)
Mit dieser Anweisung können wir Karol ein Rechteck beliebiger Größe bauen lassen, in diesem Fall ein Rechteck der Größe 3x5. Zu beachten ist, dass als Parameter in Anweisungen grundsätzlich '''X''' zu verwenden ist.
 
=== Aufgaben ===
[[Datei:Karol saeulenhalle.jpg|right|Screenshot]]'''Aufgabe 1:''' Karol soll mit Hilfe von selbstdefinierten Anweisungen und Anweisungen mit Parameterwert eine Säulenhalle bauen.
 
{{Lösung versteckt|
Anweisung Säule
  Schritt
  LinksDrehen
  Hinlegen(6)
  RechtsDrehen
  Schritt
*Anweisung
 
Anweisung Seite
  Säule
  Säule
*Anweisung
 
Anweisung Kehre
  Schritt(2)
  LinksDrehen
*Anweisung
 
Programm
  Seite
  Kehre
  Seite
  Kehre
  Seite
  Kehre
  Seite
  Kehre
*Programm
 
 
Alternative Lösung:
 
Anweisung Seite
  Schritt
  LinksDrehen
  Hinlegen(3)
  RechtsDrehen
  Schritt(2)
  LinksDrehen
  Hinlegen(6)
  RechtsDrehen
  Schritt(2)
  LinksDrehen
  Hinlegen(3)
  RechtsDrehen
  Schritt
  LinksDrehen
*Anweisung
 
Programm
  Seite
  Seite
  Seite
  Seite
*Programm}}
 
{{clear}}
[[Datei:Karol treppe.jpg|right|Screenshot]]
'''Aufgabe 2:''' Karol soll mit Hilfe einer selbstdefinierten Anweisung mit Parameterwert eine Treppe bauen.
 
{{Lösung versteckt|
Anweisung Stufe(X)
  Hinlegen(X)
  Schritt
*Anweisung
 
Programm
  LinksDrehen
  Stufe(1)
  Stufe(2)
  Stufe(3)
  Stufe(4)
  Stufe(3)
  Stufe(2)
  Stufe(1)
  Schritt
*Programm
}}
 
{{clear}}
 
{{Fortsetzung|vorher=Erste Programme|vorherlink=Robot Karol/Erste Programme|
weiter=Beispiele für Schleifen|weiterlink=Robot Karol/Beispiele für Schleifen|
übersicht=Robot Karol}}
 
==Quellen==
 
http://www.mirko-hans.de/info/profil/nawi/algo/dateien/Algorithmierung_Robot-Karol.pdf
 
 
[[Kategorie:Robot Karol]]

Version vom 21. August 2019, 08:47 Uhr

Aufgabe 1.2 (ca. 15-20 min)

Bestimmen Sie mit welcher Durchschnittsgeschwindigkeit der Porsche in den folgenden Zeitintervallen gefahren ist.

a) zwischen Sekunde 1 und 2
b) zwischen Sekunde 2 und 3
c) zwischen Sekunde 3 und 4

Überprüfe Sie Ihre Ergebnisse in diesem Applet mit Hilfe des geometrischen Zusammenhangs der mittleren Änderungsrate und der Sekantensteigung.