Построение графика функции на заданном промежутке - Turbo Pascal
Формулировка задачи:
Составить программу для построения графика функции на заданном промежутке.
Функция y=ln(x)/x; промежуток - a=1; b=2; И еще одно условие-График - с точек;
Координатные оси со штрихом - пунктирными линиями внутри.
Помогите пожалуйста!!!!
Решение задачи: «Построение графика функции на заданном промежутке»
textual
Листинг программы
uses graph; function F(x:real):real; begin F:=ln(x)/x; end; var a,b,max,mx,my:real; x:real; x0,y0,i:integer; s:string; begin initgraph(x0,y0,''); a:=1; b:=2;{интервал по Х} max:=F(a); x:=a; while x<=b do begin if F(x)>max then max:=F(x); x:=x+1 end; x0:=50; mx:=(getmaxX-x0-30)/b;{масштаб по Х} y0:=getmaxY-50; my:=(y0-60)/max; line(x0,y0,getmaxX,y0);{оси} line(x0,0,x0,y0); setlinestyle(1,0,1); for i:=1 to trunc(b*10)+2 do{максимальное количество засечек в одну сторону} begin line(x0,y0-round(i*my/10),getmaxX,y0-round(i*my/10));{засечки на оси У} {подпись оси У} str(i/10:0:1,s); outtextXY(x0-30,y0-round(i*my/10),s);{соответственно засечкам} if i mod 2=0 then begin line(x0+round(i*mx/10),0,x0+round(i*mx/10),y0); {засечки на оси Х} {подпись оси Х} outtextXY(x0+round(i*mx/10),y0+10,s); end; end; {центр} outtextXY(x0+5,y0+10,'0'); {подписи концов осей} outtextXY(getmaxX-10,y0-10,'X'); outtextXY(x0+5,10, 'Y'); {график} setcolor(12); setfillstyle(1,12); x:=a; while x<=b do begin fillellipse(x0+round(x*mx),y0-round(F(x)*my),2,2); x:=x+0.02; end; {название} setcolor(12); outtextXY(130,10,'y=lnx/x'); outtextXY(130,30,'int.[1;2]'); readln end.
Объяснение кода листинга программы
- Используется библиотека graph.
- Определяется функция F, которая преобразует x в ln(x)/x.
- Определяются переменные a, b, max, mx, my, x, x0, y0, i, s.
- Задается начальная точка графиков (x0, y0).
- Вычисляется максимальное значение функции F в интервале [a, b].
- Вычисляется масштаб по оси X (mx) и по оси Y (my) для интервала [a, b].
- Строятся оси X и Y с помощью функции line.
- Строятся засечки на оси Y для каждого значения i в интервале [1; trunc(b*10)+2].
- Строятся засечки на оси X для каждого значения i в интервале [1; trunc(b*10)+2].
- Строится центр оси Y с помощью функции outtextXY.
- Строятся подписи концов осей X и Y с помощью функции outtextXY.
- Строится график функции с помощью функции fillellipse.
- Строится название функции с помощью функции outtextXY.
- Выводится сообщение с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д