Jugendwettbewerb für Informatik?
Hey ich sitze schon circa einer halben Stunde an der Aufgabe falls jemand eine Idee hat was ich falsch gemacht habe gerne schreiben. Danke schon Ma im Voraus
2 Antworten
Der falls-Block der überprüft ob ein Hindernis oben ist darf nicht im sonst von der Überprüfung ob rechts ein Hindernis ist sein.
Die Komplette Lösung wo dieser jetzt hingehört müsstest du schon selber herausfinden können, aber bei solchen Problemen sollte man generel Versuchen nachzuvollziehen was der eigene Code/Blöcke gerade macht. Rechts siehst du ja da die gehe nach unten Anweisung ausgelöst wurde (sieht man an der umrandung) und nun muss man nachvollziehen warum diese ausgelöst wurde.
Dort muss nichts unbedingt rein. Aber damit es vor allem am Ende klappt muss der block gehe nach rechts dorthin. Nach der jetzigen Logik würde in jedem Durgang der Schleife der Roboter Nach rechts gehen, allerdings ist am Ende ein stück wo dieser zweimal nach oben muss was mit der jetzigen Logik noch nicht geht.
Wenn rechts ein Hindernis ist, dann speichere dir, in welche Richtung du danach gegangen bist um auszuweichen. Falls nämlich weder oben noch unten ein Hindernis ist tut dein Algorithmus nichts.
Außerdem musst du noch den Fall behandeln, dass du in eine Sachgasse geraten bist.
Irgendwo sollte es einen Variablen-Block geben.
Wenn nicht, dann machst du es anders, dann löse das mit Rekursion (dann speicherst du den Zustand quasi implizit auf dem Programstack).
Nein es gibt nur die Blöcke zur Auswahl die auf dem Bild sind
Dann wird die Aufgabenstellung wohl so formuliert sein, dass es sich damit lösen lässt.
Du könntest beispielsweise versuchen solange in eine Richtung zu gehen bis rechts wieder ein Feld frei ist, auf das du gehen kannst.
Es dürfte aber keine Sackgassen geben, sonst dürfte das ganze mit den gegebenen Blocks nicht allgemein sinnvoll lösbar sein (man könntes es zwar immernoch mit Tricks lösen, aber nicht so, wie wohl gedacht).
Hey danke für deine Antwort ich habe den falls Block jetz hoch zu dem anderen falls Block aber was kommt dann bei sonst rein