Python Algorithmen Aufgaben
🧩 Lernmodul: Algorithmen mit Python – Vertiefung
🎯 Lernziele
Die Lernenden können …
-
einfache algorithmische Probleme selbstständig in Python lösen (K3)
-
Schleifen und Bedingungen gezielt einsetzen (K3)
-
Zahlenfolgen und mathematische Operationen algorithmisch strukturieren (K3–K4)
🧮 Aufgabe 1: Summe der ersten n Zahlen
Schreiben Sie eine Funktion, die die Summe der ersten n natürlichen Zahlen berechnet.
Verwenden Sie dazu eine Schleife (z. B. for oder while).
def summe_ersten_n(n):
# Ihre Lösung hier
return summe
💡 Tipp: Überlegen Sie, wie Sie die Variable summe initialisieren und in jeder Iteration verändern müssen.
Ergänzen Sie anschliessend Testaufrufe, um Ihre Funktion zu prüfen.
🔍 Aufgabe 2: Prüfen auf Primzahl
Entwickeln Sie eine Funktion, die überprüft, ob eine Zahl eine Primzahl ist.
Die Funktion soll True zurückgeben, wenn die Zahl eine Primzahl ist, sonst False.
def ist_primzahl(zahl):
# Ihre Lösung hier
return ist_prim
💡 Hinweis: Eine Primzahl ist nur durch 1 und sich selbst teilbar.
Optimieren Sie Ihren Algorithmus, indem Sie nur bis zur Quadratwurzel der Zahl prüfen.
🧬 Aufgabe 3: Fibonacci-Folge
Erstellen Sie eine Funktion, die die ersten n Zahlen der Fibonacci-Folge berechnet und zurückgibt.
Die Fibonacci-Folge beginnt mit 0 und 1, jede folgende Zahl ist die Summe der beiden vorherigen.
def fibonacci(n):
# Ihre Lösung hier
return fibo_folge
💡 Beispiel:fibonacci(7) → [0, 1, 1, 2, 3, 5, 8]
Erklären Sie anschliessend in einem Satz, wie die Rekursion in der Folge funktioniert – auch wenn Sie hier iterativ programmieren.
⚙️ Aufgabe 4: Umwandlung von Zahlensystemen
Schreiben Sie eine Funktion, die eine Dezimalzahl in eine Binärzahl umwandelt.
Die Rückgabe soll ein String mit der Binärdarstellung sein.
def dezimal_zu_binär(zahl):
# Ihre Lösung hier
return binary
💡 Beispiel:dezimal_zu_binär(10) → "1010"
Erweiterung: Implementieren Sie auch die Umkehrfunktion binär_zu_dezimal(binary).
🧠 Aufgabe 5: Grösster gemeinsamer Teiler (ggT)
Implementieren Sie eine Funktion, die den grössten gemeinsamen Teiler (ggT) zweier Zahlen bestimmt.
Verwenden Sie dafür den euklidischen Algorithmus (Modulo-Variante).
def ggt(x, y):
# Ihre Lösung hier
return teiler
💡 Erinnerung:
Der euklidische Algorithmus beruht auf der BeziehungggT(a, b) = ggT(b, a mod b)
und endet, wenn b = 0 erreicht ist.
🧩 Zusammenfassung
Diese Aufgaben decken ein breites Spektrum klassischer Algorithmusmuster ab:
-
Zählen und Summieren
-
Bedingte Entscheidungen
-
Schleifen und Iterationen
-
Zahlenfolgen
-
Modulo-Operationen
Ziel ist es, dass Sie algorithmisches Denken üben und mathematische Prozesse als Programme formulieren können.
Versuchen Sie, jede Aufgabe selbstständig zu lösen – und vergleichen Sie Ihre Lösungen anschliessend mit anderen in der Klasse.