| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Pascal] Программа суммы ряда |
| Автор: Oriander 16.12.2009, 22:23 |
| Уважаемые знатоки, помогите написать 2 программы нахождения суммы ряда с указанной точностью. 1-я программа - с передусловием, а 2-я - с послеусловием. (сигма)Е от n=1 до бесконечности = = exp(ln(0.5)*n)*cos(2*n) Я лекцию пропустил, гугл не помог. Пытался что-то сделать - так в обеих программах разные ответы получались. Не могу понять саму логику этой самой "точности". Как находить сумму ряда на заданном интервале (не до бесконечности) я знаю. Помогите разобраться. |
| Автор: mr.Anderson 17.12.2009, 00:30 |
| Раз знаешь, как искать сумму ряда на интервале, то все должно быть нормально. Верхней границей интервала теперь будет твоя точность. Только ты будешь не до нее производить суммирование, а до того момента, пока текущий член ряда не станет меньше этой самой точности. Как только он станет меньше - добавляешь его в сумму и заканчиваешь вычисление. Добавлено через 3 минуты и 57 секунд ЗЫ с пред- и постусловием программа реализуется практически одинаково. |
| Автор: Oriander 17.12.2009, 17:59 | ||||
| Спасибо. Посмотрите что у меня получилось. Ответы разные. В передусловии 0 выходит, а в послеусловии -2.5
|
| Автор: mr.Anderson 17.12.2009, 19:03 | ||||
Во втором коде постусловие неправильное.
Заменить на
А так на первый взгляд все вроде бы правильно. |
| Автор: Oriander 17.12.2009, 19:17 |
| - 0.2 выходит во второй после советуемых вами корректировок, а это не совпадает с ответом первой программы, где ответ = 0. Уже об стену бьюсь ничего понять не могу... |
| Автор: mr.Anderson 17.12.2009, 20:48 |
| Дай точный код обеих программ (подправленных) и попробуй уменьшить точность до 0.001... Не вижу ошибки в коде. |