lehrkraefte:snr:informatik:python:funktionen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:python:funktionen [2021/11/02 18:42]
Olaf Schnürer [Globale und lokale Variablen]
lehrkraefte:snr:informatik:python:funktionen [2021/11/04 18:09] (current)
Olaf Schnürer [Funktionen]
Line 59: Line 59:
 </WRAP> </WRAP>
  
 +<WRAP round todo>
 +Du kannst einer Funktion auch eine Liste als Parameter übergeben. Schreibe ein Programm, das dies ausnutzt! - Etwa ein Programm, das den Durschnitt einer Liste von Zahlen ausrechnet.
 +</WRAP>
  
 <WRAP round todo> <WRAP round todo>
Line 64: Line 67:
 Verbessere das Programm (es genügt, vier Zeichen (und eventuell Leerzeichen) zu ergänzen)! Verbessere das Programm (es genügt, vier Zeichen (und eventuell Leerzeichen) zu ergänzen)!
  
-Bemerkung: Sobald die ''return''-Anweisung in einer Funktion aufgerufen wird, wird die weitere Ausführung der Funktion unterbrochen.+Bemerkung: Sobald die ''return''-Anweisung in einer Funktion aufgerufen wird, wird die weitere Ausführung der Funktion abgebrochen.
  
 (Hierbei steht ''sqrt(...)'' für "square root", Quadratwurzel und ''int(...)'' macht aus einer Kommazahl eine ganze Zahl.) (Hierbei steht ''sqrt(...)'' für "square root", Quadratwurzel und ''int(...)'' macht aus einer Kommazahl eine ganze Zahl.)
Line 113: Line 116:
 </hidden> </hidden>
 </WRAP> </WRAP>
 +
 +<WRAP round todo>
 +ACHTUNG, ICH HATTE LEIDER ZUNÄCHST DAS AUSRUFEZEICHEN IN DER ZWEITEN ZEILE VERGESSEN!
 +
 +Versuche die folgende Definition der Fakultätsfunktion
 +
 +{{:lehrkraefte:snr:informatik:python:fakultaet-definition.png?300|}}
 +
 +in ein Programm zu übersetzen.
 +
 +Wenn dir das gelingt, hast du "selbst" entdeckt, was //Rekursion// ist: Eine Funktion, die sich selbst (oft auch mehrfach) aufruft - aber so, dass das Programm nicht unendlich lange läuft.
 +
 +Die obige Definition ist übrigens die sogenannte //induktive// oder //rekursive// Definition der Fakultätsfunktion.
 +</WRAP>
 +
  
  
Line 172: Line 190:
 if s == "Welt": if s == "Welt":
     print("Weltschmerz")     print("Weltschmerz")
-s = "Hallo" +s = "Hallo" 
-print(s)+print(s)
 </code> </code>
-Wenn man hier aber die ''if''-Kontrollstruktur durch die beiden auskommentierten Zeilen ersetzt, so funktioniert das Programm wieder.+Wenn man hier aber die ''if''-Kontrollstruktur durch die beiden auskommentierten Zeilen ersetzt, so funktioniert das Programm wieder: Nun gibt es aber wie oben zwei voneinander unabhängige Variablen mit dem Namen ''s''.
 </WRAP> </WRAP>
  
Line 182: Line 200:
  
  
 +
 +
 +
 +===== Einige Lösungsvorschläge =====
 +<hidden Fakultät>
 +<code python>
 +def fakultaet(x):
 +    wert = 1
 +    for i in range(1, x + 1):
 +        wert = wert * i
 +    return(wert)
 +
 +print(fakultaet(5))
 +
 +for k in range(10):
 +    print("%d! = %d" % (k, fakultaet(k)))
 +</code>
 +</hidden>
  
  
  • lehrkraefte/snr/informatik/python/funktionen.1635874937.txt.gz
  • Last modified: 2021/11/02 18:42
  • by Olaf Schnürer