Python Algorithmen Aufgaben

lock
Bevorstehend
Ziele dieses Moduls
Keine Ziele hinterlegt.

🧩 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 Beziehung
ggT(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.