Итерационный цикл, Нужна помощь |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Итерационный цикл, Нужна помощь |
Zvada |
24.03.2011 23:53
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Никита Репутация: 0 |
Условия задачи таковы
основная формула Y=exp((-1/3)*ln(x)) формула вычисления "текущего" значения Y(t)=Y(p)*(4+3*(x^3)*(sqrt(Yp)) счётчик итераций k=0,1,2... Y(0)=6 x=277234 E=0,000001 Условие завершение цикла |Yt-Yp|<E по завершению цикла высчитать Y по первой формуле
выдаёт floating point overflow хотя деления на 0 я не вижу! что делать? |
Lapp |
25.03.2011 1:13
Сообщение
#2
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Условия задачи таковы основная формула Y=exp((-1/3)*ln(x)) формула вычисления "текущего" значения Y(t)=Y(p)*(4+3*(x^3)*(sqrt(Yp)) счётчик итераций k=0,1,2... Y(0)=6 x=277234 E=0,000001 Условие завершение цикла |Yt-Yp|<E по завершению цикла высчитать Y по первой формуле
выдаёт floating point overflow хотя деления на 0 я не вижу! что делать? С твоего позволения, я перепишу твою первую формулу попроще: Y = x-1/3 Вторую перепиши, пожалуйста, сам. Заодно поставь в ней недостающую скобку (я не уверен, где она должна быть). Деления на ноль у тебя действительно нет. Но есть банальное переполнение. В варианте с single оно происходит при k=2, если использовать double - то при k=4. Я не совсем понимаю, что за формула у тебя в программе. Она очень мало похожа на то, что ты написал выше. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zvada |
28.03.2011 22:28
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Никита Репутация: 0 |
цитирую задание:
Вычислить значение (У) по рекуррентной формуле. Вычисление прекратить по достижении точности (dd). Вывод организовать поэкранно с указанием номера итерации (n), текущего приближения (y) и точности. Задание(вычислить значение функции) y = x1/3 Реккурентная формула Y(текущее - т)=Y(предыдущее - п)*(4+3*x3*sqrt(y(п)) k=0,1,2,3... Вычисления прекратить при dd=|y(т)-y(п)|<E Исходные данные для контрольного просчёта y(0)=6 E=0.000001 x=277234 |
Lapp |
29.03.2011 2:55
Сообщение
#4
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
цитирую задание Спасибо, конечно, но почему ты не ответил на мои слова?Вычислить значение (У) по рекуррентной формуле. Вычисление прекратить по достижении точности (dd). Вывод организовать поэкранно с указанием номера итерации (n), текущего приближения (y) и точности. Цитата Задание(вычислить значение функции) y = x1/3 А почему в первом посте у тебя тут затесался знак минус?Цитата Реккурентная формула Y(текущее - т)=Y(предыдущее - п)*(4+3*x3*sqrt(y(п)) И все равно у тебя баланс скобок не соблюден..k=0,1,2,3... Напиши формулу правильно, тогда продолжим разговор. Не подумай, что я придираюсь. Смотри: 1. Просто, если к этому виду формулы добавить скобочку в конец, это НЕ БУДЕТ верная формула для вычисления кубического корня. Приведи правильную. 2. То, что у тебя в проге написано неправильно ДАЖЕ ДЛЯ ЭТОЙ неправильной формулы. Посмотри внимательно. Я же писал об этом в предыдущем посте.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zvada |
30.03.2011 20:41
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Никита Репутация: 0 |
Вот ссылка на задание и полное описание к моей лабе!
мой вариант под номером 8. ____.doc ( 301 килобайт ) Кол-во скачиваний: 300 |
Krjuger |
30.03.2011 22:54
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Цитата yt:=yp*(4+3*exp(3*ln(yp))); где в этой формуле участвует х?Его нету.Твоя задача по рекурентной формуле найти приближенное значение у,получив это значение найти точное значение подставив в первую формулу.У тебя в документе есть пример,что в нем непонятного?Единственное,там последовательность представлена в виде ряда,а у тебя немного другое представление и все. |
Текстовая версия | 29.04.2024 2:53 |