Траектория на Паскале или на С++ - 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
Листинг программы
uses graph;
var r,t:real;
    x0,y0,x,y:integer;
begin
initgraph(x,y,'');
x0:=getmaxX div 2;
y0:=getmaxY div 2;
t:=0;
setcolor(12);
while t<=2*pi do
 begin
  r:=sqrt(sqr(sin(3*t))+sqr(cos(4*t)));
  x:=x0+round(100*r*cos(t));
  y:=y0-round(100*r*sin(t));
  if t=0 then moveto(x,y)
  {putpixel(x,y,12);}
  else lineto(x,y);
  t:=t+0.01;
 end;
readln
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
Похожие ответы