![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.09.2008
Сообщений: 335
|
![]()
Здравствуйте уважаемые гуру. Решал задачу. 2 курс. Программирование на делфи. Решал по шаблону, но что то пошло не так, и выходит ужасная ошибка. Помогите пожалуйста исправить мне мои косяки. Заранее вам очень благодарен)
Вот постановка и условие задачи. Я решаю 11 вариант(на 2 фото) ![]() ![]() Вот мой исходный код: Код:
Код:
Очень надеюсь на вашу поддержку. Заранее всем мой МОЛОДЕЖНЫЙ РЕСПЕКТ! |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Текст ошибки в студию.
На вскидку нужно перед этой функой проверять x чтоб функция считалась, если он не равен нулю.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 15.09.2008
Сообщений: 335
|
![]()
вот ошибка. Ввожу в поля эдит следующее:
Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Смотри где деление на 0. Вот в этом цикле оно точно будет, с учетом того, что начальное значение икса -100
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 15.09.2008
Сообщений: 335
|
![]()
Исправил. Сделал вот так:
Код:
Код:
Что я делаю не так - не могу понять( |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
if x<>0 для extended не корректно. 0.00000000001<>0, но при делении на него переполнение возможно. А такая ситуация при добавлении в цикле 0.01 запросто может возникнуть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 26.05.2014 в 20:43. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 15.09.2008
Сообщений: 335
|
![]()
И как с этим бороться? Выход есть из данной ситуации?
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Ну поскольку шаг 0.01, то например можно так проверять
if (x<-0.005) or (x>0.005) then или if Abs(x)>0.005 then
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 15.09.2008
Сообщений: 335
|
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,504
|
![]()
Все правильно. Вы искали корень в интервале [1;2], а там его нет. Корень 0,147 примерно. Если x в радианах конечно.
Ищите в [0;1], а лучше границы a,b тоже StrToFloat, и искать например [0,01;1] |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi. Решение системы нелинейных уравнений методами Ньютона и простых итераций. Помогите найти ошибку! | Sianessa | Помощь студентам | 8 | 13.04.2012 17:32 |
Решение нелинейных уравнений методом хорд на Delphi 6 или 7 | Vovanella | Помощь студентам | 1 | 06.12.2010 22:36 |
Решение нелинейных уравнений | s2dentishe | Помощь студентам | 0 | 18.04.2010 11:47 |
решение нелинейных уравнений | Жанна__90 | Помощь студентам | 21 | 22.07.2009 01:30 |