Построить график функции и найти все возможные ее решения - Turbo Pascal
Формулировка задачи:
Задав конкретную функцию F(x), построить на символьном экране дисплея ее график и графически найти все возможные решения, не применяя никаких численных методов.
При реализации учесть, что вид функции и интервал могут быть любыми (в конкретных вариан-тах задан тестовый интервал и значение корня на этом интервале - для проверки правильности построения графика данной функции).
В программе должны быть предусмотрены соответствующие процедуры и функции
Решение задачи: «Построить график функции и найти все возможные ее решения»
textual
Листинг программы
- uses crt;
- function f(x:real):real;
- begin
- f:=exp(x)-exp(-x)-2;
- end;
- const a=0;{параметры графика}
- b=1;
- var x,y,mx,my,x1:real;
- i:byte;
- begin
- clrscr;
- {Заголовок}
- gotoXY(25,1);
- write('График функции F(x)=e^x-e^-x-2');
- gotoXY(28,2);
- writeln('на интервале x=[0..1]');
- {оси координат}
- {ось X горизoнтально}
- gotoXY(7,7);
- for i:=0 to 73 do
- if i mod 7=0 then
- write(#194)
- else write(#196);
- i:=14;
- x:=0.1;
- while x<=b+0.05 do
- begin
- gotoXY(i-1,9);
- write(x:0:1);
- x:=x+0.1;
- i:=i+7;
- end;
- {ось Y вертикально}
- for i:=1 to 25 do
- begin
- gotoXY(7,i);
- if (1+i) mod 4=0 then write(#180)else write(#179);
- end;
- y:=0.5;
- i:=3;
- while y>=f(a) do
- begin
- gotoXY(2,i);
- write(y:4:1);
- y:=y-0.5;
- i:=i+4;
- end;
- gotoXY(8,1);
- write('Y');
- gotoXY(79,6);
- write('X');
- {график}
- mx:=68/(b-a);{масштабы по осям}
- my:=20/(f(b)-f(a)) ;
- x:=a;
- while x<=b+0.05 do
- begin
- {смещаем точки на 7 по горизонтали и на 7 по вертикали}
- gotoXY(7+round(x*mx),7-round(f(x)*my));
- if f(x)*f(x-0.05)<0 then
- begin
- textcolor(10);
- x1:=x-0.025;
- end
- else textcolor(9);
- write('*');
- x:=x+0.05
- end;
- gotoXY(50,15);
- textcolor(10);
- write('x=',x1:0:4);
- gotoXY(1,1);
- readln
- end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д