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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2012, 13:25   #1
Vse Strogo
 
Регистрация: 26.12.2011
Сообщений: 5
По умолчанию добрый день. вычислить значение суммы.

всегда были проблемы с циклами у меня.
задание: нужно вычислить значение суммы с заданной точностью, вычислить значение соответствующей функции.
у меня значения неправильные. видать что то неправильно.


procedure TForm2.Button1Click(Sender: TObject);

var y, x, s,p,k,e, f:real;
s1:string;
i,n:byte;
const eps=0.0001;
label bI;
begin
X:=strtofloat(s1);
if ((x*x+2*x+2) <>0) and ((x*x+2*x+2)>=0) then
y:=ln(1/((x*x+2*x+2)))
else
begin
messagedlg('Введины не верные данные!',mterror,[mbOK],0) ;
goto bI;
end;
s:=0;
p:=(1+x);
k:=-1;
f:=1;
n:=1;
repeat
f:=n;
p:= (p*p*x);
e:=P/f;
s:=s+k*(p/f);
k:=-k;
until e<=eps;
labelededit4.text:=floattostr(y);
labelededit3.text:=floattostr(s);
bI: end;
end.
Изображения
Тип файла: jpg Безымянный2.jpg (18.3 Кб, 119 просмотров)
Vse Strogo вне форума Ответить с цитированием
Старый 21.04.2012, 13:45   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,341
По умолчанию

Попробуйте (писал здесь, так что возможны ошибки):
Код:
s:=0;
z:=(1+x)*(1+x);
k:=-1;
n:=1;
an:=k*z/n;
while an>=eps do
begin
	s:=s+an;
	inc(n);
	z:=z*(1+x)*(1+x);
	k:=-k;
	an:=k*z/n;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
добрый день на паскале ddeman666 Помощь студентам 3 03.06.2010 17:08