Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Программа суммы ряда, с заданной (эпсилон) константой точности 
:(
    Опции темы
Oriander
  Дата 16.12.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



Уважаемые знатоки, помогите написать 2 программы 
нахождения суммы ряда с указанной точностью.
1-я программа - с передусловием, а 2-я - с послеусловием.

(сигма)Е от n=1 до бесконечности =
= exp(ln(0.5)*n)*cos(2*n)

Я лекцию пропустил, гугл не помог.
Пытался что-то сделать - так в обеих 
программах разные ответы получались.
Не могу понять саму логику этой самой "точности".
Как находить сумму ряда на заданном интервале 
(не до бесконечности) я знаю. Помогите разобраться.
 smile 



PM MAIL   Вверх
mr.Anderson
Дата 17.12.2009, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 16
Всего: 128



Раз знаешь, как искать сумму ряда на интервале, то все должно быть нормально. Верхней границей интервала теперь будет твоя точность. Только ты будешь не до нее производить суммирование, а до того момента, пока текущий член ряда не станет меньше этой самой точности. Как только он станет меньше - добавляешь его в сумму и заканчиваешь вычисление.

Добавлено через 3 минуты и 57 секунд
ЗЫ с пред- и постусловием программа реализуется практически одинаково.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Oriander
  Дата 17.12.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



Спасибо. Посмотрите что у меня получилось.
Ответы разные. В передусловии 0 выходит,
а в послеусловии -2.5

Код

program ss;
uses crt;
const E=0.01;
var s,tek:real; n:integer;
begin
     clrscr;
     s:=0; n:=1;
     while tek>E do
     begin
                tek:=exp(ln(0.5)*n)*cos(2*n);
                s:=s+tek;
                n:=n+1;
     end;
     writeln('s=',s:8:5);
     writeln('kilkist dodankiv=',n);
     readln
end.


Код

program ss;
uses crt;
const E=0.01;
var s,tek:real; n:integer;
begin
     clrscr;
     s:=0; n:=0;
     repeat
                n:=n+1;
                tek:=exp(ln(0.5)*n)*cos(2*n);
                s:=s+tek;

     until E<tek;
     writeln('s=',s:8:5);
     writeln('kilkist dodankiv=',n);
     readln
end.

PM MAIL   Вверх
mr.Anderson
Дата 17.12.2009, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 16
Всего: 128



Во втором коде постусловие неправильное.
Код
until E<tek;

Заменить на
Код
until tek < E;

А так на первый взгляд все вроде бы правильно.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Oriander
Дата 17.12.2009, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



- 0.2 выходит во второй после советуемых вами корректировок,
а это не совпадает с ответом 
первой программы, где ответ = 0.

Уже об стену бьюсь ничего понять не могу...
PM MAIL   Вверх
mr.Anderson
Дата 17.12.2009, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 16
Всего: 128



Дай точный код обеих программ (подправленных) и попробуй уменьшить точность до 0.001... Не вижу ошибки в коде.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.