Woche 4: Prozeduren und Funktionen
Ein Programm ist nicht nur eine Folge von Anweisungen für den Computer, sondern auch eine formale Beschreibung eines Prozesses. Als Programmierende möchten wir das Programm und den abgebildeten Prozess verstehen, anpassen und erweitern können. Deshalb ist es äusserst wichtig, dass wir das Programm so verständlich wie möglich schreiben. Zudem möchten wir wiederkehrende Programmteile wiederverwenden können, statt diese jedes Mal zu kopieren. Die Lösung zu diesem Problem sind Prozeduren und Funktionen, welche das Thema dieser Woche sind.
Wir haben schon gesehen, wie wir Variablen verwenden können, um Werten einen Namen zu geben. Prozeduren und Funktionen machen es möglich, nicht nur Werten, sondern auch Codeblöcken einen Namen zu geben und diese unter dem Namen anzusprechen. Damit wird es möglich, wiederkehrende Codeblöcke an verschiedenen Stellen im Code unter diesem Namen anzusprechen und auszuführen.
Selbststudium
Bitte arbeiten Sie folgende Lerneinheiten vor der Präsenzveranstaltung vom 10. Oktober durch.
- Parameterlose Prozeduren
- Prozeduren mit Parametern
- Funktionen
- Typannotationen für Prozeduren und Funktionen
- Sichtbarkeitsregeln
- Schlüsselwort- und Standartargumente
Präsenzveranstaltung
In der Präsenzveranstaltung vom werden wir die Themen weiter vertiefen.
- Fallstudie: Der Ruin des Spielers (Aufruf nur in Uninetz oder über VPN möglich)
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.
- Übungsblatt Woche 4 (Aufruf nur in Uninetz oder über VPN möglich)
Reichen Sie Ihre Antworten bis am 16. Oktober auf Adam ein. Sie können Ihre Antworten vorher mit unserem automatisierten Korrekturtool testen.
Kernaussagen
- Prozeduren erlauben uns Codeblöcke zu benennen und diese unter dem Namen anzusprechen.
- Prozeduren können mittels Parameter parametrisiert werden. Dies ermöglicht, dieselbe Prozedur mit verschiedenen Werten aufzurufen.
- Funktionen sind wie Prozeduren, geben aber einen Wert zurück, mit welchem wir weiterrechnen können.
- Variablen haben einen Gültigkeitsbereich, innerhalb welchem Sie sichtbar sind.
Lernziele
Die Vorlesungsteilnehmer
- kennen den Unterschied zwischen Prozeduren und Funktionen.
- kennen die Syntax um Prozeduren und Funktionen zu definieren und diese aufzurufen.
- können für eine wohldefinierte, mathematische Aufgabe eine entsprechende Funktion schreiben, die die Berechnung durchführt und das Ergebnis zurückgibt.
- kennen das
return
Keyword und wissen wie dies den Kontrollfluss beeinflusst. - können entscheiden welche Variable zu welchem Zeitpunkt sichtbar ist.