|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Очень нужна помощь
Всем привет , нужна программа , которая будет считать предел функции.
Пользователь вводит функцию. Пользователь вводит число к которому стремится х. И нужно будет посчитать предел и чтобы выводило подробное решение например в поле memo. И ещё нужно , если будет функция x/(x-1) и пользователь вводит x->1 , нужно , чтобы не выбило ошибку , а посчитало придел данной функции |
#2
|
||||
|
||||
А какую ошибку-то должно выбивать, когда "икс стремится к единице"
Цитата:
Код:
// Взято с STUDLAB {Вычисление предела функции} program predel; uses crt; const d=1e-8; type func=function(x:real):real; var L1,L2,L3,L4, epsilon:real; i:integer; {$F+} {Четыре разных функции} function f1(x:real):real; begin f1:=sin(x)/x end; function f2(x:real):real; begin f2:=sin(5*x)/sin(6*x); end; function f3(x:real):real; begin f3:=(sqr(sin(x))-sqr(sqr(sin(x)/cos(x))))/(3*sqr(x)+5*sqr(sqr(x))); end; function f4(x:real):real; begin f4:=(sqrt(1-x)-3)/(-exp(ln(-x)/3)+2) end; function lim(f:func; a:real;eps:real):real; {Приближение предела функции f(x) при x стремящемся к a} {Вычисления до тех пор, пока модуль разности соседних значений не станет меньше eps} var pme:integer; y1, y2, x:real; begin pme:=-1;y2:=f(a+5); i:=1; repeat y1:=y2; pme:=pme*(-1);; x:=a+pme/i; y2:=f(x); i:=i+1; until (abs (y2-y1) lim:=y2; end; Begin clrscr; epsilon:=1; writeln('Пределы'); repeat L1:=lim(f1, 0, epsilon); L2:=lim(f2, pi, epsilon); L3:=lim(f3, 0, epsilon); L4:=lim(f4, -8, epsilon); writeln ('epsilon=', epsilon:10:8,' L1=',L1:8:5, ' L2=', L2:8:5,' L3=', L3:8:5,' L4=', L4:8:5 ); epsilon := epsilon*0.1; until epsilon < d; readln; End. Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
Смотри , напрмер пользователь ввёл функцию х/(х-1) и х->1
Получится 1/0 и делфи выбьет ошибку ,а нужно чтобы вывело подробное решение |