Сделать так чтобы график имел координатнаую сетку, и график был в виде точек, а не кривой - 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.

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

  1. Функция F(x) вычисляет значение выражения xxsin(3x)sin(3*x).
  2. Переменные xn и xk используются для определения начального и конечного значений переменной x в процессе построения графика.
  3. Переменные max и min используются для определения максимального и минимального значений функции F(x).
  4. Переменные x0, y0, i, s используются для инициализации графика и отображения точек и линий на графике.
  5. Функция initgraph используется для инициализации графика с указанными начальными координатами.
  6. Переменная mx вычисляется как ((getmaxX-x0-10)/xk) при установке оси X, а переменная my вычисляется как (y0-30)/max при установке оси Y.
  7. Цикл while используется для построения графика путем последовательного приближения к точке максимума функции F(x).
  8. Вложенные циклы for используются для построения линий и текста на графике.
  9. Функция str используется для отображения чисел в виде строк с заданным количеством знаков после запятой.
  10. Переменные settextstyle и outtextXY используются для установки стиля текста и его отображения на графике.
  11. Переменные setfillstyle и fillellipse используются для установки стиля заливки и отображения эллипса на графике.
  12. Переменные getmaxX, getmaxY и getmaxY используются для получения максимальных значений осей X, Y и Y соответственно.
  13. Переменные x и y используются для хранения текущих значений осей X и Y.
  14. Переменная dx используется для последовательного приближения к точке максимума функции F(x).
  15. Переменные xn и xk используются для определения начального и конечного значений переменной x.
  16. Переменные min и max используются для определения минимального и максимального значений функции F(x).
  17. Переменные x0 и y0 используются для инициализации осей X и Y соответственно.
  18. Переменная i используется для установки стиля текста и его отображения на графике.
  19. Переменные s и str используются для отображения чисел в виде строк с заданным количеством знаков после запятой.
  20. Переменные setcolor и outtextXY используются для установки цвета и отображения текста на графике.

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


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

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

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