Вывести в координатных осях график, заданный функцией - 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.
Объяснение кода листинга программы
- Используется графический модуль graphABC.
- Функция F(t:real):real; вычисляет значение функции на основе переменной t.
- Задаются переменные для координат, размеров, шага и т.д.
- Строятся оси координат.
- Инициализируются переменные t, dt, max, min, z, x, y, mx, my.
- Вычисляются значения max и min функции F(t).
- В цикле while t<=2*pi do обновляется значение t и проверяется, является ли текущее значение F(t) максимальным или минимальным.
- Если max>abs(min), то значение z присваивается max, иначе z присваивается abs(min).
- Значения mx и my вычисляются на основе z и yc.
- В цикле for i:=1 to n+1 do рисуются линии и текст на графике.
- Цикл while t<=2*pi do используется для вычисления значения функции F(t) и отрисовки соответствующей точки на графике.
- Выводится текст с описанием функции и интервала графика.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д