====== Programmieren Teil 4 – Funktionen (Unterprogramme) ======
* Dieses Seite ist die Fortsetzung von [[gf_informatik:programmieren_iii_gra|]].
++++Lernziele (hidden):|
* tbd
++++
===== - Einführung =====
Du kennst Variablen – darin kannst du einen Wert speichern. Und du kennst Listen – darin kannst du mehrere Werte speichern. Aber du hast dich villeicht schon gefragt: "Was, wenn ich gleich mehrere Codezeilen irgendwo unterbringen will?". Für diese Idee gibt es **Funktionen**, die wir auch **Unterprogramme** nennen können.
=== Auftrag 1 – Bereits bekannte Funktionen anschauen ===
In Python sind viele Funktionen schon eingebaut. Du hast ein paar davon schon oft verwendet – zum Beispiel:
print("Hallo")
input("Wie heisst du?")
len("Apfel")
== Aufgabe A ==
Einzeln: Beantworte folgende Fragen schriftlich. Zu zweit: Vergleicht und ergänzt eure Antworten.
- Was ist allen Funktionen gemeinsam?
- Worin unterscheiden sich die Funkionen?
== Aufgabe B ==
* Kopiere obige Codezeilen nach [[https://webtigerpython.ethz.ch/]]. Wenn du den Code ausführst, merkst du, dass nicht viel passiert.
* Ergänze den Code wie folgt und **teste nach jedem Schritt**:
- Der Name, den die Benutzer:in eingibt, soll in einer Variable gespeichert werden.
- Statt der Länge des Wortes "Apfel" soll die Länge des eingegebenen Namens ermittelt werden.
- Diese Länge soll in einer Variable gespeichert werden.
- Am Ende soll eine Nachricht in folgendem Format ausgegeben werden: "Du heisst Karl, dein Name hat 4 Buchstaben." Verwende einen [[gf_informatik:programmieren_ii_gra#f-strings|f-String]].
Du solltest jetzt ein **vierzeilgies Programm** haben. Jede Zeile enthält eine Funktion.
* Schaue dir deine Antworten zu Aufgabe A nochmals an und ergänze sie, wenn dir noch mehr auffällt.
===== - Theorie =====
=== Auftag 2 – Eine Funktion (ein Unterprogramm) erstellen und verwenden ===
Mit folgendem Code zeichnet die Turlte ein Sechseck (Hexagon):
from gturtle import *
karl = Turtle()
side_count = 0
while side_count < 6:
karl.forward(50)
karl.right(60)
side_count = side_count + 1
{{:gf_informatik:programmieren_iv_gra:pasted:20250419-095045.png?180}}
Wir möchten jetz **sechs** Sechsecke zeichnen, sodass in der Mitte ein siebtes entsteht ([[https://youtu.be/thOifuHs6eY?si=yKl7z6uLPcnUuNi6|Hexagons are the Bestagons]]). Hierzu erstellen wir erst **eine Funktion namens hexagon()** und rufen sie weiter unten auf:
from gturtle import *
karl = Turtle()
# Funktion erstellen mit def funtkionsname():
# Alles darunter Eingerückte gehört zur Funktion
def hexagon():
side_count = 0
while side_count < 6:
karl.forward(50)
karl.right(60)
side_count = side_count + 1
hex_count = 0
while hex_count < 6:
hexagon() # Funktion aufrufen
karl.forward(50)
karl.left(60)
hex_count = hex_count + 1
{{:gf_informatik:programmieren_iv_gra:pasted:20250419-100942.png?300}}
=== Auftrag 3 – Begriffe kennenlernen ===
Argument, Rückgabewert, Definition, Aufruf.
===== - Aufgaben N – Funktionen =====
===== - Aufgaben O – Funktionen für Fortgeschrittene =====
===== - Lösungen =====