Faktorisierung: Definitionsmodul


Wir wollen ein Bibliotheksmodul Zahlen entwickeln, das eine Prozedur Zerlege zur Berechnung und Ausgabe der Primfaktorzerlegung einer natürlichen Zahl exportiert. Dazu legen wir seine Schnittstelle in einem Definitions-Modul fest.

DEFINITION MODULE Zahlen;
  (* Modul zur Faktorisierung natuerlicher Zahlen *)
  (* Vorlesung EI1 WS 1999/2000 *)
  (* Klaus Lagally, 09.11.1999  *)

PROCEDURE Zerlege(n: CARDINAL);
  (* bestimme die Primfaktorzerlegung der Zahl n *)
  (* und gib sie in der Form  n=f1*f2*...*fk aus *)

END Zahlen.
Dies ist die gesamte Information, die einem Anwender der Prozedur Zerlege bekannt sein muß. Die interne Realisierung ist ihm nicht zugänglich, und sie soll ihn auch nicht interessieren; wir behalten uns vor, sie abzuändern (und dabei hoffentlich zu verbessern), ohne daß er dies wissen oder gar sein Programm neu übersetzen muß; ein neuer Bindevorgang wird dann allerdings nötig sein, da sich ja der ausführbare Code geändert hat.

Bevor das Definitions-Modul verwendet werden kann, muß es noch in eine geeignete interne Darstellung übersetzt werden.

Die Realisierung für das Bibliotheks-Modul findet sich in einem gleichbenannten Implementierungs-Modul.


zurück | oben | vor | Inhalt | Index | Vorlesung

Klaus Lagally, 22. Februar 2000, 19:36