Постройте график линейного уравнения с двумя переменными - 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.

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

  1. Создается функция F1(x), которая принимает переменную x и возвращает значение 5+x.
  2. Создается функция F2(x), которая принимает переменную x и возвращает значение -7-2*x.
  3. Создаются переменные a, b, m, x, x1, y1, x0, y0, i, s, s1.
  4. Инициализируется графический режим с помощью функции initgraph(x0, y0, '').
  5. Задаются начальные значения для переменных x0, y0, i, s и s1.
  6. Вычисляется значение m как (y0-40)/F1(b).
  7. Строятся линии на графике: оси X и Y, а также засечки на каждой из осей.
  8. Строятся графики функций F1(x) и F2(x) с помощью функции while.
  9. Строится эллипс с помощью функции fillellipse.
  10. Выводятся подписи осей X и Y, а также название графика.
  11. Выводится значение переменной x1 и y1.
  12. Выводится название графика с помощью функции outtextXY.
  13. Выводится значение переменной x1, y1 с помощью функции str.
  14. Выводится значение переменной m с помощью функции str.
  15. Выводится значение переменной x0 с помощью функции str.
  16. Выводится значение переменной y0 с помощью функции str.

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


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

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

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