Ausfüllen eines Lottoscheins in PASCAL
Ein Beispiel für die Verwendung des Datentyps SET
und für ausführliche Kommentare
PROGRAM Lotto;
CONST max = 49; (* aus 49 Kugeln *)
anzahl = 6; (* werden 6 gezogen *)
TYPE Lottozahl = 1..max;
Lottoschein = SET OF Lottozahl;
VAR zahl : Lottozahl;
schein : Lottoschein;
k : INTEGER;
BEGIN
schein := []; (* Am Anfang ist schein leer, *)
k := 0; (* d.h. k = 0 Zahlen sind angekreuzt. *)
REPEAT (* Wiederhole: *)
zahl := random(49) + 1; (* Waehle zahl zufaellig in {1, ..., 49}. *)
IF NOT(zahl IN schein) THEN (* Falls zahl noch nicht auf dem Schein ist, *)
BEGIN
schein := schein + [zahl]; (* dann nehme zahl in den schein auf, *)
k := k + 1 (* d.h. es wird eine weitere Zahl angekreuzt. *)
END
UNTIL k = anzahl; (* bis anzahl Zahlen angekreuzt sind. *)
(* Ausgabe *)
WriteLn('Wir schlagen folgende Lottozahlen vor:');
FOR zahl := 1 TO 49 DO
IF zahl IN schein THEN Write(zahl,' ')
END.