Сделать так чтобы график имел координатнаую сетку, и график был в виде точек, а не кривой - Turbo Pascal
Формулировка задачи:
сделать так чтобы была координатная сетка, и график был в виде точек, а не кривой
Решение задачи: «Сделать так чтобы график имел координатнаую сетку, и график был в виде точек, а не кривой»
textual
Листинг программы
uses graph; function F(x:real):real; begin F:=x*x*sin(3*x)*sin(3*x); end; var xn,xk,max,min,x,y,mx,my,dx:real; x0,y0,i:integer; s:string; begin initgraph(x0,y0,''); xn:=0;xk:=1.6; x0:=50; mx:=(getmaxX-x0-10)/xk; max:=F(xn); x:=xn; while x<=xk do begin x:=x+0.01; if F(x)>max then max:=F(x) end; y0:=getmaxY-50; my:=(y0-30)/max; line(0,y0,getmaxX,y0); line(x0,0,x0,getmaxY); setlinestyle(0,1,2); for i:=1 to trunc (max*10)+1 do begin line(x0-3,y0-round(i*my/10),x0+3,y0-round(i*my/10)); line(x0+round(i*mx/10),y0-3,x0+round(i*mx/10),y0+3); str(i/10:0:1,s); if i mod 2=0 then begin settextstyle(0,0,1); outtextXY(x0-30,y0-round(i*my/10),s); end; settextstyle(0,1,1); outtextXY(x0+round(i*mx/10),y0+10,s); end; settextstyle(0,0,1); outtextXY(getmaxX-20,y0-20,'X'); outtextXY(x0+10,10, 'Y'); outtextXY(x0-10,y0+10,'0'); x:=xn; dx:=0.01; setcolor(12); setfillstyle(1,12); while x<=xk do begin fillellipse(x0+round(x*mx),y0-round(F(x)*my),1,1); x:=x+dx; end; setcolor(12); outtextXY(getmaxX div 2-100,20,'y=x*x*sin(3*x)*sin(3*x)'); outtextXY(getmaxX div 2-100,40,'interval [0;1.6]'); readln end.
Объяснение кода листинга программы
- Функция F(x) вычисляет значение выражения xxsin(3x)sin(3*x).
- Переменные xn и xk используются для определения начального и конечного значений переменной x в процессе построения графика.
- Переменные max и min используются для определения максимального и минимального значений функции F(x).
- Переменные x0, y0, i, s используются для инициализации графика и отображения точек и линий на графике.
- Функция initgraph используется для инициализации графика с указанными начальными координатами.
- Переменная mx вычисляется как ((getmaxX-x0-10)/xk) при установке оси X, а переменная my вычисляется как (y0-30)/max при установке оси Y.
- Цикл while используется для построения графика путем последовательного приближения к точке максимума функции F(x).
- Вложенные циклы for используются для построения линий и текста на графике.
- Функция str используется для отображения чисел в виде строк с заданным количеством знаков после запятой.
- Переменные settextstyle и outtextXY используются для установки стиля текста и его отображения на графике.
- Переменные setfillstyle и fillellipse используются для установки стиля заливки и отображения эллипса на графике.
- Переменные getmaxX, getmaxY и getmaxY используются для получения максимальных значений осей X, Y и Y соответственно.
- Переменные x и y используются для хранения текущих значений осей X и Y.
- Переменная dx используется для последовательного приближения к точке максимума функции F(x).
- Переменные xn и xk используются для определения начального и конечного значений переменной x.
- Переменные min и max используются для определения минимального и максимального значений функции F(x).
- Переменные x0 и y0 используются для инициализации осей X и Y соответственно.
- Переменная i используется для установки стиля текста и его отображения на графике.
- Переменные s и str используются для отображения чисел в виде строк с заданным количеством знаков после запятой.
- Переменные setcolor и outtextXY используются для установки цвета и отображения текста на графике.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д