faecher:informatik:mittelstufe:bauernhof:ab4:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:mittelstufe:bauernhof:ab4:start [12.06.2024 09:44] Marco Kuemmelfaecher:informatik:mittelstufe:bauernhof:ab4:start [12.02.2025 13:20] (aktuell) Marco Kuemmel
Zeile 34: Zeile 34:
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
 === (A2) Gerade aus oder drehen === === (A2) Gerade aus oder drehen ===
-Implementiere eine Methode, die das Schaf einen Schritt nach vorne machen lässt, wenn dies möglich ist. Andernfalls soll es sich in die freie Richtung drehen. +Implementiere eine Methode, die das Schaf einen Schritt nach vorne machen lässt, wenn dies möglich ist. Andernfalls soll es sich in die freie Richtung drehen.
  
-Hinweis: Du kannst entweder zwei Verzweigungen ineinander verschachteln oder die Methode von Aufgabe 1 nutzen.\\ \\+**Hinweis:** Du kannst entweder zwei Verzweigungen ineinander verschachteln oder die Methode von Aufgabe 1 nutzen.\\ \\
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
Zeile 42: Zeile 42:
 Die Schafe sollen gemäß den Regeln von Aufgabe 2 laufen, bis sie im Stall ankommen. Sie sind solange nicht im Stall, wie die x-Koordinate nicht 7 oder die y-Koordinate nicht 3 ist. Teste diese Methode an allen vier Schafen. Eines kommt nicht an. Warum? Die Schafe sollen gemäß den Regeln von Aufgabe 2 laufen, bis sie im Stall ankommen. Sie sind solange nicht im Stall, wie die x-Koordinate nicht 7 oder die y-Koordinate nicht 3 ist. Teste diese Methode an allen vier Schafen. Eines kommt nicht an. Warum?
  
-Hinweis: Zusammengesetzte Bedingungen kann man mit ''&&'' (= und) bzw. ''||'' (=oder) formulieren. \\ \\+**Hinweise:**  
 +  - Zusammengesetzte Bedingungen kann man mit ''&&'' (= und) bzw. ''||'' (=oder) formulieren.  
 +  - Die Methode ''getX()'' liefert dir die aktuelle X-Koordinate zurück (für die y-Koordinate entsprechend).
  
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
 === (A4) Zurück in den Stall 2 === === (A4) Zurück in den Stall 2 ===
-Ergänze die Methode von Aufgabe 3 so, dass die Schafe alles Gras fressen, was unterwegs wächst. \\ \\+Ergänze die Methode von Aufgabe 3 so, dass die Schafe alles Gras fressen, was unterwegs wächst. \\  
 +**Tipp:** Gras mit einem Wert ''> 1'' kann gegessen werden. ''pruefe("Gras")'' liefert dir den aktuellen Gras-Wert. \\ \\
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
Zeile 82: Zeile 85:
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
 === Aufgabe === === Aufgabe ===
-Das eine Schaf kommt mit der Strategie von den Aufgaben 1-3 nicht in den Stall, sondern läuft immer im Kreis. Eine Strategie den Ausgang in einem Irrgarten zu finden, ist die linke Hand an eine Wand zu legen und dann immer an dieser Wand so entlang zu laufen, dass die Hand an der Wand bleibt. Ist der Irrgarten so gebaut, dass man nicht im Kreis laufen kann, so findet man auf diese Weise garantiert den Ausgang. Man kann dabei in die folgenden drei Situationen gelangen:\\+{{ :faecher:informatik:mittelstufe:bauernhof:ab4:ab4_leveltest_level.png?400|}} 
 +Das eine Schaf kommt mit der Strategie von den Aufgaben 1-3 nicht in den Stall, sondern läuft immer im Kreis. Eine Strategie den Ausgang in einem Irrgarten zu finden, ist die linke Hand an eine Wand zu legen und dann immer an dieser Wand so entlang zu laufen, dass die Hand an der Wand bleibt. Ist der Irrgarten so gebaut, dass man nicht im Kreis laufen kann, so findet man auf diese Weise garantiert den Ausgang. Das bedeutet, dass du also immer wieder einen Schritt weiterläufst, solange du noch nicht am Stall angekommen bist (der befindet sich weiterhin bei x = 7 und y = 3). 
 + 
 +Man kann beim Weiterlaufen in die unten aufgeführten drei Situationen gelangen.\\
 Überlege dir, wie man erkennen kann, in welcher der drei Situationen das Schaf ist. Es gibt neben ''istVorneFrei()'' auch die Methoden ''istRechtsFrei()'' und ''istLinksFrei()''. Überlege dir, wie man erkennen kann, in welcher der drei Situationen das Schaf ist. Es gibt neben ''istVorneFrei()'' auch die Methoden ''istRechtsFrei()'' und ''istLinksFrei()''.
 +
 +Hinweis 1: Am Anfang muss man natürlich erst mal noch einen Zaun finden, also so lange nach vorne laufen, bis man einen gefunden hat und sich dann so drehen, dass er auf der linken Seite ist.
 +
 +Hinweis 2: Unterwegs sollte man genügend trinken und fressen (sowohl Gras als auch Blumen).
 +{{ :faecher:informatik:mittelstufe:bauernhof:ab4:ab4_leveltest_entscheidung.png?800 |}}
 +</callout>
 +
 +<callout type="info">
 +=== Zusammenfassung ===
 +Du kannst Verzweigungen in Algorithmen nutzen, im Quelltext erkennen und formulieren. Du kennst die Schreibweise dieser Entscheidungs-Anweisung mit dem Schlüsselwort ''if'' und der Prüfbedingung im runden Klammerpaar dahinter.
 </callout> </callout>
  
 +{{:faecher:informatik:mittelstufe:bauernhof:ab4:ab4_leveltest_code.png?400 |}}
 +Manchmal ist im SONST-Fall nichts zu tun. Dann entfällt der Teil ab ''else''. Du kannst die Antworten der Ja/Nein-Abfragen wie ''istVorneFrei()'' als Prüfbe­dingung in einer Entscheidung nutzen, auch in ihrer negierten Form wie bei: ''if (!istVorneFrei()) {...}''. Dies wird gelesen als: „Falls NICHT vorne frei ist...“ oder „Falls vorne frei falsch ist...“ oder „Falls vorne nicht frei ist...“. Die Verneinung NICHT wird durch das Ausrufezeichen ''!'' geschrieben. Die Begriffe Verzweigung, Entscheidungsanweisung und auch Alternative werden gleich­wertig ge­nutzt. \\ \\ \\ \\ \\ \\ \\
 <btn>[[..:ab3:start|<<< Zurück zu Level 3]]</btn>  **AB04**  <btn>[[..:ab5:start|Weiter zu Level 5 >>> ]]</btn> <btn>[[..:ab3:start|<<< Zurück zu Level 3]]</btn>  **AB04**  <btn>[[..:ab5:start|Weiter zu Level 5 >>> ]]</btn>
  
  • faecher/informatik/mittelstufe/bauernhof/ab4/start.1718185468.txt.gz
  • Zuletzt geändert: 12.06.2024 09:44
  • von Marco Kuemmel