home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / modula2 / library / fst / modula3 / bigcardi.def < prev    next >
Text File  |  1993-07-28  |  1KB  |  35 lines

  1. DEFINITION MODULE bigcardinal;
  2. (* Ludewig S. 166, Bearbeitung von großen zahlen
  3.    BigCARDINAL stellt einen ADT fuer grosse natuerliche Zahlen bereit
  4.    Bei Überlauf wird als Ergebnis die größtmöglich Zahl
  5.    geliefert, ausserdem die Meldung "Überlauf" ausgegben *)
  6.  
  7. TYPE BigNo;     (* DatenTyfp für große Zahlen, opak *)
  8.  
  9. PROCEDURE Create(VAR zahl:BigNo);
  10. (* Zahl existiert anschliessend, ist nicht definiert *)
  11.  
  12. PROCEDURE Enter(VAR Zahl:BigNo;Wert:CARDINAL);
  13. (* besetzt existierende zahl mit Wert, ist dann definiert *)
  14.  
  15. PROCEDURE Add(S1,S2:BigNo;VAR Summe:BigNo);
  16. (* Addiert S1 und S2, liefert Summe
  17.    S1 un S2 müßen definiert sein, Produkt muss existieren,wird def. *)
  18.  
  19. PROCEDURE Mul(F1,F2:BigNo;VAR Produkt:BigNo);
  20. (* Multipliziert F1 un F2, liefert Produkt
  21.    F1 und F2 müßen def. sein, isPower muß exist., wird def. *)
  22.  
  23. PROCEDURE Power(Base:BigNo;Exp:CARDINAL;VAR isPower:BigNo);
  24. (* liefert in isPower Base hoch Exp
  25.    Base muß def. sein, isPower muß exist., ist dann def. *)
  26.  
  27. PROCEDURE Out(Zahl:BigNo);
  28. (* gibt definierte Zahl in einerZeile des Bildschirms aus.
  29.    Die Zahl erscheint rechtsbuendig, ohne führende Mullen *)
  30.  
  31. PROCEDURE Tausch(VAR Zahl1,Zahl2:BigNo);
  32. (* vertauscht die Werte von Zahl1 und Zahl2.
  33.    Zahl1, Zahl2 müßen def. sein *)
  34.  
  35. END bigcardinal.