home *** CD-ROM | disk | FTP | other *** search
- PROGRAM triangle;
-
- (* Macht die Struktur des Pascal'schen Dreiecks sichtbar, indem fuer
- alle Zahlen mit dem angegebenen Teiler ein Punkt gesetzt wird. *)
-
- TYPE reihe = ARRAY [0..200] OF INTEGER;
-
- VAR r1, r2 : reihe;
- spalte, zeile, teiler : INTEGER;
-
- BEGIN
-
- REPEAT
-
- TextMode;
- WRITE ('Bitte den Teiler eingeben: ');
- READ (teiler);
- Hires; (* 640 x 200 Grafikmodus, Bildschirm loeschen *)
- IF teiler > 0 THEN BEGIN
- (* Arrays initialisieren *)
- FOR spalte := 1 TO 200 DO r1[spalte] := 1;
- r2[0] := 1;
-
- FOR zeile := 1 TO 200 DO BEGIN
- FOR spalte := 1 TO 200 DO BEGIN
- r2[spalte] := (r2[spalte-1] + r1[spalte]) MOD teiler;
- r1[spalte] := r2[spalte];
- IF r2[spalte] = 0 THEN BEGIN
- plot (spalte*2 + 120,zeile-1,1);
- plot (spalte*2 + 121,zeile-1,1)
- END;
- END; (* letzte Spalte *)
- END; (* letzte Zeile *)
-
- REPEAT UNTIL keypressed;
-
- END; (* Grafik fertig *)
- TextMode;
- UNTIL teiler < 1 (* Programmende, wenn Teiler < 1 *)
-
- END.