home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
modula2
/
library
/
fst
/
modula3
/
bigcardi.def
< prev
next >
Wrap
Text File
|
1993-07-28
|
1KB
|
35 lines
DEFINITION MODULE bigcardinal;
(* Ludewig S. 166, Bearbeitung von großen zahlen
BigCARDINAL stellt einen ADT fuer grosse natuerliche Zahlen bereit
Bei Überlauf wird als Ergebnis die größtmöglich Zahl
geliefert, ausserdem die Meldung "Überlauf" ausgegben *)
TYPE BigNo; (* DatenTyfp für große Zahlen, opak *)
PROCEDURE Create(VAR zahl:BigNo);
(* Zahl existiert anschliessend, ist nicht definiert *)
PROCEDURE Enter(VAR Zahl:BigNo;Wert:CARDINAL);
(* besetzt existierende zahl mit Wert, ist dann definiert *)
PROCEDURE Add(S1,S2:BigNo;VAR Summe:BigNo);
(* Addiert S1 und S2, liefert Summe
S1 un S2 müßen definiert sein, Produkt muss existieren,wird def. *)
PROCEDURE Mul(F1,F2:BigNo;VAR Produkt:BigNo);
(* Multipliziert F1 un F2, liefert Produkt
F1 und F2 müßen def. sein, isPower muß exist., wird def. *)
PROCEDURE Power(Base:BigNo;Exp:CARDINAL;VAR isPower:BigNo);
(* liefert in isPower Base hoch Exp
Base muß def. sein, isPower muß exist., ist dann def. *)
PROCEDURE Out(Zahl:BigNo);
(* gibt definierte Zahl in einerZeile des Bildschirms aus.
Die Zahl erscheint rechtsbuendig, ohne führende Mullen *)
PROCEDURE Tausch(VAR Zahl1,Zahl2:BigNo);
(* vertauscht die Werte von Zahl1 und Zahl2.
Zahl1, Zahl2 müßen def. sein *)
END bigcardinal.