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.
setup()
und draw()
fehlen.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.
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.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.
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.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”.
Geben Sie Ihre Arbeit spätestens am Donnerstag, 03.12.2020, in GitLab ab. Sie erhalten Feedback zu Ihrer Arbeit.
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.
Alles ist bis Donnerstag, 03.12.2020, zu erledigen.