Постройте график линейного уравнения с двумя переменными - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Постройте график линейного уравнения с двумя переменными y=5+x. Вывод графика с решением. (Заранее спасибо !!!! ).

Решение задачи: «Постройте график линейного уравнения с двумя переменными»

textual
Листинг программы
  1. uses graph;
  2. function F1(x:real):real;
  3. begin
  4. F1:=5+x
  5. end;
  6. function F2(x:real):real;
  7. begin
  8. F2:=-7-2*x
  9. end;
  10. var a,b,m:real;
  11.     x,x1,y1:real;
  12.     x0,y0,i:integer;
  13.     s,s1:string;
  14. begin
  15. x0:=0;
  16. initgraph(x0,y0,'');{инициализация графического режима}
  17. a:=-16;
  18. b:=10;{интервал по Х}
  19. x0:=getmaxX div 2;{начало координат по Х}
  20. y0:=getmaxY div 2;{начало координат по Y}
  21. m:=(y0-40)/F1(b);
  22. line(x0-round(17*m),y0,x0+round(17*m),y0);{оси}
  23. line(x0,0,x0,getmaxY);
  24. for i:=1 to 16 do{максимальное количество засечек в одну сторону}
  25.  begin
  26.   line(x0-3,y0-round(i*m),x0+3,y0-round(i*m));{засечки на оси У}
  27.   line(x0-3,y0+round(i*m),x0+3,y0+round(i*m));
  28.   line(x0+round(i*m),y0-3,x0+round(i*m),y0+3); {засечки на оси Х}
  29.   line(x0-round(i*m),y0-3,x0-round(i*m),y0+3);
  30.   if i mod 2=0 then
  31.    begin
  32.     {подпись оси У}
  33.     str(i,s);
  34.     outtextXY(x0-25,y0-round(i*m),s);{соответственно засечкам}
  35.     outtextXY(x0-30,y0+round(i*m),'-'+s);
  36.     {подпись оси Х}
  37.     outtextXY(x0+round(i*m),y0+10,s);
  38.     outtextXY(x0-round(i*m)-10,y0+10,'-'+s);
  39.    end;
  40.  end;
  41. {подписи концов осей}
  42. outtextXY(x0+round(16*m),y0-20,'X');
  43. outtextXY(x0+5,10, 'Y');
  44. {график}
  45. x:=a;
  46. setcolor(12);
  47. while x<=b do
  48.  begin
  49.   if x=a then moveto(x0+round(x*m),y0-round(F1(x)*m))
  50.   else lineto(x0+round(x*m),y0-round(F1(x)*m));
  51.   x:=x+0.1;
  52.  end;
  53. x:=a;
  54. setcolor(10);
  55. while x<=b do
  56.  begin
  57.   if x=a then moveto(x0+round(x*m),y0-round(F2(x)*m))
  58.   else lineto(x0+round(x*m),y0-round(F2(x)*m));
  59.   if abs(F1(x)-F2(x))<0.01 then
  60.    begin
  61.     x1:=x;
  62.     y1:=F1(x);
  63.    end;
  64.   x:=x+0.1;
  65.  end;
  66. setcolor(14);
  67. setfillstyle(1,14);
  68. fillellipse(x0+round(x1*m),y0-round(y1*m),3,3);
  69. {название}
  70. setcolor(12);
  71. outtextXY(10,80,'y=5+x');
  72. setcolor(10);
  73. outtextXY(10,100,'y=-7-2x');
  74. setcolor(14);
  75. str(x1:0:1,s);
  76. str(y1:0:1,s1);
  77. outtextXY(10,120,'x='+s+'  y='+s1);
  78. readln
  79. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы