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.