====== 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 =====