Skip to main content

Woche 3 - Kontrollstrukturen

In Woche 2 haben wir gelernt, wie wir einfache Programme als Sequenzen von Ausdrücken und Anweisungen schreiben können. Damit lassen sich bereits erste, einfache Arbeiten automatisieren. Viele der wiederkehrenden Arbeiten, die wir automatisieren wollen, verlangen jedoch noch etwas mehr Flexibilität. Es sollen nicht nur einzelne Schritte hintereinander ausgeführt werden, sondern das Programm sollte sich auch je nach Situation unterschiedlich Verhalten können. Wenn wir bei unserem einfachen Taschenrechnerbeispiel bleiben, dann wollen wir vielleicht eine Division nur ausführen, wenn der Dividend ungleich 0 ist und ansonsten eine Fehlermeldung ausgeben. Häufig möchten wir auch dieselben Anweisungen mehrere Male hintereinander ausführen. Wenn wir beispielsweise die Summen aller Zahlen von 11 bis 100100 berechnen wollen, wollen wir nicht 100-Mal hintereinander die Plus Operation mit immer einer anderen Zahl schreiben.

In dieser Woche lernen wir zwei neue Anweisungen kennen, die uns genau diese Flexibilität geben:

  • Verzweigungen, welche uns erlauben Programmsequenzen in Abhängigkeit einer Bedingung auszuführen
  • Schleifen, die es ermöglichen, Befehle beliebig oft zu wiederholen.

Diese Konstrukte werden Kontrollstrukturen genannt.

Selbststudium

Bitte arbeiten Sie folgende Lerneinheiten vor der Präsenzveranstaltung am 3. Oktober durch.

Präsenzveranstaltung

In der Präsenzveranstaltung vom werden wir die Themen weiter vertiefen. Als Grundlage für die Präsenzveranstaltung am 3. Oktober werden wir das folgende Jupyter-Notebook verwenden

Studierende von ausserhalb der Uni Basel können die Fallstudie in Google Colab bearbeiten (Link zum Notebook in Colab).

Übungen

Nach Besuch der Präsenzveranstaltung sollten Sie in der Lage sein, die die Übungen im folgenden Jupyter-Notebook zu lösen. Das Notebook wird kurz vor der Präsenzveranstaltung am 3. Oktober aufgeschaltet.

Reichen Sie Ihre Antworten bis am 9. Oktober auf Adam ein. Sie können Ihre Antworten vorher mit unserem automatisierten Korrekturtool testen.

Kernaussagen

  • Mittels Vergleichsoperatoren lassen sich Ausdrücke schreiben, deren Wert ein Wahrheitswert (also Wahr oder Falsch) ist.
  • Die if-Anweisung erlaubt Codeteile nur dann auszuführen, wenn ein Ausdruck wahr ist.
  • Mittels Einrückungen werden zusammengehörige Anweisungen und Ausdrücke in einem Block gruppiert.
  • Die While-Schleife erlaubt einen Codeblock mehrmals auszuführen
  • Kontrollstrukturen erlauben uns komplexe Verhaltensweisen zu simulieren, die kaum mehr mit einfachen Formeln zu beschreiben sind.

Lernziele

Die Studierenden

  • kennen die wichtigsten Vergleichsoperatoren und können diese anwenden, um damit boolsche Ausdrücke zu formulieren.
  • können Programme schreiben, die einfache und verschachtelte Schleifen und Verzweigungen beinhalten.
  • können einfache Simulationen verstehen, die durch Wiederholen einfacher Rechenschritte komplexe Berechnungen machen.