Постройте график линейного уравнения с двумя переменными - Turbo Pascal
Формулировка задачи:
Постройте график линейного уравнения с двумя переменными y=5+x. Вывод графика с решением. (Заранее спасибо !!!! ).
Решение задачи: «Постройте график линейного уравнения с двумя переменными»
textual
Листинг программы
- uses graph;
- function F1(x:real):real;
- begin
- F1:=5+x
- end;
- function F2(x:real):real;
- begin
- F2:=-7-2*x
- end;
- var a,b,m:real;
- x,x1,y1:real;
- x0,y0,i:integer;
- s,s1:string;
- begin
- x0:=0;
- initgraph(x0,y0,'');{инициализация графического режима}
- a:=-16;
- b:=10;{интервал по Х}
- x0:=getmaxX div 2;{начало координат по Х}
- y0:=getmaxY div 2;{начало координат по Y}
- m:=(y0-40)/F1(b);
- line(x0-round(17*m),y0,x0+round(17*m),y0);{оси}
- line(x0,0,x0,getmaxY);
- for i:=1 to 16 do{максимальное количество засечек в одну сторону}
- begin
- line(x0-3,y0-round(i*m),x0+3,y0-round(i*m));{засечки на оси У}
- line(x0-3,y0+round(i*m),x0+3,y0+round(i*m));
- line(x0+round(i*m),y0-3,x0+round(i*m),y0+3); {засечки на оси Х}
- line(x0-round(i*m),y0-3,x0-round(i*m),y0+3);
- if i mod 2=0 then
- begin
- {подпись оси У}
- str(i,s);
- outtextXY(x0-25,y0-round(i*m),s);{соответственно засечкам}
- outtextXY(x0-30,y0+round(i*m),'-'+s);
- {подпись оси Х}
- outtextXY(x0+round(i*m),y0+10,s);
- outtextXY(x0-round(i*m)-10,y0+10,'-'+s);
- end;
- end;
- {подписи концов осей}
- outtextXY(x0+round(16*m),y0-20,'X');
- outtextXY(x0+5,10, 'Y');
- {график}
- x:=a;
- setcolor(12);
- while x<=b do
- begin
- if x=a then moveto(x0+round(x*m),y0-round(F1(x)*m))
- else lineto(x0+round(x*m),y0-round(F1(x)*m));
- x:=x+0.1;
- end;
- x:=a;
- setcolor(10);
- while x<=b do
- begin
- if x=a then moveto(x0+round(x*m),y0-round(F2(x)*m))
- else lineto(x0+round(x*m),y0-round(F2(x)*m));
- if abs(F1(x)-F2(x))<0.01 then
- begin
- x1:=x;
- y1:=F1(x);
- end;
- x:=x+0.1;
- end;
- setcolor(14);
- setfillstyle(1,14);
- fillellipse(x0+round(x1*m),y0-round(y1*m),3,3);
- {название}
- setcolor(12);
- outtextXY(10,80,'y=5+x');
- setcolor(10);
- outtextXY(10,100,'y=-7-2x');
- setcolor(14);
- str(x1:0:1,s);
- str(y1:0:1,s1);
- outtextXY(10,120,'x='+s+' y='+s1);
- readln
- end.
Объяснение кода листинга программы
- Создается функция F1(x), которая принимает переменную x и возвращает значение 5+x.
- Создается функция F2(x), которая принимает переменную x и возвращает значение -7-2*x.
- Создаются переменные a, b, m, x, x1, y1, x0, y0, i, s, s1.
- Инициализируется графический режим с помощью функции initgraph(x0, y0, '').
- Задаются начальные значения для переменных x0, y0, i, s и s1.
- Вычисляется значение m как (y0-40)/F1(b).
- Строятся линии на графике: оси X и Y, а также засечки на каждой из осей.
- Строятся графики функций F1(x) и F2(x) с помощью функции while.
- Строится эллипс с помощью функции fillellipse.
- Выводятся подписи осей X и Y, а также название графика.
- Выводится значение переменной x1 и y1.
- Выводится название графика с помощью функции outtextXY.
- Выводится значение переменной x1, y1 с помощью функции str.
- Выводится значение переменной m с помощью функции str.
- Выводится значение переменной x0 с помощью функции str.
- Выводится значение переменной y0 с помощью функции str.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д