[04] Freitag, 27. November 2020

Funktionen

Wenn Sie die vorangegangenen Inhalte und Übungen absolviert haben, verfügen Sie schon über einen recht wirkungsvollen Grundwortschatz in Python, und auch mit der Grammatik ist es schon ganz gut bestellt. Jetzt gilt es, dieses Repertoire um ein Konzept zu erweitern, das unter dem Namen Funktionen geführt wird.

Funktionen erweitern die Gestaltungsmöglichkeiten in Processing enorm, weil sich mehrere oder gar viele Codezeilen, die immer wieder zum Einsatz kommen, unter einem Namen kapseln lassen. Und damit vermehren sich auch gleichzeitig die kreativen Möglichkeiten.

Funktionen definieren

  1. Lesen Sie zunächst den Abschnitt “Funktionen” in diesem Skript.
  2. Recherchieren Sie die Regeln für Funktionsnamen in der Python-Dokumentation.
  3. Probieren Sie aus, wie Processing reagiert, wenn eine der beiden Funktionen setup() und draw() fehlen.
  4. Definieren Sie eine einfache Funktion. Probieren Sie dann aus, was passiert, wenn der Aufruf einer Funktion vor ihrer Definition erfolgt.
  5. Definieren Sie eine Funktion, die in der Mitte der Leinwand einen Stern aus zwei Dreiecken zeichnet. Geben Sie der Funktion einen sprechenden Namen.
  6. (Realisieren Sie ein eigenes Malwerkzeug mithilfe der Funktion.)
  7. Posten Sie Ihre Leinwand in Mattermost.

Funktionen mit Parametern

Eine einfache Funktion wie die, die Sie in der vorangegangenen Aufgabe definiert haben, ließe sich mit einem Job vergleichen, der ohne jede Hilfsmittel ausgeführt werden kann. Bspw. könnten Sie einer Person zurufen: “Mach das Fenster auf!” oder “oeffne_fenster()“. Dazu braucht es keine weiteren Angaben, die Sache ist klar. Sie könnten auch einem Tischler sagen: “baue_stuhl()“, und er würde es machen. Allerdings bräuchte er dazu das Holz. Wenn er selber welches hat – davon würde man bei einem Tischler ausgehen – besteht seine Funktion darin, mit dem Holz den Stuhl zu bauen. Sie könnten aber auch den gefällten Kirschbaum aus dem Garten mitbringen und sagen: “baue_stuhl(kirschbaum)” und ihm damit das Material übergeben, aus dem der Stuhl gefertigt werden soll.

Dieser Kirschbaum muss nicht so bald gefällt werden. Foto von Robert Hirzinger auf Unsplash

  1. Lesen Sie nun den Abschnitt “Funktionen mit Parametern”
  2. Definieren Sie eine Funktion schreibe(), der Sie einen beliebigen String als ersten und einen Integer (Ganzzahl) als zweiten Parameter übergeben können. Gestalten Sie die Funktion so, dass der übergebene String in der Anzahl des zweiten Parameters auf der Leinwand ausgegeben wird.
  3. Posten Sie Ihre Leinwand in Mattermost.

Funktionen mit Rückgabewert

Wenn Sie dem Tischler den Kirschbaum übergeben, erwarten Sie, dass er einen Stuhl daraus baut. Zu dem Auftrag gehört es, dass Sie den Stuhl nach getaner Arbeit auch ausgehändigt bekommen. Es wäre unrealistisch, wenn alle Tischler die Produkte ihrer Aufträge selbst behielten…

Mit manchen Funktionen ist es ebenso. Sie nützen im Gesamtzusammenhang des Programms erst etwas, wenn sie das Produzierte oder Berechnete zurückgeben.

  1. Lesen Sie den Abschnitt “Funktionen mit Rückgabewert”
  2. Definieren Sie eine Funktion rechne(), die einen Wert aus Ihrem Hauptprogramm übergeben bekommt, bspw. einen Zählerstand. Denken Sie sich aus, was mit diesem Wert in rechne() berechnet wird. Nutzen Sie den Rückgabewert der Funktion für das Zeichnen einer geometrischen Form.
  3. Posten Sie Ihre Leinwand in Mattermost.
  4. Überlegen Sie: Wofür sind Funktionen mit Rückgabewert gut zu gebrauchen?

Funktionen werden zu Methoden

In der objektorientierten Programmierung, die in der nächsten Sitzung folgt, werden Funktionen erneut aufgegriffen. In dem Zusammenhang heißen sie Methoden und sind das, was Objekte “können”.

Arbeitsauftrag zum 04. Dezember 2020

  1. Wiederholen Sie in Ruhe und im Austausch mit anderen die Aufträge und Aufgaben der vergangenen Sitzungen.

  1. Schreiben Sie ein Programm Was ich kann, in dem (möglichst alle) Konzepte vorkommen, die Sie bisher kennengelernt haben.
  2. Posten Sie Ihre Ergebnis diesmal nicht in Mattermost. Die Übung ist nur für Sie.

Abgabe

Geben Sie Ihre Arbeit spätestens am Donnerstag, 03.12.2020, in GitLab ab. Sie erhalten Feedback zu Ihrer Arbeit.

GitLab - keine Mails

Wenn Sie zum ersten Mal mit GitLab arbeiten, beachten Sie bitte die Hinweise auf der Seite Using GitLab und folgen Sie den Arbeitsschritten im Video dort.

Zusammenfassung der Aufträge

  • Fertigstellung der Aufgaben aus der Sitzung
  • Erledigung des Auftrags Was ich kann.

Abgabetermin

Alles ist bis Donnerstag, 03.12.2020, zu erledigen.

Verstanden
Um die Inhalte auf dieser Website optimal für Sie anbieten zu können, verwenden wir Cookies. Mehr erfahren