Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2013, 12:33   #1
Dimabara
Пользователь
 
Регистрация: 15.10.2012
Сообщений: 33
По умолчанию Floating point division by zero

вот кусок кода, принцип в том, что значения должны вбиваться в таблицу stringgrid и также рисуется график функции
с графиком все нормально, а вот при задании значений выбивает ошибку "Floating point division by zero"
деления на ноль как бы в этой функции и близко нету
в чем же тогда ошибка?

for i1:=1 to n1 do
begin

x1:=a+h*(i1+1);
y1:=(Ln(abs(((x1*x1)-4)/((x1*x1)-1))))/(ln(2));

strngrd1.Cells[0,i1]:=FloatToStrF(x1,fffixed,6,3);
strngrd1.Cells[1,i1]:=FloatToStrF(y1,fffixed,6,3);

end;
Вложения
Тип файла: rar Архив WinRAR.rar (194.7 Кб, 6 просмотров)
Dimabara вне форума Ответить с цитированием
Старый 03.02.2013, 12:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как бы
Вот именно "как бы".
Это что по твоему?
Цитата:
/((x1*x1)-1)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.02.2013, 12:50   #3
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

(x1 * x1 - 4)/(x1 * x1 - 1)
Если x1 = 1, то деление на 0

Опередили.
kangreon вне форума Ответить с цитированием
Старый 03.02.2013, 12:52   #4
Dimabara
Пользователь
 
Регистрация: 15.10.2012
Сообщений: 33
По умолчанию

уже заметил, но при проверке
try
y1:=(Ln(abs(((x1*x1)-4)/((x1*x1)-1))))/(ln(2));
strngrd1.Cells[1,i1]:=FloatToStrF(y1,fffixed,6,3);
except
strngrd1.Cells[1,i1]:='# невозможно выполнить функцию';
end;
также выбивает ошибку с 2
Dimabara вне форума Ответить с цитированием
Старый 03.02.2013, 14:33   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Выбивает, если в отладке запускать. А если просто exe запустить?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.02.2013, 20:43   #6
Dimabara
Пользователь
 
Регистрация: 15.10.2012
Сообщений: 33
По умолчанию

если просто exe запустить тоже самое
Dimabara вне форума Ответить с цитированием
Старый 03.02.2013, 20:59   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

разделите уравнение на отдельные части,и в зависимости от вероятной ошибки, делайте проверки.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Floating point overflow Ania Lunee Помощь студентам 4 18.05.2012 22:01
Floating point division by zero flouwjke Помощь студентам 2 27.04.2012 19:26
floating point division by zero Helene Rolles Помощь студентам 0 18.12.2011 21:42
is not a valid floating point value nexzis Помощь студентам 3 22.11.2010 13:55
s not a valid floating point value prod87 Помощь студентам 1 02.12.2009 20:57