program mandelbrot;
uses crt, graph;

var xz, yz, gd, gm : integer;
    x, y, xv, yv, a, b, c, cr, ci : real;
    durch : longint;

function sgn(zahl: real): shortint;
  begin
    if zahl<0 then sgn:=-1
              else sgn:=1;
  end;

begin
  gd:=9; gm:=2;
  initgraph(gd, gm, 'd:\tp\bgi');
  x:=0; y:=0; cr:=0.11301; ci:=-0.67037;
  a:=0.005; b:=0.99995; durch:=0;
  {repeat
    xv:=x; yv:=y;
    x:=yv-a*xv*xv+1;
    y:=b*xv;
    xz:=round(320+x*8);
    yz:=round(240-y*8);
    putpixel(xz, yz, 15);
    writeln(x, ' ', y);
    inc(durch);
  until durch>=80000;
  readln;     }
  cleardevice;
  a:=0.0001; b:=10; c:=20; durch:=0;
  repeat
    xv:=x; yv:=y;
    x:=yv-sgn(xv)*sqrt(abs(b*xv-c));
    y:=a-xv;
    xz:=round(320+x);
    yz:=round(240-y);
    putpixel(xz, yz, durch mod 16);
    {writeln(x, ' ', y);}
    inc(durch);
  until keypressed;
  readln;
  closegraph;
end.