Построить график функции и найти все возможные ее решения - 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.

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

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