module AddressBook
export Enter, Delete, Change, LookUp,
PrintOut, Load, Save,
Initialize, Finalize
% Initialize address book to empty.
procedure Initialize()
% Clear address book, % freeing
% any space allocated for its elements
procedure Finalize()
procedure Enter(name, address : string,
var success : boolean)
% Precondition: Name must not be in book.
procedure Delete(name : string)
% Precondition: name must be in book.
% Change address for this name.
% The name must already be in the book.
procedure Change(name, address : string)
% Precondition: name must be in book.
procedure LookUp(name : string,
var address : string,
var success : boolean)
% Print all names and addresses in book.
procedure PrintOut()
% Read contents of book from a file.
procedure Load()
% Save contents of book in a file.
procedure Save()