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.

Universität Fakultät SAI

Ingo Melzer, 02 Dezember 1998