Траектория на Паскале или на С++ - Turbo Pascal

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

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

(Фотография текста заменена текстом) Материальная точка движется вдоль плоскости OXY согласно закону Построить траекторию точки.
x(t) y(t)
1 sin(2t) cos(3t)
2 sin(3t) cos(4t)
3 sin(4t) cos(5t)
4 sin(5t) cos(6t)
5 sin(6t) cos(7t)
6 sin(7t) cos(8t)
7 sin(8t) cos(9t)
8 sin(9t) cos(10t)
9 sin(10t) cos(11t)
10 sin(11t) cos(12t)

Решение задачи: «Траектория на Паскале или на С++»

textual
Листинг программы
  1. uses graph;
  2. var r,t:real;
  3.     x0,y0,x,y:integer;
  4. begin
  5. initgraph(x,y,'');
  6. x0:=getmaxX div 2;
  7. y0:=getmaxY div 2;
  8. t:=0;
  9. setcolor(12);
  10. while t<=2*pi do
  11.  begin
  12.   r:=sqrt(sqr(sin(3*t))+sqr(cos(4*t)));
  13.   x:=x0+round(100*r*cos(t));
  14.   y:=y0-round(100*r*sin(t));
  15.   if t=0 then moveto(x,y)
  16.   {putpixel(x,y,12);}
  17.   else lineto(x,y);
  18.   t:=t+0.01;
  19.  end;
  20. readln
  21. end.

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

  1. Подключается библиотека graph.
  2. Объявляются переменные r, t: real; x0, y0, x, y: integer.
  3. Вызывается функция initgraph(x, y, ''), которая устанавливает графическую среду.
  4. Вычисляется значение x0 и y0 с помощью функции getmaxX и getmaxY, которые, вероятно, возвращают максимальные координаты по осям x и y.
  5. Устанавливается начальная точка для траектории (x0, y0).
  6. Устанавливается цвет фона с помощью функции setcolor(12).
  7. Запускается цикл while, который будет выполняться до тех пор, пока значение переменной t не станет равным 2*pi (пи).
  8. Внутри цикла вычисляется значение переменной r с помощью функции sqrt(sqr(sin(3t))+sqr(cos(4t))), которая вычисляет квадратный корень из суммы квадратов синуса и косинуса.
  9. Вычисляются значения переменных x и y с помощью функций round(100rcos(t)) и round(100rsin(t)) соответственно.
  10. Если значение переменной t равно 0, то выполняется команда moveto(x, y), которая перемещает курсор к точке (x, y).
  11. Если значение переменной t не равно 0, то выполняется команда lineto(x, y), которая рисует линию от текущей точки (x, y) до точки (x+round(100rcos(t)), y-round(100rsin(t))).
  12. Значение переменной t увеличивается на 0.01.
  13. После завершения цикла выводится сообщение readln.

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы