Eugeniusz Jakubas
programy źródłowe w Pascalu

Stąd można pobrać teksty źródłowe poniższych 57 programów w Pascalu pr-pascal.zip - 34 kB

41. Trójkąt Sierpińskiego

program trojkat_Sierpinskiego_max;
uses graph;
var karta, tryb, n, k, i, bok: integer;
    tr:array[1..3,1..2] of integer;
procedure trojkat (x, y, bok, znak: integer);
begin
  tr[1,1]:=x; tr[1,2]:=y;
  tr[2,1]:=x-bok div 2; tr[2,2]:=y-znak*bok div 2;
  tr[3,1]:=x+bok div 2; tr[3,2]:=y-znak*bok div 2;
  fillPoly(3,tr);
end;
begin
  karta:=detect; initGraph(karta,tryb,'');
  bok:=256; trojkat(bok,0,bok*2,-1);
  setFillStyle(1,black);
  i:=0;
  repeat
    readLn;
    for n:=0 to i do
      for k:=0 to i do
        if n and k = 0 then
          trojkat((n-k)*(bok div (i+1))+bok,
          (n+k-i)*(bok div (i+1))+bok,bok div (i+1),1);
    i:=2*i+1;
  until i>64;
  readLn; closeGraph;
end.