i

Strukturierung

Zielsetzung

In der Erkundung hast du ein konkretes Problem mit einem neuen Befehl gelöst. Jetzt geht es darum, die Details herauszuarbeiten, die hinter diesem Befehl stecken.

Strukturierung: Die Argo trifft Entscheidungen

Bisher kanntest du Bedingungen nur innerhalb von Schleifen: Die Anweisungssequenz im Schleifenrumpf wurde so lang durchlaufen, wie die Bedingung der Schleife erfüllt war. Häufig möchte man aber auch auf bestimmte Situationen reagieren und Aktionen nur dann durchführen, wenn eine bestimmte Bedingung (hier: ist vor der Argo ein Asteroid?) erfüllt ist. Dann braucht man Fallunterscheidungen.

Aufgabe 1: Fallunterscheidungen sind überall

Automatisierte Abläufe nehmen im täglichen Leben immer mehr Raum ein. Damit verbunden sind auch Fallunterscheidungen und Bedingungen. Führe diese Tabelle weiter fort:

Situation / Programm / RoboterBedingungVerschiedene Aktionen
Staubsaug-RoboterWand berührt?sauge weiter / drehe dich
ComputerspielLeben = 0 ?...
Aufzugsteuerung......
.........

Aufgabe 2: Wenn... dann... SONST!

Häufig möchte man nicht nur ein Verhalten beschreiben, für den Fall das eine Bedingung gilt, sondern auch ein Verhalten definieren, wenn dies eben nicht der Fall ist. Im Alltag würden wir sagen Wenn... dann... sonst.... Dieses sonst beschreibt man in Python mit dem else-Befehl.

if onPow():		#WENN auf einem PowerUP
  removePow() 	#DANN hebe es auf
else:			#SONST lege eines
  putPow()
Python

Du kannst das hier ausprobieren. Stelle vor der Ausführung in jedem Szenario zunächst Überlegungen an, wie sich die Argo verhalten wird.


Aufgabe 3: Fallunterscheidungen vertiefen

(a) Betrachte die folgende Struktur einer Fallunterscheidung. Es sind insgesamt drei Anweisungssequenzen eingetragen. Erkläre, unter welchen Umständen und wann welche dieser Anweisungssequenzen ausgeführt werden.

if [Bedingung]:
    [Anweisungssequenz 1]
else:
    [Anweisungssequenz 2]
[Anweisungssequenz 3]
Python
Tipp

Es hilft ggf., sich hier ein konkretes einfaches Programm vorzustellen. Also: Unter welchen Umständen und wann werden in diesem Programm die einzelnen Befehle ausgeführt? Beschreibe das erst konkret, also bezogen auf die Argo und ein PowerUp, und dann allgemein mit Begriffen wie „Bedingung“.

if [Bedingung]:
    [Anweisungssequenz 1]
else:
    [Anweisungssequenz 2]
[Anweisungssequenz 3]
Python
if onPow():
    removePow()
else:
    putPow()
move()
Python

(b) Es gibt bei Fallunterscheidungen in PythonSpacebug einige Regeln im Quelltext zu beachten – sonst funktioniert das Programm nicht. Solche Regeln, die durch die Programmiersprache vorgegeben werden, nennt man Syntaxregeln. Welche Syntaxregeln für Fallunterscheidungen in PythonSpacebug findest du?

(c) Man unterscheidet zwischen zwei Typen von Fallunterscheidungen. Für beide ist der Aufbau unten beispielhaft dargestellt. Erkläre den Unterschied zwischen einer einseitigen Fallunterscheidung und einer zweiseitigen Fallunterscheidung so, dass man es versteht, wenn man direkt zuvor zum ersten Mal von Fallunterscheidungen gehört hat. Gib jeweils ein konkretes Beispiel (in Alltagssprache oder in PythonSpacebug) an.

Einseitige Fallunterscheidung:

if [Bedingung]:
    [Anweisungssequenz]
Python

Zweiseitige Fallunterscheidung:

if [Bedingung]:
    [Anweisungssequenz]
else:
    [Anweisungssequenz]
Python

Aufgabe 4: Neue Bedingungen bauen

Neben der Sensoren der Argo, hast du bereits Erfahrungen mit zweien der drei logischen Operatoren not, and und or gemacht, mit denen man neue und komplexere Bedingungen formulieren kann.

Beschreibe des Verhalten der Argo in den folgenden Szenarien möglichst präzise:




Aufgabe 5: Ein Wissensspeicher für Fallunterscheidungen, Wahrheitswerte und logische Operatoren

Halte das Gelernte im nachfolgenden Wissensspeicher fest.

Was ist ein Wissensspeicher?

Im Wissensspeicher soll übersichtlich und prägnant das neu Gelernte dokumentiert werden. Die vorgegebene Struktur auf dem Wissensspeicher soll sicherstellen, dass alles Wichtige festgehalten wird; so werden z.B. nicht nur Definitionen, sondern in der Regel auch Beispiele, Vernetzungen oder Konventionen gefordert. Der Wissensspeicher kann verwendet werden, um ein im Unterricht erstelltes Tafelbild einfacher ins Heft zu übertragen. Es ist mit ihm aber auch möglich, die Sicherung stärker schüler:innen-orientiert zu gestalten: Je nach Unterrichtsgestaltung können die Schüler:innen nach einer Erarbeitung und Besprechung den gesamten Wissensspeicher selbst ausfüllen (im Unterricht, ggf. auch in der Hausaufgabe) oder hierfür zusätzlich das Online-Schulbuch zu Hilfe nehmen.

Suche

6.1.3.1.2
https://dev.inf-schule.de/imperative-programmierung/spacebug/fallunterscheidungen/lernstrecke/strukturierung
https://dev.inf-schule.de/6.1.3.1.2
https://dev.inf-schule.de/@/page/3FB3nzuj1OKSihiv

Rückmeldung geben