Commit c445637f authored by Axel Dürkop's avatar Axel Dürkop
Browse files

Fixes

parent e704902b
Pipeline #93364 passed with stages
in 43 seconds
......@@ -24,9 +24,8 @@ LastModifierEmail = ""
## Funktionen
Wenn Sie die vorangegangenen Inhalte und Übungen absolviert haben, verfügen Sie schon über einen recht wirkungsvollen Grundwortschatz in Python. Heute erweitern Sie diesen um ein Konzept, dass als *Funktionen* gefasst und im Zusammenhang mit objektorientierter Programmierung noch einmal anders als *Methode* bezeichnet wird.
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.
{{< figure src="/abb/robert-hirzinger-tySKLpyWxyQ-unsplash.jpg" title="Foto von Robert Hirzinger auf Unsplash" >}}
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.
......@@ -47,17 +46,19 @@ Funktionen erweitern die Gestaltungsmöglichkeiten in Processing enorm, weil sic
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.
{{< figure src="/abb/robert-hirzinger-tySKLpyWxyQ-unsplash.jpg" title="Dieser Kirschbaum muss nicht so bald gefällt werden. Foto von Robert Hirzinger auf Unsplash" >}}
{{% notice aufgabe %}}
1. Lesen Sie nun [den Abschnitt "Funktionen mit Parametern"](../../python/processingpy/programmiergrundlagen/funktionen_mit_parametern)
1. 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 ausgegeben wird.
1. 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.
1. Posten Sie Ihre Leinwand in Mattermost.
{{% /notice %}}
### Funktionen mit Rückgabewert
Wenn Sie dem Tischler den Kirschbaum aushändigen, 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...
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 aus zurückgeben.
Mit manchen Funktionen ist es ebenso. Sie nützen im Gesamtzusammenhang des Programms erst etwas, wenn sie das Produzierte oder Berechnete zurückgeben.
{{% notice aufgabe %}}
1. Lesen Sie [den Abschnitt "Funktionen mit Rückgabewert"](../../python/processingpy/programmiergrundlagen/funktionen-mit-rueckgabe)
......@@ -72,10 +73,6 @@ In der objektorientierten Programmierung, die in der nächsten Sitzung folgt, we
## Arbeitsaufträge zum 04. Dezember 2020
{{% notice aufgabe %}}
1. Schreiben Sie ein Programm **Was ich kann**, in dem (möglichst) alle Konzepte vorkommen, die Sie bisher kennengelernt haben.
{{% /notice %}}
{{% notice aufgabe %}}
1. Schreiben Sie ein Programm **Button**.
1. Malen Sie ein Rechteck auf die Leinwand, von dem Sie behaupten, es sei ein Button, den man klicken kann.
......@@ -84,6 +81,10 @@ In der objektorientierten Programmierung, die in der nächsten Sitzung folgt, we
4. Zusatzoption: Schaffen Sie es, die Funktion so flexibel zu schreiben, dass die Prüfung auf den Klick unabhängig von der Position des Buttons auf der Leinwand ist?
{{% /notice %}}
{{% notice aufgabe %}}
1. Schreiben Sie ein Programm **Was ich kann**, in dem (möglichst alle) Konzepte vorkommen, die Sie bisher kennengelernt haben.
{{% /notice %}}
### Abgabe
Geben Sie Ihre Arbeit spätestens am **Donnerstag, 03.12.2020**, [in GitLab](https://www3.tuhh.de/itbh/informatik-202021/veranstaltungsskript/organisation/using-gitlab-erste-schritte/) ab. Sie erhalten Feedback zu Ihrer Arbeit.
......@@ -95,7 +96,7 @@ Geben Sie Ihre Arbeit spätestens am **Donnerstag, 03.12.2020**, [in GitLab](htt
## Zusammenfassung der Aufträge
- Fertigstellung der Aufgaben aus der Sitzung
- Erledigung der Aufträge "Was ich kann" und "Button"
- Erledigung der Aufträge **Button** und **Was ich kann**
### Abgabetermin
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment