IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> факториал
medved777
сообщение 18.01.2007 10:54
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Женский

Репутация: -  0  +


Помогите пожалуйста, исправить программу. Очень прошу! Только, извиняюсь, но не смогла вставить теги.

Условия :Вычислить пpиближенное значение бесконечной суммы, суммируя n первых членов ряда. Для получения суммы членов ряда следует использовать реккурентную формулу для получения следующего члена ряда через предыдущий.
Найти S (при к от 0 до бескончности) = (-1)^2k/(k^2+1)!


 program pr1;
var S,R,e:real;
k:integer;
begin
writeln('vvod stepeni tochnosty');
readln(e);
S:=1; K:=2; r:=1/2;
while r>=e do
begin
R:=R*(1/sqr(k)+1)*(sqr(k))*(sqr(k)-1);
S:=S+R;
k:=k+1;
end;
writeln('S= ',S);
end.


Сообщение отредактировано: volvo - 18.01.2007 14:42
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
hiv
сообщение 18.01.2007 13:12
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(medved777 @ 18.01.2007 10:54) *
Код
R:=R*(1/sqr(k)+1)*(sqr(k))*(sqr(k)-1);
Проблема не с программой а с твоей математикой! Чему будет равно отношение S(k+1)/S(k) ? Ну никак не тому что ты запрограммировала (см. строку что я привел). Используй эту формулу: (n+k)! = n!*(n+1)*(n+2)*...*(n+k-1)*(n+k)

Сообщение отредактировано: hiv - 18.01.2007 13:13


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
medved777
сообщение 19.01.2007 8:04
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Женский

Репутация: -  0  +


Эту формулу мне учительница по пограммированию вывела. Возможно, я просто так дубово условия задачи написала. Думаю, что проблема все-таки в программе. Когда я ввожу степень точности, программа выдает ошибку. Пожалуйста помогите!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.01.2007 9:40
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


hiv прав, у тебя проблема с вычисление формулы. Лучше считай факториал явно в цикле и запоминай в отдельную переменную.
Вот, примерно так:
var
S,R,e,F:real;
i,k:integer;
begin
writeln('vvod stepeni tochnosty');
readln(e);
S:=1; K:=1; r:=1;
F:=1;
while r>=e do begin
for i:=Sqr(k-1)+2 to Sqr(k)+1 do F:=F*i;
R:=R/F;
S:=S+R;
k:=k+1;
end;
writeln('S= ',S);
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
medved777
сообщение 19.01.2007 12:02
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Женский

Репутация: -  0  +


Большое-пребольшое спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:24
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"