![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
AlexKis |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Даны действительные числа е>0 и Х.
Вычислить Е (n от 1 до бескон) Un с заданной точностью е. Для обеспечения требуемой точности включить в сумму только те слагаемые, для которых |Un|<e. Для организации вычисления Un получить рекурентное отношение, связывающее Un+1 и Un. (-1)n*X2n/(2n)! Сообщение отредактировано: volvo - |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Для организации вычисления Un получить рекурентное отношение, связывающее Un+1 и Un. Вот с этого и начинай решение. Ты уже нашел такое отношение? Как оно ищется, знаешь? |
AlexKis |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
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.
Чтот то не так ![]() |
volvo |
![]()
Сообщение
#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) |
AlexKis |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
Косинус с суммой немного не сходиться
А так все хорошо спасибо за помощь!!! 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 - |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Введите e: 0.001 ![]() Цитата И еще для будущего почему (-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)) Я ж не просто так спросил, умеешь ли ты находить отношение, правда? ![]() |
AlexKis |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Репутация: ![]() ![]() ![]() |
![]() Я понял что вводить надо правильно. А для нахождения я использовал a(n+1) = q*a(n) |
![]() ![]() |
![]() |
Текстовая версия | 9.04.2025 5:16 |