program familijetrouglova;
uses crt,graph;
function def:real;
  var Xasp,Yasp:word;
  begin
    GetAspectRatio(Xasp,Yasp);
    def:=Xasp/Yasp;
  end;
var driver,mode,n,d:integer;
    a,xc,yc,h,r:real;
begin
  ClrScr;
  write(' Unesi velicinu stranice trougla u pixelima:');
  readln(a);
  write(' Unesi duzinu familije (n) i razliku pluprecnika susednih trouglova:');
  readln(n,d);
  n:=n-1;
  driver:=detect;
  initgraph(driver,mode,'');
  if (a>886) or (a<0)
    then
    begin
      restorecrtmode;
      writeln(' Velicina stranice mora biti u intervalu [0,886]!');
      write(' (pritisni <enter> za kraj)');
      readln
    end
    else
    begin
      xc:=GetMaxX/2;
      yc:=GetMaxY/2;
      h:=a*sqrt(3)/2;
      r:=a*sqrt(3)/3;
      moveto(round(xc-a/2),round(yc+h/3));
      LineRel(round(a),0);
      LineRel(-round(a/2),-round(h*def));
      LineRel(-round(a/2),round(h*def));
      while (n>=0) and (r>0) do
      begin
        a:=r*sqrt(3);
        MoveTo(round(xc-(a/2)),round(yc+r/2));
        LineRel(round(a),0);
        LineRel(-round(a/2),-round(3*r/2));
        LineRel(-round(a/2),round(3*r/2));
        r:=r-d;
        dec(n)
      end;
      readln;
      closegraph
    end
end.