
- Код: Выделить всё
function F(x:real):real; //y=ln(x);
begin
if x>0 then F:=ln(x)*step_y; //step_y - коэффициент для масштабирования графика по Y
end;
Ведь в любой момент времени и места, я могу взять исходник и поменять функцию на другую (простите но в самой программе ввод необходимой функции я ещё не научился делать, не злитесь

- Код: Выделить всё
function F(x:real):real; //y=sqrt(x^5)/(3x^2+12x-3)
begin
if x ??? then // Ну и что за ОДЗ ?
F:=(sqrt(x*x*x*x*x)/(3*(x*x))+(12*x)-3)*step_y;
end;
В таком случае, мне нужно искать ОДЗ и писать его в условие, когда я всего навсего могу сделать так:
- Код: Выделить всё
function F(x:real):real; //y=sqrt(x^5)/(3x^2+12x-3)
begin
try
F:=(sqrt(x*x*x*x*x)/(3*(x*x))+(12*x)-3)*step_y;
except
F:=0;
end;
end;
И тут я попадаю впросак: при выполнении программы по-прежнему выводиться сообщение дебагера о ошибке мол проект вызвал класс исключении: "External: SIGFPE" в строчке F:=(sqrt(x*x*x*x*x)/(3*(x*x))+(12*x)-3)*step_y;
Помогите пожалуйста добрые люди, что я делаю не так? Почему сигнал не перехватывается обработчиком исключении? Есть ли путь обойти эту проблему с ОДЗ без использования танцев с бубном и муторных его поисков вручную? Заранее благодарю!

