Вывести в координатных осях график, заданный функцией - Pascal ABC

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

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

Вывести в координатных осях график, заданный функцией y(t)=t*(e^(-2t))+t*cos(2t), 0 <= t <= 2π Зараннее спасибо

Решение задачи: «Вывести в координатных осях график, заданный функцией»

textual
Листинг программы
uses graphABC;
function F(t:real):real;
begin
F:=t*(exp(-2*t)+cos(2*t));
end;
var xc,yc,n,i:integer;
    t,dt,max,min,z,x,y,mx,my:real;
    s:string;
begin
xc:=30;
yc:=windowheight div 2;
line(0,yc,windowwidth-xc,yc);
line(xc,0,xc,2*yc);
t:=0;
dt:=0.1;
max:=F(x);min:=F(x);
while t<=2*pi do
 begin
  if F(t)>max then max:=F(t);
  if F(t)<min then min:=F(t);
  t:=t+dt;
 end;
if max>abs(min) then z:=max
else z:=abs(min);
mx:=(windowwidth -40)/(2*pi);
my:=(yc-40)/z;
if z>2*pi then n:=round(z)
else n:=round(2*pi);
for i:=1 to n+1 do
 begin
  line(xc+round(i*mx),yc-3,xc+round(i*mx),yc+3);
  line(xc-round(i*mx),yc-3,xc-round(i*mx),yc+3);
  line(xc-3,yc-round(i*my),xc+3,yc-round(i*my));
  line(xc-3,yc+round(i*my),xc+3,yc+round(i*my));
  str(i,s);
  textout(xc+round(i*mx),yc+10,s);
  textout(xc-round(i*mx),yc+10,'-'+s);
  textout(xc-15,yc-round(i*my),s);
  textout(xc-15,yc+round(i*my),s);
 end;
t:=0;
dt:=0.001;
while t<=2*pi do
 begin
  t:=t+dt;
  setpixel(xc+round(t*mx),yc-round(F(t)*my),clRed);
 end;
textout(100,10,'График функции y=te^(-2t)+tcos(2t)');
textout(150,30,'на интервале [0;2pi]');
end.

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

  1. Используется графический модуль graphABC.
  2. Функция F(t:real):real; вычисляет значение функции на основе переменной t.
  3. Задаются переменные для координат, размеров, шага и т.д.
  4. Строятся оси координат.
  5. Инициализируются переменные t, dt, max, min, z, x, y, mx, my.
  6. Вычисляются значения max и min функции F(t).
  7. В цикле while t<=2*pi do обновляется значение t и проверяется, является ли текущее значение F(t) максимальным или минимальным.
  8. Если max>abs(min), то значение z присваивается max, иначе z присваивается abs(min).
  9. Значения mx и my вычисляются на основе z и yc.
  10. В цикле for i:=1 to n+1 do рисуются линии и текст на графике.
  11. Цикл while t<=2*pi do используется для вычисления значения функции F(t) и отрисовки соответствующей точки на графике.
  12. Выводится текст с описанием функции и интервала графика.

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


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

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

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