Übungen
Aufgabe 1 - Zwei PowerUps übrig lassen
Argo fliegt zu einem Asteroiden. Unterwegs liegt eine unbekannte Anzahl von PowerUps. Schreibe ein Programm, damit Argo die ersten beiden PowerUps liegen lässt und ab dem Dritten alle PowerUps aufsammelt.
Dein Programm soll die Aufgabe für verschiedene Welten lösen können. Auf dem Startfeld von Argo ist niemals ein PowerUp. Hier sind 3 Welten vorgegeben, an denen du dein Programm testen kannst.
Wenn du auf die 3 Striche im Programmfenster klickst (das Burger-Icon), dann kannst du die Konsolenausgabe öffnen. Dort werden dir im Debug-Modus die aktuellen Werte deiner Variablen angezeigt.Benötigst du Hilfe?
Fliege zunächst zum Asteroiden und zähle dabei die PowerUps.
Aufgabe 2 - PowerUp nach unten bringen
Argo steht vor einer Asteroidenkette. Auf dieser Kette liegt ein PowerUp. Schreibe ein Programm, damit Argo das PowerUp an die gleiche Stelle nach unten bringt.
Hier sind 3 Welten vorgegeben, an denen du dein Programm testen kannst.
Benötigst du Hilfe?
Fliege zunächst zum PowerUp und zähle dann die Entfernung zum Rand. Denke auch wieder an den Debug-Modus zur Analyse deines Programms.
Aufgabe 3 - Mittig Parken
Argo steht vor einer Asteroidenreihe. Schreibe ein Programm, damit Argo in die Mitte der Reihe fliegt.
Wenn es keine genaue Mitte gibt, dann soll Argo trotzdem möglichst mittig stehen bleiben. Hier sind 3 Welten vorgegeben, an denen du dein Programm testen kannst.
Benötigst du Hilfe?
Zähle zuerst die Länge der Reihe!
Aufgabe 4 - Gutes Versteck
Argo steht in der Mitte vor einem Asteroidenschwarm mit zwei Gängen. Schreibe ein Programm, damit Argo Schutz im tieferen Gang sucht. Sind die Gänge gleich tief, so sucht sich Argo den oberen Gang aus.
Hier sind 3 Welten vorgegeben, an denen du dein Programm testen kannst.
Benötigst du Hilfe?
Zähle beide Gangtiefen und entscheide dann, wo dein Versteck ist.
Aufgabe 5 - Was fehlt?
Wir betrachten im Folgenden einen Variablenzustand vorher, dann eine oder mehrere Zuweisungen und zuletzt den Variablenzustand nachher. Zwei dieser Informationen sind gegeben, die dritte ist gesucht. Schaffst du es, sie zu bestimmen?
(a) Finde den Variablenzustand vorher heraus. Ist die Lösung eindeutig?
{ }
zaehler1 = zaehler2
{zaehler1 -> 5; zaehler2 -> 5}
(b) Finde die Zuweisung heraus. Ist die Lösung eindeutig?
{zaehler1 -> 3; zaehler2 -> 9}
{zaehler1 -> 8; zaehler2 -> 9}
(c) Finde den Variablenzustand vorher heraus. Ist die Lösung eindeutig?
{ }
zaehler1 = zaehler2 - 5
zaehler3 = 2*zaehler1 + zaehler2
{zaehler1 -> 3; zaehler2 -> 8; zaehler3 -> 14}
(d) Finde die Zuweisungen heraus. Ist die Lösung eindeutig? Findest du sogar Zuweisungen, sodass diese Zuweisungen Sinn ergeben? Was will man hier bezwecken?
{zaehler1 -> 44; zaehler2 -> 12}
{zaehler1 -> 12; zaehler2 -> 44; hilf -> 44}