Построить график функции и найти все возможные ее решения - Turbo Pascal

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

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

Задав конкретную функцию F(x), построить на символьном экране дисплея ее график и графически найти все возможные решения, не применяя никаких численных методов. При реализации учесть, что вид функции и интервал могут быть любыми (в конкретных вариан-тах задан тестовый интервал и значение корня на этом интервале - для проверки правильности построения графика данной функции). В программе должны быть предусмотрены соответствующие процедуры и функции

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

textual
Листинг программы
  1. uses crt;
  2. function f(x:real):real;
  3. begin
  4. f:=exp(x)-exp(-x)-2;
  5. end;
  6. const a=0;{параметры графика}
  7.       b=1;
  8. var x,y,mx,my,x1:real;
  9.     i:byte;
  10. begin
  11. clrscr;
  12. {Заголовок}
  13. gotoXY(25,1);
  14. write('График функции F(x)=e^x-e^-x-2');
  15. gotoXY(28,2);
  16. writeln('на интервале x=[0..1]');
  17. {оси координат}
  18. {ось X горизoнтально}
  19. gotoXY(7,7);
  20. for i:=0 to 73 do
  21. if i mod 7=0 then
  22. write(#194)
  23. else write(#196);
  24. i:=14;
  25. x:=0.1;
  26. while x<=b+0.05 do
  27.  begin
  28.   gotoXY(i-1,9);
  29.   write(x:0:1);
  30.   x:=x+0.1;
  31.   i:=i+7;
  32.  end;
  33. {ось Y вертикально}
  34. for i:=1 to 25 do
  35.  begin
  36.   gotoXY(7,i);
  37.   if (1+i) mod 4=0 then write(#180)else  write(#179);
  38.  end;
  39. y:=0.5;
  40. i:=3;
  41. while y>=f(a) do
  42.  begin
  43.   gotoXY(2,i);
  44.   write(y:4:1);
  45.   y:=y-0.5;
  46.   i:=i+4;
  47.  end;
  48. gotoXY(8,1);
  49. write('Y');
  50. gotoXY(79,6);
  51. write('X');
  52. {график}
  53. mx:=68/(b-a);{масштабы по осям}
  54. my:=20/(f(b)-f(a)) ;
  55. x:=a;
  56. while x<=b+0.05 do
  57.  begin
  58.   {смещаем точки на 7 по горизонтали и на 7 по вертикали}
  59.   gotoXY(7+round(x*mx),7-round(f(x)*my));
  60.   if f(x)*f(x-0.05)<0 then
  61.    begin
  62.     textcolor(10);
  63.     x1:=x-0.025;
  64.   end
  65.   else textcolor(9);
  66.   write('*');
  67.   x:=x+0.05
  68.  end;
  69. gotoXY(50,15);
  70. textcolor(10);
  71. write('x=',x1:0:4);
  72. gotoXY(1,1);
  73. readln
  74. end.

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


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

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

15   голосов , оценка 4.067 из 5

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

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

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