Mary писал(а):Задание: ... Выдает Exitcode 201. Что исправить?
Два способа. (можно выбрать любой)
Способ №1, добавить одну строчку:
- Код: Выделить всё
Program Zhulia;
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.