Skip to main content

Woche 3: 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äsenzvorlesung am 14. Oktober durch.

Übungen

Bearbeiten Sie die Übungen in folgendem Jupyter-Notebook:

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

Präsenzvorlesung

Als Grundlage für die Präsenzvorlesung werden wir das folgende Jupyter-Notebook verwenden:

  • Fallstudie: Der Ruin des Spielers (Link 1) (Link 2) (Aufruf nur in Uninetz oder über VPN möglich)

(Der Link 2 wurde über Zoom zur Verfügung gestellt.)

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.