B
Biiene
Gast
Pre-Java Programmierung
Bin noch in der Pre-Java-Phase mit Pseudocode Adele.
Ich fang mit einem Beispiel an: Es sollen alle Zahlen einer bestimmten Menge zusammengezählt werden
z.B. n=3 ==> 1+2+3=6
nicht-rekursiv:
Sum (n; result)
PARAM n, result: Integer
LOCAL i : Integer
BEGIN
result := 0;
i := 1;
WHILE i <= n DO
result := result + 1;
i := i+1;
END
END Sum
rekursiv (arbeitet mit lokalen Variablen
Sum (n; result)
PARAM n, result: Integer
LOCAL i : Integer
BEGIN
IF n = 1 THEN
result := 1;
ELSE
Sum(n-1,h);
result := h + n;
END
END Sum
Und jetzt die Aufgabe, ich habe folgenden Pseudocode-Programm zum Euklidischen Algorithmus (ggT = größter gemeinsamer Teiler)
... also p=37 q=14 ==> p mod q
37 = ? * 14 + r
37 = 2 * 14 + 9
14 = 1 * 9 + 5
9 = 1 * 5 + 4
5 = 1 * 4 + 1
4 = 4 * 1 + 0
r=0 ==> ggT= 1
das ganze in Pseudocode Adele
nicht-rekursiv
Euklid (ggT; p; q)
BEGIN
r :=p mod q;
WHILE r =/ 0 DO
p : = q;
q := r;
r := p mod q;
END
ggT := q
END Euklid
rekursiv ????????????????? Wie könnte eine rekursive Prozedur in diesem Fall aussehen
Vielen Dank schon mal für mögliche Antworten.
Bin noch in der Pre-Java-Phase mit Pseudocode Adele.
Ich fang mit einem Beispiel an: Es sollen alle Zahlen einer bestimmten Menge zusammengezählt werden
z.B. n=3 ==> 1+2+3=6
nicht-rekursiv:
Sum (n; result)
PARAM n, result: Integer
LOCAL i : Integer
BEGIN
result := 0;
i := 1;
WHILE i <= n DO
result := result + 1;
i := i+1;
END
END Sum
rekursiv (arbeitet mit lokalen Variablen
Sum (n; result)
PARAM n, result: Integer
LOCAL i : Integer
BEGIN
IF n = 1 THEN
result := 1;
ELSE
Sum(n-1,h);
result := h + n;
END
END Sum
Und jetzt die Aufgabe, ich habe folgenden Pseudocode-Programm zum Euklidischen Algorithmus (ggT = größter gemeinsamer Teiler)
... also p=37 q=14 ==> p mod q
37 = ? * 14 + r
37 = 2 * 14 + 9
14 = 1 * 9 + 5
9 = 1 * 5 + 4
5 = 1 * 4 + 1
4 = 4 * 1 + 0
r=0 ==> ggT= 1
das ganze in Pseudocode Adele
nicht-rekursiv
Euklid (ggT; p; q)
BEGIN
r :=p mod q;
WHILE r =/ 0 DO
p : = q;
q := r;
r := p mod q;
END
ggT := q
END Euklid
rekursiv ????????????????? Wie könnte eine rekursive Prozedur in diesem Fall aussehen
Vielen Dank schon mal für mögliche Antworten.