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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2008, 09:39   #1
PavelSS
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 23
Хорошо Задача на сходящийся ряд

Помогите кто чем может!
Вычислить сумму бесконечно сходящегося ряда при заданном значении X.
Изображения
Тип файла: png задача.png (5.6 Кб, 143 просмотров)
PavelSS вне форума Ответить с цитированием
Старый 24.12.2008, 10:22   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

А Вы уверены, что ряд сходящийся?
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 24.12.2008, 10:30   #3
PavelSS
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 23
По умолчанию

Да в книжке именно так написано.
PavelSS вне форума Ответить с цитированием
Старый 24.12.2008, 10:35   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

1. Предел n-ого члена ряда не стремится к 0 при стремлении n в бесконечность

2.Модули членов ряда не образуют монотонно убывающую последовательность(почитайте признак Лейбница для знакочередующихся рядов)


P.S. Если -0.1<x<-1 тогда бы условие выполнилось

Код:
uses crt;
const eps=0.0001;
var s:real;
    sum,x,temp:real;
    i:integer;
function power(x:real;y:integer):real;
var i:integer;
    res:real;
begin
res:=1;
  for i:=1 to y do
    res:=res*x;
power:=res;
end;

begin
repeat
clrscr;
writeln('input x');
readln(x);
until (x>-1) and (x<=-0.1);
i:=0;
repeat
inc(i);
temp:=power((1+x),i)/i;
if i mod 2 = 0 then sum:=sum+temp
   else sum:=sum-temp;
until temp<=eps;
writeln('Sum: ',sum:10:7);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 24.12.2008 в 10:37.
alex_fcsm вне форума Ответить с цитированием
Старый 24.12.2008, 10:54   #5
PavelSS
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 23
По умолчанию

Спасибо, а эту же задачу можно решить по другому ?

вот пример подобной задачи и решить нужно таким методом !!

Код:
var x,eps,S,H,B:real;
n,C:integer;
begin writeln('Input X and EPS');
readln(x,eps);
B:=1; S:=1; H:=1; n:=0; C:=1;
while ABS(B)>eps do begin
n:=n+1; H:=H*SQR(x)/((2*n-1)*(2*n));
C:=-C; B:=(2*SQR(n)+1)*C*H; S:=S+B;
end;
Writeln('Summa Ryada =',S);
Writeln('4islo 4lenov ryada n=',n)
end.
Буду благодарен если у вас чтото получится.
PavelSS вне форума Ответить с цитированием
Старый 24.12.2008, 11:08   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

У меня тоже самое только eps через константу задается. Можете сделать
так
Код:
var  eps:real;

.................
writeln('Input EPS');
readln(eps);
..............
Можете тоже выводить i - число членов вошедших в сумму
Код:
Writeln('Число слагаемых',i);
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 24.12.2008, 11:23   #7
PavelSS
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 23
По умолчанию

Так у вас через function и repeat а преподавателю похоже что именно это и ненравится =) Эту задачу вообще можно решить без function и repeat, а через while как в этой подобной задаче ?
PavelSS вне форума Ответить с цитированием
Старый 24.12.2008, 11:36   #8
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от PavelSS Посмотреть сообщение
Так у вас через function и repeat а преподавателю похоже что именно это и ненравится =) Эту задачу вообще можно решить без function и repeat, а через while как в этой подобной задаче ?
Здесь исправить-то можно и самому

Код:
uses crt;
var s:real;
    eps,sum,x,temp:real;
    i,j:integer;

begin
repeat
clrscr;
writeln('input x');
readln(x);
until (x>-1) and (x<=-0.1);
writeln('input eps');
readln(eps);
i:=0;
temp:=1;
while temp>=eps do
begin
inc(i);
temp:=1;
for j:=1 to 2*i do
 temp:=temp*(1+x);
temp:=temp/i;
if i mod 2 = 0 then sum:=sum+temp
   else sum:=sum-temp;
end;
writeln('Sum: ',sum:10:7);
writeln('Amount ',i);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 24.12.2008, 11:39   #9
PavelSS
Пользователь
 
Регистрация: 15.12.2008
Сообщений: 23
По умолчанию

Спасибо, всё дело в том что мы ещё мало прошли и решаем простенькие задачки с простыми операторами а вот function ещё не проходили =)))
PavelSS вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ряд Тейлора в паскале Ku6ep Помощь студентам 2 10.04.2010 20:16
Разложение в ряд Маклорена Mari Помощь студентам 2 03.02.2008 23:23
Ряд Тейлора . Паскаль Zond235 Паскаль, Turbo Pascal, PascalABC.NET 5 30.01.2008 01:42
задача:Паскаль и ряд чисел Фибоначчи SEREG@ Помощь студентам 20 16.12.2007 20:05
[QBasic] Вычислить ряд!! toad88 Помощь студентам 1 20.11.2007 00:07