Allgemeine Informatik WS 2000/01
Prof. Dr. H. Neumann $\bullet$ Dr. K. Murmann $\bullet$ S. Geschwentner $\bullet$ Dr. F. Schwenker

9. Aufgabenblatt (bis zum 31.01.2001)



Für die vier Grundrechenarten $-$, $+$, $\cdot $, und $/$ von Bruchzahlen sollen MODULA2-Prozeduren implementiert werden. Definieren Sie hierzu einen geeigneten Datentypen Bruch.

Bei einer Bruchzahl muss der Nenner $\not = 0$ sein. Prüfen Sie jeweils nach, dass diese Bedingung erfüllt ist.

22. Aufgabe.
Implementieren Sie MODULA2-Prozeduren für die vier Grundrechenarten, sowie ReadBruch und WriteBruch zum Einlesen bzw. zur Ausgabe einer Bruchzahl. Testen Sie Ihre Prozeduren!



23. Aufgabe.
Die Bruchzahlen sollen nun maximal gekürzte Brüche werden. Implementieren Sie dazu eine MODULA2-Prozedur ggt, die den größten gemeinsamen Teiler zweier ganzer Zahlen berechnet. Bitte testen!
Hinweis: Siehe Vorlesung und Aufgabe 10 zum ggt-Algorithmus



24. Aufgabe.
Führen Sie für das folgende MODULA2-Programm eine Simulation per Hand durch. Was gibt das Programm aus?


MODULE Aufgabe24;
  FROM InOut IMPORT WriteInt, WriteLn;
VAR
   x, y, z :  INTEGER;

PROCEDURE TueWas(x : INTEGER; VAR y : INTEGER);
BEGIN
  y := x + z;
  z := y + 5;
  WriteInt(x+y+z, 3); WriteLn
END TueWas;

BEGIN (* Aufgabe 24 *)
  x := 3; y := 2; z := x-y;
  TueWas(z,z)
END Aufgabe24.





Stefan Geschwentner
2001-01-24