Графика: график синусоиды - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

ВОТ ПРОГРАММА:
вот в этой строке
когда прибавляешь число к у,положение начала синусоиды меняется. я хочу сделать программу,где синусоида движется(как раз за счет прибавления числа к у). но тут у меня возникла проблема. когда изменяю прорграмму до такого вида
получается какая-то белеберда! помогите плиз разобраться что не так!
другая теперь беда... эту анимацию я сделал,но вот как убрать эти блики,происходящие при переходе?

Решение задачи: «Графика: график синусоиды»

textual
Листинг программы
uses GraphABC;
var y0,t0,y1,t1,k,u: integer; y,t,i: real;
begin
lockdrawing;
setWindowSize(640,400);
y0:=0; t0:=200; k:=60;
lockdrawing;
for u:=1 to 50 do
  begin
   while y<=10 do
    begin
      clearwindow;
      setPenColor(clRed);
      t:=sin(y+i);
      y1:=trunc(y0+y*k);
      t1:=trunc(t0-t*k);
      circle(y1,t1,2);
      y:=y+0.02;
      sleep(10);
      redraw;
    end;
y:=0; i:=i+0.5;
end;
end.

Объяснение кода листинга программы

  1. Установка размера окна программы на 640x400 пикселей.
  2. Инициализация переменных: y0 = 0, t0 = 200, k = 60, u = 1, i = 0.
  3. Запуск цикла, который выполняется 50 раз:
    • Внутренний цикл, который выполняется, пока y не превышает 10:
      • Очистка окна.
      • Установка цвета пера на красный.
      • Вычисление значения t как синуса (y + i).
      • Вычисление значений y1 и t1, используя линейную интерполяцию с коэффициентом k.
      • Рисуется окружность с центром в точке (y1, t1) и радиусом 2.
      • y увеличивается на 0.02, а i увеличивается на 0.5 после каждой итерации внутреннего цикла.
      • Задержка в 10 миллисекунд.
      • Перерисовка окна.
    • После завершения внутреннего цикла, y сбрасывается до 0, а i увеличивается на 0.5.
  4. Код завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы