====== 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 Aufruf ''ggt(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
===== Abgabe =====
Geben Sie den ausgefüllten Tracetable in Moodle ab.
[[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi