Universität Ulm,
Fakultät für Mathematik und Wirtschaftswissenschaften,
SAI
Lösung zu Blatt 6 --- Allgemeine Informatik I (WS 1998)
5. Modula 2
MODULE GGT;
(* Berechnung des groessten gemeinsamen Teilers
* von zwei positiven ganzen Zahlen *)
FROM InOut IMPORT WriteLn, WriteString, WriteInt, ReadInt;
VAR x, y, tmp: INTEGER;
BEGIN
WriteString("Bestimmung des GGT:"); WriteLn;
WriteString("Bitte erste ganze Zahl: ");
ReadInt(x);
WriteString("Bitte zweite ganze Zahl: ");
ReadInt(y);
WHILE (y # 0) DO
tmp := y; (* gcd(a,b) = gcd(b,a mod b) *)
y := x MOD y;
x := tmp;
END;
WriteString("GGT = ");
WriteInt(ABS(x),0);
WriteLn;
END GGT.
Ingo Melzer, 02 Dezember 1998