Pomogay
Мудрец
(15527)
11 месяцев назад
Ваш код написан на Pascal с использованием графической библиотеки GraphABC, которая предназначена для рисования статических графиков и изображений. Чтобы организовать анимацию построения графика функции, вам нужно внести изменения, чтобы рисовать график постепенно, создавая эффект анимации.
Для этого можно использовать процедуру `Redraw`, которая будет перерисовывать экран после каждого добавления точки на графике. Также стоит добавить задержку с помощью процедуры `Sleep`, чтобы анимация была заметна. Вот измененный код:
```pascal
program pr1;
uses graphabc;
var
x, y: real;
procedure DrawGraph;
begin
ClearWindow; // Очищаем окно перед перерисовкой
line(320, 0, 320, 430);
line(0, 200, 640, 200);
setpencolor(clRed);
x := -25;
while x <= 25 do
begin
y := sin(x) + 0.5 * cos(x);
circle(trunc(x * 50 + 320), trunc(y * 50 + 200), 2);
x := x + 0.1;
Redraw; // Перерисовываем окно
Sleep(50); // Задержка для создания эффекта анимации
end;
end;
begin
SetWindowSize(640, 430); // Устанавливаем размер окна
OnDraw := DrawGraph; // Устанавливаем DrawGraph как процедуру для отрисовки
Redraw; // Первичная отрисовка
end.
```
Этот код будет постепенно рисовать график функции `y = sin(x) + 0.5 * cos(x)`, создавая эффект анимации. Обратите внимание, что анимация может зависеть от производительности компьютера и установленной задержки в `Sleep`.
program pr1;
uses graphabc;
var
x,y:real;
begin
line(320,0,320,430);
line(0,200,640,200);
setpencolor(clred);
x:=-25;
while x<=25 do
begin
y:=sin(x)+0.5*cos(x);
circle(trunc(x*50+320),trunc(y*50+200),2);
x:=x+0.1;
end;
end.