faecher:informatik:mittelstufe:bauernhof:ab5: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:ab5:start [16.06.2024 10:32] – [Leveltest 5: Gemüsebauernprüfung] Marco Kuemmelfaecher:informatik:mittelstufe:bauernhof:ab5:start [26.02.2025 08:47] (aktuell) Marco Kuemmel
Zeile 9: Zeile 9:
 </callout> </callout>
  
-Unsere Figuren haben nur eine beschränkte Anzahl von Methoden, die die Umwelt der Figur wahrnehmen (z.B. ''istVorneFrei()'', ''istVorne("Wasser")''). In diesem Arbeitsblatt lernstdu neue (komplexere) Sensoren selbst zu erstellen. Schaue dir dazu die Methode ''istAufLeeremAcker()'' des AB5_Bauer an. Im Gegensatz zu den Methoden, die du bisher implementiert hast, gibt diese eine Antwort zurück (wie z.B. auch ''istVorneFrei()'').+Unsere Figuren haben nur eine beschränkte Anzahl von Methoden, die die Umwelt der Figur wahrnehmen (z.B. ''istVorneFrei()'', ''istVorne("Wasser")''). In diesem Arbeitsblatt lernst duneue (komplexere) Sensoren selbst zu erstellen. Schaue dir dazu die Methode ''istAufLeeremAcker()'' des AB5_Bauer an. Im Gegensatz zu den Methoden, die du bisher implementiert hast, gibt diese eine Antwort zurück (wie z.B. auch ''istVorneFrei()'').
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
Zeile 24: Zeile 24:
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
 === (A3) Erntebereit === === (A3) Erntebereit ===
-Reife Tomaten kann man mit ''ernte("Tomate");'' abernten. Damit dabei kein Fehler passiert, muss man testen, ob man überhaupt auf einer Tomate steht und ob diese reif ist. Den Reifegrad kann man mit ''pruefe("Tomate")'' bestimmen. Hat er den Wert 100, kann die Tomate geerntet werden. +Reife Tomaten kann man mit ''ernte("Tomate");'' abernten. Damit dabei kein Fehler passiert, muss man testen, ob man überhaupt auf einer Tomate steht und ob diese reif ist. Den Reifegrad kann man mit ''pruefe("Tomate")'' bestimmen. Hat er den Wert 100, kann die Tomate geerntet werden (Tipp: nutze ''=='' zum Prüfen des Werts) \\
 **Implementiere die Methode ''boolean istAufReiferTomate()'', die diesen Test vornimmt.**  **Implementiere die Methode ''boolean istAufReiferTomate()'', die diesen Test vornimmt.** 
  
Zeile 31: Zeile 31:
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
-=== (A4) Gießen ===+=== (A4) Gießen===
 Die Tomaten wachsen leider nicht so leicht wie Gras. Tomaten haben einen sehr hohen Wasserbedarf. Daher muss man sie mit ''benutze("Giesskanne")'' gießen. Vorher sollte man aber prüfen, ob man auf einer Tomate steht und sie Wasser benötigt (''pruefe("Tomate")'' liefert dann den Wert -1). \\ Die Tomaten wachsen leider nicht so leicht wie Gras. Tomaten haben einen sehr hohen Wasserbedarf. Daher muss man sie mit ''benutze("Giesskanne")'' gießen. Vorher sollte man aber prüfen, ob man auf einer Tomate steht und sie Wasser benötigt (''pruefe("Tomate")'' liefert dann den Wert -1). \\
-**Implementiere die Methode ''boolean istAufDurstigerTomate()'', die diesen Test vornimmt.**+**Implementiere die Methode ''boolean istAufDurstigerTomate()'', die diesen __Test__ vornimmt.** (Es soll nicht gegossen werden.)
  
  
Zeile 80: Zeile 80:
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
 === (A9) Positionslauf === === (A9) Positionslauf ===
-Implementiere eine Methode ''laufeBisY(int y)'', die den Bauern so lange vorwärts gehen lässt, wie die durch den Parameter angegebene y-Koordinate (''getY()''noch nicht erreicht ist. Du kannst davon ausgehen, dass die angegebene y-Koordinate vor dem Bauern liegt und er sich dafür nicht drehen muss. Teste deine Methode. Welche Art von Parameter erwartet sie?+Implementiere eine Methode ''laufeBisY(int y)'', die den Bauern so lange vorwärtsgehen lässt, wie die durch den Parameter angegebene y-Koordinate noch nicht erreicht ist (das kannst du mit ''getY()'' überprüfen). Du kannst davon ausgehen, dass die angegebene y-Koordinate vor dem Bauern liegt und er sich dafür nicht drehen muss. Teste deine Methode. Welche Art von Parameter erwartet sie?  
 + 
 +**Tipp zum Testen:** In der Informatik haben Koordinatensysteme ihren Ursprung (0|0) immer links oben. Nach rechts und nach unten werden die x- und y-Koordinaten größer.
  
 Für Experten: Drehe den Bauer zusätzlich zunächst in die richtige Richtung.  Für Experten: Drehe den Bauer zusätzlich zunächst in die richtige Richtung. 
Zeile 103: Zeile 105:
   * ''int getAnzahl(String name)'' - Gibt die Anzahl der Gegenstände vom Typ name zurück, die der Bauer mit sich herumträgt.   * ''int getAnzahl(String name)'' - Gibt die Anzahl der Gegenstände vom Typ name zurück, die der Bauer mit sich herumträgt.
 </callout> </callout>
 +
 +<callout>
 +
 +{{:tipp.png?nolink  |}}
 +=== Tipps ===
 +
 +++++ Vorschlag, wie der Algorithmus ablaufen könnte |
 +
 +  - Schnapp dir gleich zu Beginn die Gießkanne neben dir.
 +  - Laufe direkt bis runter zum Feld.
 +  - Laufe nach links und pflanze dabei auf allen 4 Feldern die Tomaten (Tipp: Schleife).
 +  - Wenn du nun links unter dem Brunnen stehst, bietet sich eine **große Schleife** an (bis du 20 Tomaten hast), da jetzt immer nur noch folgende Dinge wiederholt werden müssen:
 +    - Fülle die Gießkanne und laufe anschließend nach rechts über die 4 Felder zurück. Gieße dabei (wenn möglich) und ernte dabei (wenn möglich).
 +    - Gehe zurück zum Stall und mache eine Vesperpause.
 +    - Gehe runter zum rechten Brunnen und fülle die Gießkanne.
 +    - Gehe noch eins runter zum Feld und laufe anschließend nach links über die 4 Felder. Gieße dabei (wenn möglich) und ernte dabei (wenn möglich).
 +    - Nun bist du wieder am Anfang der großen Schleife unter dem linken Brunnen und alles wiederholt sich
 +
 +++++
 +</callout>
 +
 +<btn>[[..:ab4:start|<<< Zurück zu Level 4]]</btn>  **AB05**  <btn>[[..:ab6:start|Weiter zu Level 6 >>> ]]</btn>
  • faecher/informatik/mittelstufe/bauernhof/ab5/start.1718533952.txt.gz
  • Zuletzt geändert: 16.06.2024 10:32
  • von Marco Kuemmel