s n h m r u
i

Übungen

Aufgabe 1 - PowerUps aufräumen

welt_vorher pfeil welt_nachher

Die Besatzung der Argo soll die auf dem Weg verstreuten PowerUps vor einem Asteroiden einsammeln und danach geordnet ablegen. Schreibe ein passendes Python-Programm, das Unterprogramme einsammeln() und ablegen(anzahl) verwendet. Die Funktion einsammeln() soll dabei alle PowerUps entfernen und deren Anzahl als Funktionswert zurückgeben.

Es sind mehrere Welten zum Testen hinterlegt.
Expertenfrage

Könnte man das Hauptprogramm auch einfach so schreiben?

ablegen(einsammeln())

Aufgabe 2 - Was passiert hier?

Im folgenden Fenster siehst du eine Ausgangssituation und mehrere Varianten eines Programms (durch Klick auf die kleinen Kreise unter dem Weltfenster)

Vergleiche die 4 Programmvarianten, indem du jeweils die folgenden 3 Aufgaben bearbeitest:

  • Analysiere den Quelltext und stelle Vermutungen auf, was bei der Ausführung passieren wird.
  • Führe das Programm mit unterschiedlichen Eingabewerten aus und überprüfe dabei deine Vermutungen.
  • Führe das Programm im Debug-Modus aus und beobachte dabei den Zustand der Variablen.

Aufgabe 3 - Hier wird es knapp!

welt_vorher pfeil welt_nachher

Die Argo fliegt häufiger an Asteroidenschwärmen vorbei. Das ist manchmal ganz schön knapp mit dem Abstand! Unten siehst du das Grundgerüst eines Programms, mit dem die Argo an Stellen, die nah an einem Asteroiden sind, PowerUps zur Warnung legt. Das ist der Fall, wenn der Abstand zum Asteroiden höchstens 2 ist. Vervollständige das Python-Programm.

Es sind mehrere Welten zum Testen hinterlegt.
Profiaufgabe

Die Argo soll jetzt nur an der engsten Stelle ein PowerUp legen, egal wie weit die Distanz ist. Falls mehrere Stellen gleich eng sind, dann soll es die erste dieser Stellen markieren.

Aufgabe 4 - Schon wieder aufräumen!

welt_vorher pfeil welt_nachher

Die Argo befindet sich zwischen zwei Kammern. Der Befehl der Einsatzzentrale lautet: Bitte in einer Kammer die PowerUps entfernen!

Die Besatzung möchte natürlich so wenig aufräumen wie möglich. Daher plant sie, zunächst durch beide Räume zu fliegen, und dann den Raum zu säubern, in dem weniger PowerUps sind. Die Kammergröße ist dabei immer gleich, nur die PowerUps können variieren. Es sind wieder mehrere Beispiele hinterlegt.

Schreibe ein Python-Programm zur Lösung des Problems. Dein Programm soll dabei eine Funktion verwenden, die die Anzahl der PowerUps in einer Kammer ermittelt und zurückgibt!

Profiaufgabe

Gib deiner Funktion, die die PowerUps in einer Kammer zählt, noch einen Parameter mit, der angibt, ob die PowerUps auch gelöscht werden sollen. Dann kannst du die Funktion nicht nur zum Zählen, sondern auch zum Reinigen der Kammer verwenden.

Suche

v
6.1.6.5.3
inf-schule.de/imperative-programmierung/spacebug/vertiefungen/funktionen/uebung
inf-schule.de/6.1.6.5.3
inf-schule.de/@/page/JN9d57PJmV7DjJ9K

Rückmeldung geben