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

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

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

> Ряд и ещё раз ряд.., Помогите..завтра последний день..выгонят к чертям!
xlr8
сообщение 14.01.2007 21:40
Сообщение #1


Новичок
*

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

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


помогите решить ряд...сумму ряда

program Ind_Ryad;
Uses Crt;
Var x,y:real;

Function my_func(x:real):real;

Var i:integer;
z,s,p,a,b,k,t:real;

begin
i:=1;
a:=1;
b:=1;
k:=-1;
p:=1;
s:=1;

while abs(a/b)>0.01 do

begin


a:=a*abs(k);

b:=b*(2*i);
s:=s+((a/b)*p*x);
p:=-p;
x:=x*x;
k:=k+2;
i:=i+1;

end;
my_func:=s;
writeln('s=',s);
end;
Begin
clrscr;

x:=-1;
while x<=1 do

begin
y:=my_func(x);
x:=x+0.1;
end;

readkey;
End.


Сообщение отредактировано: xlr8 - 15.01.2007 1:20


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 15.01.2007 0:32
Сообщение #2


Гость






Подсказываю: во-первых, в приведенный тобой ряд функция раскладывается только при 0 <= X <= 1, не забывай это при вводе данных... А во-вторых, я бы делал вот так:

const
eps = 0.000001;

var
X, s, p: real;
p_above: longint;

next: real;
n, sign: integer;

begin
write('X [0 .. 1] = '); readln(X);

s := 1; p := 1; sign := 1;
p_above := 1;

n := 1;
repeat
if n <= 2 then p_above := 1 else inc(p_above, 2);
p := p * X * (p_above / (2 * n));
s := s + sign * p;

sign := - sign; inc(n);
until p < eps;

writeln('sqrt(1 + x) = ', s:10:6);
writeln('test: ', sqrt(1 + x):10:6); { <--- Это для теста, можно убрать эту строку }
readln;
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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