|
(* search for an entry by a name *) Write.String("Name: "); Read.Line(name); index := 0; WHILE (index < maxentries) & (~addressBook[index].used OR (addressBook[index].name # name)) DO INC(index); END; IF index = maxentries THEN Write.Line("Sorry, not found!"); ELSE Write.String(addressBook[index].name); Write.String(", "); Write.Line(addressBook[index].city); END; |
Die WHILE-Schleife darf erst beendet werden,
wenn wir das Adreßbuch vollständig durchgeschaut
haben oder wir einen Eintrag mit dem gewünschten
Namen gefunden haben. Bei letzterem dürfen natürlich
nur genutzte Einträge betrachtet werden.
| |
Alternativ könnte die WHILE-Bedingung nach
der Anwendung der de Morgan'schen Regel auch so formuliert
werden:
WHILE (index < maxentries) &
Welche Variante nun bevorzugt wird, ist Geschmackssache.
|
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005 |