LU01.A07 - Rekursiver GGT und Trace Table
Erstellen Sie einen Trace Table, um den rekursiven Ablauf zu analysieren.
Erklärung des rekursiven GGT-Algorithmus:
Der größte gemeinsame Teiler (GGT) zweier Zahlen ist der größte positive Divisor, der beide Zahlen ohne Rest teilt. Der rekursive GGT-Algorithmus basiert auf dem Euklidischen Algorithmus, der besagt, dass der GGT von zwei Zahlen a und b der gleiche ist wie der GGT von b und dem Rest der Division von a durch b. Die Rekursion endet, wenn einer der Werte 0 erreicht.
Anforderungen:
- Verwenden Sie den folgenden rekursiven Algorithmus zur Berechnung des GGT.
- Erstellen Sie einen Trace Table, um die Änderung der Variablen und den Ablauf der Rekursion nachzuvollziehen.
Algorithmus
def ggt(a, b): if b == 0: return a else: return ggt(b, a % b) # Beispielwerte a = 48 b = 18 ergebnis = ggt(a, b) print(f'GGT von {a} und {b} ist: {ergebnis}')
Aufgabe:
- Analysieren Sie den Code Schritt für Schritt.
- Erstellen Sie einen Trace Table, der die Variablen
a
,b
und den rekursiven Aufrufggt(b, a % b)
darstellt. - Verwenden Sie die folgende Struktur für den Trace Table:
Schritt | a | b | a % b | Rekursiver Aufruf (ggt(b, a % b)) | Rückgabewert |
---|---|---|---|---|---|
Füllen Sie den Trace Table basierend auf dem angegebenen Beispiel aus.
Beispielinput:
a = 48 b = 18
Beispieloutput:
GGT von 48 und 18 ist: 6