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

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

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

 
 Ответить  Открыть новую тему 
> Найти рекурентное соотношение, Информатика
сообщение
Сообщение #1


Новичок
*

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

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


Даны действительные числа е>0 и Х.
Вычислить Е (n от 1 до бескон) Un с заданной точностью е. Для обеспечения требуемой точности включить в сумму только те слагаемые, для которых |Un|<e. Для организации вычисления Un получить рекурентное отношение, связывающее Un+1 и Un.

(-1)n*X2n/(2n)!

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
Для организации вычисления Un получить рекурентное отношение, связывающее Un+1 и Un.
Вот с этого и начинай решение. Ты уже нашел такое отношение? Как оно ищется, знаешь?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


program z4_v3;
var
a,e,q,s,x:real;
n:integer;
begin
write('Введите e: ');readln(e);
write('Введите x: ');readln(x);
n:=2;
{a:=1;}
s:=-x*x/2;
while abs(a)>e do
begin
q:=-x*x*(2*n)/(2*(n+1));
a:=s*q;
s:=s+a;
n:=n+1;
writeln(q,' ',a,' ',s);
a:=0;
end;
writeln('Сумма=',s,'Cos(x)=',cos(x*pi/180));
end.

Чтот то не так wub.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Естественно... Что ты делаешь вот тут:
Цитата
q:=-x*x*(2*n)/(2*(n+1));
? Этого не надо делать, надо делать так:
n:=0;
s:=1;
q := 1;
while abs(q) > e do
begin
n := n + 1;
q := q * (-x*x) / ((2*n - 1) * (2*n));
s := s + q;
writeln(q:10 :5, s:10 :5);
end;
, а для сравнения с Cos не приводи аргумент к радианам, ты должен задавать значение X не в градусах, а уже в радианах...

(пользуйся тегами CODE)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


Косинус с суммой немного не сходиться
А так все хорошо спасибо за помощь!!!

program z4_v3;
var
a,a1,e,q,s,x:real;
n:integer;
begin
write('Введите e: ');readln(e);
write('Введите x: ');readln(x);
n:=0;
q:=1;
s:=1;
while abs(q)>e do
begin
n:=n+1;
q:=q*(-x*x)/((2*n-1)*(2*n));
s:=s+q;
writeln(q:10:5,s:10:5);
end;
writeln('Сумма=',s:10 :2,'Cos(x)=',cos(x):10 :2);
end.


И еще для будущего почему (-x*x)/((2*n-1)*(2*n)) в знаменателе

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Введите e: 0.001
Введите x: 0.4
-0.08000 0.92000
0.00107 0.92107
-0.00001 0.92106
Сумма= 0.92Cos(x)= 0.92
Чего ж не сходится? Все сходится как раз smile.gif Какие значения ты вводил?

Цитата
И еще для будущего почему (-x*x)/((2*n-1)*(2*n)) в знаменателе
Потому что общий член ряда имеет вид: (-1)n*X2n/(2n)!, значит, на что домножать надо? правильно, на Qn/Qn-1, так? Теперь:

Qn = (-1)n*X2n/(2n)! , а Qn-1 = (-1)n-1*X2(n-1)/(2(n-1))!
Делим одно на другое, получаем
Qn/Qn-1 = (-1)n - (n-1)*X2n-2(n-1)/((2n-1)*(2n)) = (-1)1*X2/((2n-1)*(2n))

Я ж не просто так спросил, умеешь ли ты находить отношение, правда? smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


good.gif Спасибо!!!
Я понял что вводить надо правильно.

А для нахождения я использовал
a(n+1) = q*a(n)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 24.04.2024 20:51
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name