Die folgenden Programmierübungen richten sich an Lernende, die etwas mehr erproben möchten als im regulären Unterricht geboten wird. Die Übungen sind eher mathematisch motiviert. Die Seite wird noch und nach weiter gefüllt.
Inhaltsverzeichnis
Iterative Ansätze
Bei iterativen Ansätzen zählt man grob gesagt hoch. Meistens beginnt man bei 0. Mal ein Beispiel
def kleiner_gauss(n): for i in range(n+1): n += 1 return n print(kleiner_gauss(100))
- Recherchiere “kleiner Gauß”. Vergleiche deine Rechercheergebnisse mit dem obigen Code.
- Erstelle eine alternative Funktion, mit der die Summe der Zahlen 1 bis n berechnet werden kann.
Heron-Verfahren
- Recherchiere das Verfahren und erstelle einen Code, mit dem du die Wurzel einer Zahl annährend bestimmen kannst.
- Vergleiche die Güte deiner Approximation mit der exakten Lösung.
- Versuche bessere Annäherungen mithilfe des numpy-Pakets zu finden. (sehr schwer)
Rekursion
Fakultät rekursiv
In Python kannst du rekursiv programmieren.
def fak(n): if n>0: return n*fak(n-1) else: return 1 print(fak(5))
Fibonacci rekursiv
Genauso kannst du auch die Fibonacci-Folge anlegen. Recherchiere die Fibonacci-Folge und überlege dir einen sinnvollen rekursiven Code für die Fibonacci-Folge.
Lösung anzeigendef fib(n): if n>2: return fib(n-2)+fib(n-1) else: return 1 print(fib(12)) # gibt die 12. Fibonacci-Zahl aus