NaN в ответе

Скажите, пожалуйста, что не нравится паскалю, и почему в ответе получается NaN?
Program N1;vare,f,d:integer;l,m:real;beginwrite ('Введите e, f, d' );readln (e,f,d);l:=0.4343*ln(sqr(e)-f*d+sqrt(sqr(e)+sqr(d)));m:=sin(sqr(l))+cos(sqr(l));writeln ('l=', l:4:2);writeln ('m=', m:4:2);end.
4 ответа

А что такое NaN ?


А что такое NaN ? 
Not-a-Number - ошибка вычисления для вещественных чисел, например деление на нуль или вычисление корня из отрицательного числа.. 


Если бы Вы еще написали, что именно вводите...


определи место (трассировкой) в коде исходя из введных данных где получается ошибка.А затем сделай округлении скажем до 9 знака. Прикол в том, что если ты, например, напишешь так:
var  a, b, c: ******;begin...  //идет вычисление a, b, c  по хитрым формулам...    if c <> 0 then     a := b/cend;
ты можешь получить ошибку, если с к примеру равно с=0.00000..00001, все зависит от сложности расчетаКак вариант в компиляторе можно отключить опцию check overflow