Mary писал(а):Задание: ... Выдает Exitcode 201. Что исправить?
Два способа. (можно выбрать любой)
Способ №1, добавить одну строчку:
- Код: Выделить всё
- Program Zhulia;
 {$RANGECHECKS OFF}
 uses graph;
 
Способ №2, ну или забить на RGB.
- Код: Выделить всё
- Program Zhulia;
 uses graph;
 Type TComplex = record
 x,y:double;
 end;
 const iter = 50;
 Tmax = 16;
 Var z,t,c: TComplex;
 x,y,n,gd,gm: integer;
 mx,my:integer;
 
 begin
 gd:=detect;
 InitGraph(gd,gm,'');
 Randomize;
 Mx:= GetMaxX div 2;
 My:= GetMaxY div 2;
 For y:= -my to my do
 For x:= -mx  to mx do begin
 n:=0;
 z.x := x*0.005;
 z.y := y*0.005;
 c.x := 0.11;
 c.y := -0.66;
 While (sqr(z.x) + sqr(z.y) < Tmax) and (n < iter) do begin
 t:=z;
 z.x:= sqr(t.x) - sqr(t.y) + c.x;
 z.y:= 2*t.x*t.y + c.y;
 inc(n);
 end;
 if n < iter then PutPixel(mx + x, my + y, 7)
 else PutPixel(mx + x, my + y, 0);
 end;
 end.
 readln;
 end.
(второй предпочительнее, потому что чище)
Добавлено спустя 26 минут 28 секунд:НО, если хочется красивостей, то я вот такое могу предложить:
- Код: Выделить всё
- Program Zhulia;
 uses graph;
 Type TComplex = record
 x,y:double;
 end;
 const iter = 50;
 Tmax = 16;
 Var z,t,c: TComplex;
 x,y,n,gd,gm: integer;
 mx,my:integer;
 
 var
 maxN : integer;
 begin
 gd:=detect;
 gm:=0;
 InitGraph(gd,gm,'');
 Randomize;
 Mx:= GetMaxX div 2;
 My:= GetMaxY div 2;
 SetRGBPalette(16, 0, 050, 0);
 SetRGBPalette(17, 0, 100, 0);
 SetRGBPalette(18, 0, 150, 0);
 SetRGBPalette(19, 0, 200, 0);
 SetRGBPalette(20, 0, 255, 0);
 For y:= -my to my do
 For x:= -mx  to mx do begin
 n:=0;
 z.x := x*0.005;
 z.y := y*0.005;
 c.x := 0.11;
 c.y := -0.66;
 While (sqr(z.x) + sqr(z.y) < Tmax) and (n < iter) do begin
 t:=z;
 z.x:= sqr(t.x) - sqr(t.y) + c.x;
 z.y:= 2*t.x*t.y + c.y;
 inc(n);
 end;
 if n = iter then PutPixel(mx + x, my + y, 20)
 else if n >= iter - 5  then PutPixel(mx + x, my + y, 19)
 else if n >= iter - 10  then PutPixel(mx + x, my + y, 18)
 else if n >= iter - 15  then PutPixel(mx + x, my + y, 17)
 else if n >= iter - 20  then PutPixel(mx + x, my + y, 16)
 else  PutPixel(mx + x, my + y, 7)
 end;
 end.
 readln;
 end.
 
кислота... демо-сцена xD
ну или такого, галактического
- Код: Выделить всё
- Program Zhulia;
 uses graph;
 Type TComplex = record
 x,y:double;
 end;
 const iter = 50;
 Tmax = 16;
 Var z,t,c: TComplex;
 x,y,n,gd,gm: integer;
 mx,my:integer;
 
 var
 maxN : integer;
 begin
 gd:=detect;
 gm:=0;
 InitGraph(gd,gm,'');
 Randomize;
 Mx:= GetMaxX div 2;
 My:= GetMaxY div 2;
 SetRGBPalette(16, 050, 050, 255);
 SetRGBPalette(17, 100, 100, 255);
 SetRGBPalette(18, 150, 150, 255);
 SetRGBPalette(19, 200, 200, 255);
 SetRGBPalette(20, 255, 255, 255);
 For y:= -my to my do
 For x:= -mx  to mx do begin
 n:=0;
 z.x := x*0.005;
 z.y := y*0.005;
 c.x := 0.11;
 c.y := -0.66;
 While (sqr(z.x) + sqr(z.y) < Tmax) and (n < iter) do begin
 t:=z;
 z.x:= sqr(t.x) - sqr(t.y) + c.x;
 z.y:= 2*t.x*t.y + c.y;
 inc(n);
 end;
 if n = iter then PutPixel(mx + x, my + y, 20)
 else if n >= iter - 5  then PutPixel(mx + x, my + y, 19)
 else if n >= iter - 10  then PutPixel(mx + x, my + y, 18)
 else if n >= iter - 15  then PutPixel(mx + x, my + y, 17)
 else if n >= iter - 20  then PutPixel(mx + x, my + y, 16)
 else  PutPixel(mx + x, my + y, 0)
 end;
 end.
 readln;
 end.