Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на Массивы

Автор: pan 24.05.2008 18:10

ПОЖ-ТА!!! проверьте правильно ли я решил задачу!

program z1;
uses crt;
var
e,x,s,s1,s2: real; i,n: integer;
begin
clrscr;
e:=0.001; x:=-2; s1:=1; s:=0;
write ('vvedite X: ');
readln (x);
write ('vvedite N: ');
readln (n);
while abs(n*ln(x))<=e do
begin
for i:=1 to n do
begin
s1:=s1*x;
s2:=s1/i;
end;
s:=s+s2;
x:=x+0.25;
end;
writeln ('s=',s);
writeln ('x=',x);
readln;
end.


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: sintanial 24.05.2008 23:46

ммм скажи пожалуйста а причем тута массивы ?, это простая сумма ряда


while abs(n*ln(x))<=e do {толку от этого цикла ? }
begin
for i:=1 to n do
begin
s1:=s1*x;
s2:=s1/i;
end;



На счет задачи : у тебя n определяться должно из условии abs(x^n/n) , а ты его задаешь =) , поэтому лучше переделай, точности не достигнешь( вроде бы). Там n надо увеличивать на 1 или на 10( если хош что бы быстрее сумму считал) в цикле вайл до тех пор пока это условие не нарушится abs(x^n/n)eps. Так что n ты не должен задавать вручную