A rekurzív algoritmus

program haromszrek;
uses crt, graph;
var mode, driver: integer;

procedure rajz(x , y, d: real);
  begin
    if d > 1 then
      begin
        rajz(x, y, d/2);
        rajz(x+d/2 , y, d/2);
        rajz(x+d/4, y+d/2*sqrt(3)/2, d/2);
      end
    else
      putpixel(round(x), round(480-y), white)
  end;

begin
  driver := detect;
  initgraph(driver, mode, 'c:\bp\bgi');
  rajz(0, 0, 550);
  readkey;
  closegraph
end.