Главная страница

компьютерная графика, язык прогр. Pascal. Отчет. Program mandelbrot uses crt, Graph Команда подключения модулей


Скачать 13.3 Kb.
НазваниеProgram mandelbrot uses crt, Graph Команда подключения модулей
Анкоркомпьютерная графика, язык прогр. Pascal
Дата31.03.2022
Размер13.3 Kb.
Формат файлаdocx
Имя файлаОтчет.docx
ТипДокументы
#430595

program mandelbrot;

uses CRT, Graph; {Команда подключения модулей}

const {Секция объявления констант}

maxcol = 640;

maxrow = 200;

max_colors = 16;

max_iterations = 1000; {Максимальное количество итераций}

max_size =6;

var {Секция объявления переменных}

Q : array[0..349] of real; {Переменные вещественного типа}

XMax,YMax,XMin,YMin : real; {Переменные вещественного типа}

P,deltaP,deltaQ,X,Y,Xsquare,Ysquare : real; {Переменные вещественного типа}

i,color,row,col,gm,gd : integer; {Переменные целого типа, где переменная gd определяет тип драйвера адаптера, переменная gm определяет режим работы адаптера, по умолчанию выбирается старший режим (с самым высоким разрешением)}

ch : char;

begin {Начало программы}

XMax := 0.8; {Максимальная граница расчета по оси x}

XMin := -2.0; {Минимальная граница расчета по оси x}

YMax := 1.0; {Максимальная граница расчета по оси y}

YMin :=-1.0; {Минимальная граница расчета по оси y}

gd:=detect; {Тип драйвера адаптера определяется автоматически, значение gm после команды gd:=detect; определяется автоматически}

InitGraph(gd,gm,'c:\TP7\BGI'); {Инициализация графики. В кавычках указывается путь к программе драйверу с расширением bgi}

deltaP := (XMax - XMin)/(maxcol);

deltaQ := (YMax - Ymin)/(maxrow);

Q[0] := YMax;

for row := 1 to maxrow do

Q[row] := Q[row-1] - deltaQ;

P := XMin;

for col := 0 to maxcol do

begin

if Keypressed then

exit;

for row := 0 to maxrow do

begin

X := 0.0;

Y := 0.0;

Xsquare := 0.0;

Ysquare := 0.0;

color := 1;

repeat

Xsquare := X*X;

Ysquare := Y*Y;

Y := 2*X*Y + Q[row];

X := Xsquare - Ysquare + P;

inc(color);

until (color>=max_iterations) OR (Xsquare + Ysquare >= max_size);

PutPixel(col,row,(color MOD max_colors));

end;

P := P + deltaP;

end;

ch := ReadKey;

end.


написать администратору сайта