TigerJython (Python 2.7) - 10. Vertiefende Übungen zu Kontrollstrukturen

10. Vertiefende Übungen zu Kontrollstrukturen

Auf inf-schule.de gibt es im Kapitel 2 (Ablaufmodellierung mit Kontrollstrukturen(Link ist extern)) insgesamt vier Fallstudien. Bearbeite die Fallstudien nach den u.a. Vorgaben und implementiere diese.
Für die ganz Schnellen: Füge eigene Erweiterungen/Ergänzungen hinzu, nachdem du die Aufgaben durchgearbeitet hast!

Präzisierung der Aufgabenstellung:
Der Hinweis "nicht dokumentieren", "nachdenken", "durchlesen" oder "nachvollziehen" bedeutet, dass keine schriftliche Ausarbeitung angefertigt werden braucht.
Die Dokumentation möglicher Ergebnisse erfolgt in einem elektronischen Dokument (Textdatei oder LibreOffice Writer - Export als PDF!) fortlaufend. Somit enthält ein (Text-)Dokument alle Antworten.
Die Implementierung erfolgt wie bekannt mit TigerJython und wird mit sinnvollem Namen (z.B. der Aufgabennummerierung, s.u.) abgespeichert. Kommentare nicht vergessen! Die erste Kommentarzeile sollte wenigstens den eigenen Namen enthalten.
Zusatz oder Ergänzung für ganz Schnelle bedeutet: wenn Du nach Abarbeiten aller Aufgaben noch Zeit hast und eine Herausforderung suchst, dann ist das das Richtige für dich! Dies gilt grundsätzlich auch für sinnvolle eigene Erweiterungen der Aufgabenstellungen!

10.1. Fallstudie Zufallsexperimente mit dem Computer

  • Aufgabe 1.1.1: Nur durchführen, nicht dokumentieren
  • Hinweis zu Kapitel 1.2: Fliussdiagramme dienen zur weiteren Veranschaulichung, sind aber nicht Teil des Unterrichts. Unser Schwerpunkt liegt auf den Struktogrammen (lesen können!).
  • Aufg. 1.2.1 a) und b): Nachdenken, nachvollziehen, nicht dokumentieren
  • Aufg. 1.2.2 a): Testen und über den 2., Teil der Aufgabe nachdenken
  • Aufg. 1.2.2 b): Implementieren
  • Aufg. 1.2.2 c): Nachdenken darüber, was das erweiterte Programm macht.
  • Aufg. 1.3.1 a): Nachdenken und wiederholen: wie sehen geschachtelte Fallunterscheidungen in einem Struktogramm aus? Ziel: so ein Struktogramm lesen und ggf. in Python umsetzen können.
  • Aufg. 1.3.1 b): Ergänzung Implementieren
  • Aufg. 1.3.1 c): Nachdenken über die beiden Programme bzw. selber testen
  • Aufg. 1.3.2 : Programm entwickeln (implementieren). Struktogramm kann weggelassen werden!
  • Kap. 1.4: Durchlesen und ggf. so nachvollziehen, dass das Prinzip verstanden ist.
  • Aufg. 1.5.1: Überlegen, Abschätzen, ggf. ausprobieren, nicht dokumentieren.
  • Aufg. 1.5.2: Nachdenken
  • Aufg. 1.5.3 a) u. b): Implementieren
  • Aufg. 1.5.4: Implementieren
  • Aufg. 1.5.5: Nachdem über das Struktogramm nachgedacht wurde und vielleicht sogar eine Skizze angefertigt wurde (nicht dokumentieren - zur eigenen Hilfe), implementieren.
  • Kap. 1.6: Durchlesen und ggf. so nachvollziehen, dass das Prinzip verstanden ist.
  • Kap. 1.7: Durchlesen und ggf. so nachvollziehen, dass das Prinzip verstanden ist.
  • Aufg. 1.8.1: Nachdenken, nachvollziehen, nicht dokumentieren.
  • Aufg. 1.8.2 a) u. b): Ohne Struktogramm (zur eigenen Hilfe ggf. skizzieren, nicht dokumentieren)  implementieren. Zusatz für ganz Schnelle: Benutzer kann die Anzahl der Würfel frei bestimmen und ob er nach a) oder b) eine Ausgabe haben möchte.
  • Aufg. 1.8.3 a) u. b):  Implementieren ohne Struktogramm
  • Aufg. 1.8.4: Aufgabe bearbeiten und dokumentieren!
  • Aufg. 1.8.5: a) oder b) nach eigener Wahl implementieren, ohne Struktogramm
  • Aufg. 1.8.6: sich von a) inspirieren lassen und eigenes, kleines(!) Spiel entwickeln. Spiel mit Regeln dokumentieren. Programm zusätzlich mit Kommentaren oder Augaben zum Spielablauf versehen. Hinweis: ein unbedarfter Benutzer startet dein Programm ohne das Spiel zu kennen...

10.2. Fallstudie - Pasch beim Würfeln

  • Kapitel 2.1 - 2.3 ohne Aufgaben, durchlesen, nachvollziehen, nicht dokumentieren
  • Aufg. 2.4.1 nur b)
  • Aufg. 2.4.2 Dokumentieren

10.3. Fallstudie - Das Glücksspiel Craps

  • Aufg. 3.4.1 a) und b): implementieren
  • Aufg. 3.4.2 ohne Struktogramm, implementieren

10.4. Fallstudie - Das Ziegenproblem

  • Aufg. 4.4.2 implementieren