Frage von lars00034, 31

Hat jemand dafür die Lösung von dem Niki der Roboter Arbeitsfeld?

Antwort
von dosenbiiir, 6

Das ist echt nicht schwer ;)
Am anfang muss der Roboter einen Vorwärts gehen um an den äußeren Kreis zu gelangen. Dann einmal nach rechts drehen.
Dein Roboter soll solange gerade aus gehen, wie sich links neben ihn eine Wand befindet, sobald er keine Wand mehr neben sich hat, dreht er sich nach links und geht ein vor, nun hat er wieder die Wand neben sich und das ganze wiederholt sich von vorne. Nach jedem Schritt nach vorne muss der Roboter noch überprüfen ob Müll auf dem Boden liegt und wenn ja soll er es aufheben. Damit er auch mehre aufhebt, macht man die Abfrage in einer While-Schleife, sodass Niki solange Müll auf einem Feld aufhebt, wie vorhanden ist.
Ich habe dir mal eben eine mögliche Lösung programmiert. So wie es beim programmieren immer ist, gibt es viele verschiedene Möglichkeiten.

PROGRAM Muell;

procedure geradeaus;
BEGIN
WHILE platz_belegt DO nimm_auf;
vor;
END;

procedure durchlauf;
BEGIN
vor;
WHILE NOT links_frei DO geradeaus;
drehe_links;

END;

BEGIN
durchlauf;
durchlauf;
durchlauf;
durchlauf;
durchlauf;
durchlauf;
vor;
END.

Soll sich Niki am Ende wieder nach links schauen, musst du Ihn am Ende des Codes nach "vor;" 2 mal nach links drehen.

Liebe Grüße,

Dosenbiiir

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten