i

Erkundung

Das Problem: PowerUps aufräumen

Die Missionszentrale: "Einige unserer anderen Piloten haben auf Ihren Missionen ein ziemliches Chaos mit ihren PowerUps angerichtet und sie überall herumfliegen lassen. Die Argo soll sie aufsammeln und zunächst geordnet am Ende eines Korridors ablegen. Wie bisher sollen verschiedene Szenarien möglich sein."

welt_vorher pfeil welt_nachher

Die Schwierigkeit besteht hier darin, dass die Argo die eingesammelten PowerUps zählen muss und sich die Anzahl merken muss, bevor sie die PowerUps wieder ablegen kann.

Ein Algorithmus zur Lösung des Problems

Zur Formulierung eines Algorithmus wird hier eine Variable zaehler eingeführt.

 
setze zaehler auf 0
SOLANGE nicht vor einem Asteroiden:
    einen Sektor weiterfliegen
    WENN auf einem PowerUp:
        erhöhe zaehler um 1
        PowerUp aufheben
...    

Aufgabe 1

(a) Welche Rolle spielt die Variable zaehler hier?

(b) Wie könnte man den Algorithmus zur Lösung des Problems fortsetzen?

Ein Programm zur Lösung des Problems

Der Algorithmus wird jetzt in ein Programm übersetzt.

zaehler = 0
while not rockFront():
    move()
    if onPow():
        zaehler = zaehler + 1
        removePow()
...

Aufgabe 2

(a) Was bewirken die Anweisungen zaehler = 0 bzw. zaehler = zaehler + 1?

(b) Versuche, das Programm fertigzustellen. Teste in den verschiedenen Szenarien.

Aufgabe 3 (optional)

Die Argo soll jetzt alle PowerUps im Korridor einsammeln und anschließend die doppelte Anzahl von PowerUps ablegen.

Wie kann man dieses Problem lösen? Kannst du auch verschiedene Algorithmen zur Lösung des Problems angeben?

Suche

v
6.1.5.1
dev.inf-schule.de/imperative-programmierung/spacebug/variablen/lernstrecke
dev.inf-schule.de/6.1.5.1
dev.inf-schule.de/@/page/1N3frBnZcy71QJIa

Rückmeldung geben