Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2012, 00:00   #1
Анастасия93
Новичок
Джуниор
 
Регистрация: 27.11.2012
Сообщений: 5
По умолчанию Сумма бесконечно сходящегося ряда

Здравствуйте
Прошу помочь решить задачу:
Нужно вычислить сумму бесконечно сходящегося ряда при заданном значении х с точностью е=0.0001.

S=cos x + cos3x/3^2+cos5x/5^2+COS(2n-1)x/(2n-1)^2

Диапазон изменения аргумента:

п/5<=x<=п

Особенностью решения задачи является то, что число суммируемых членов ряда заранее является неизвестным. условием окончания цикла по накоплению суммы является достижение заданной точности. Значение текущего ряда зависит от параметра и от порядкового номера n. Если член ряда по абсолютной величине становится меньше заданной точности е, то производится выход из цикла.
Анастасия93 вне форума Ответить с цитированием
Старый 28.11.2012, 00:11   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Особенностью решения задачи является то, что число суммируемых членов ряда заранее является неизвестным. условием окончания цикла по накоплению суммы является достижение заданной точности. Значение текущего ряда зависит от параметра и от порядкового номера n. Если член ряда по абсолютной величине становится меньше заданной точности е, то производится выход из цикла.
Грызь убивать. Много-много убивать за такой наглый тупость автора задачи. Грызь предлагать автору задачи считать сумму гармонического ряда с точностью 1/100 и долго смеяться на результат...

Гхм. Можете пояснить выражение для n-ного слагаемого? А то у меня получается cos(x/(2n-1)) (и чёрта с два тогда оно куда-нибудь сойдётся, гы-гы). В идеале - поясните строчкой программного кода, который бы присваивал переменной step значение этого слагаемого, используя переменные x и n.
Abstraction вне форума Ответить с цитированием
Старый 28.11.2012, 00:17   #3
Анастасия93
Новичок
Джуниор
 
Регистрация: 27.11.2012
Сообщений: 5
По умолчанию

(cos(2n-1)*x)/((2n-1)^2)

Последний раз редактировалось Анастасия93; 28.11.2012 в 00:20.
Анастасия93 вне форума Ответить с цитированием
Старый 28.11.2012, 00:21   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

ОК. Теперь всё-таки, напишите строчку кода, присваивающего переменной step значение этого выражения.
Abstraction вне форума Ответить с цитированием
Старый 28.11.2012, 00:28   #5
Анастасия93
Новичок
Джуниор
 
Регистрация: 27.11.2012
Сообщений: 5
По умолчанию

Если честно то я понятия не имею что значит переменная step и как она записывается
Анастасия93 вне форума Ответить с цитированием
Старый 28.11.2012, 00:31   #6
svkpro
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 52
По умолчанию

есть пример кода на паскале:
Код:
uses crt;
const e = 0.0001;
var s,x,a: real;
    n: integer;
 
function pow(x: real; y: integer): real; {функция вычисляет степень числа}
var i: integer;
    r: real;
begin
 r:=x;
 for i:=2 to y do
  x:=x*r;
 pow:=x;
end;
 
begin
 write('x: ');
 readln(x);
 s:=(x-1)/(x+1); {самый первый член суммы ряда. Его нужно записать отдельно, т.к. он не вычисляется по общей формуле}
 n:=1;
while abs(a)>e do
 begin
  a:=(1/(2*n+1))*pow(( (x-1)/(x+1) ),(2*n+1) ); {вычисление члена ряда}
  s:=s+a; {суммирование всех членов ряда}
  n:=n+1; {порядковый номер}
 end;
 writeln('Sum = ',s:5:4);
end.
svkpro вне форума Ответить с цитированием
Старый 28.11.2012, 00:36   #7
Анастасия93
Новичок
Джуниор
 
Регистрация: 27.11.2012
Сообщений: 5
По умолчанию

Да,но он как мне сказали не верный

Const Pi=3.1415926;
var S,An,x:real;n:integer;Label Back;
begin
Back:
write('Enter X=');
readln(x);
if (Pi/5<=x) and (x<=Pi) then
begin
s:=cos(x);
An:=x;
n:=1;
while (abs(An)>0.0001) do
begin
S:=S+An;
n:=n+1;
An:=An*( (cos((2*n+1)*x)*power((2*n-1),2))/(cos((2*n-1)*x)*power((2*n+1),2)) );
end;
writeln('Sum ',n,' elements = ',S:0:5);
end
else
begin
writeln('Incorrect value of X! ',(Pi/5):0:2,'<X<',(Pi):0:2);
GoTo Back;
end;
readln;
end.
Анастасия93 вне форума Ответить с цитированием
Старый 28.11.2012, 00:39   #8
svkpro
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 52
По умолчанию

кто сказал? этот лаб я написал не сейчас а взял из старых запасов. мы ведь тоже когда то изучали паскаль. пример только другой)
svkpro вне форума Ответить с цитированием
Старый 28.11.2012, 00:43   #9
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

0) Программный код оформляется тегом форума CODE.

Цитата:
Если честно то я понятия не имею что значит переменная step и как она записывается
Это значит, что есть (даны свыше) три переменные с именами step, x и n, нужных типов. Требуется написать одну строчку кода, которая бы присваивала переменной step
Цитата:
(cos(2n-1)*x)/((2n-1)^2)
Ниоткуда не копировать, просто написать.
Abstraction вне форума Ответить с цитированием
Старый 28.11.2012, 00:47   #10
Анастасия93
Новичок
Джуниор
 
Регистрация: 27.11.2012
Сообщений: 5
По умолчанию

преподаватель сказал!!!))
а вы не можете сказать что конкретно в моем решении не так??
Анастасия93 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить сумму первых K членов бесконечного сходящегося ряда.Заканчивать |k|<E.(Pascal) Crazy_romaha Помощь студентам 0 23.12.2011 22:39
Сумма ряда fr330n Помощь студентам 0 01.10.2011 22:57
Сумма ряда Sova123456 Помощь студентам 8 11.06.2010 17:10
Две задачки на матрицы и одна на сумму бесконечного сходящегося ряда... Кто сможет помочь? GorNikSar Паскаль, Turbo Pascal, PascalABC.NET 10 13.01.2009 04:59