Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Нужно изменить код Pascal

sitrimi Ученик (147), на голосовании 10 месяцев назад
Организовать анимацию построения графика функции. Вот код:
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.
Голосование за лучший ответ
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`.
sitrimiУченик (147) 11 месяцев назад
неизвестное имя OnDraw выбивает
Похожие вопросы