Построить кривую синусоиду по уравнению - Turbo Pascal

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

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

x=a*t*t/(1+t*t) y=a*t*t*t/(1+t*t),a>0,t E(от минус бесконечности до +бесконечности)

Решение задачи: «Построить кривую синусоиду по уравнению»

textual
Листинг программы
procedure TForm1.FormPaint(Sender: TObject);
var x0,y0,x,y:integer;
    a,t:real;
begin
x0:=ClientWidth div 2;
y0:=ClientHeight div 2;
a:=120;
t:=-2*pi;
while t<=2*pi do
 begin
  if 1+t*t<>0 then
   begin
    x:=x0+round(a*t*t/(1+t*t));
    y:=y0-round(a*t*t*t/(1+t*t));
    Canvas.Pixels[x,y]:=clRed;
   end;
  t:=t+0.001;
 end;
end;

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

  1. В процедуре FormPaint объявлены переменные x0, y0, x, y, a, t. Переменные x0, y0 представляют координаты центра прямоугольника, в котором будет построена синусоида. Переменная a представляет амплитуду синусоиды, а переменная t - угол поворота синусоиды относительно оси X.
  2. Установлены начальные значения для переменной t равными -2*пи.
  3. Запущен цикл while t<=2*pi do, который будет выполняться до тех пор, пока значение переменной t не станет равным 2*пи.
  4. Внутри цикла проверяется условие if 1+t*t<>0 then. Если это условие истинно, то выполняется следующий блок кода.
  5. Внутри блока кода вычисляются значения переменных x и y как средние значения по осям X и Y синусоиды.
  6. Затем с помощью команды Canvas.Pixels[x,y]:=clRed; рисуется точка на синусоиде красным цветом.
  7. После завершения цикла значение переменной t увеличивается на 0.001.
  8. Код завершается.

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


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

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

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