Показать сообщение отдельно
Старый 10.11.2011, 19:06   #1 (permalink)
Aizen_Stas
Member
 
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Программирование итерационного цикла

Доброго времени суток! Уже несколько дней пытаюсь сделать данное задание,но увы ничего не получается. Тряс всех однокурсников никто внятно помочь не может. Проблема в несовпадающих значениях функции(y) и бесконечного ряда(S).

Вот задание. Задание.docx

program work77;
const n=1000;e=0.0001;
label met;
var x,y,s,xn,xk,dx,c,a:real;
i:integer;
begin
write('Введите xn,xk,dx=');
readln(xn,xk,dx);
x:=xn;
while x<=xk do
begin
y:=ln((1+x)/(1-x));s:=0;c:=1/x;
for i:=1 to n do
begin
c:=x*x*c;
a:=c/(2*i-1);
if abs(a)<e then goto met;
s:=2*(s+a);
end;
met:writeln('x=',x:3:1,' y=',y:8:5,' s=',s:8:5,' i=',i);
x:=x+dx;
end
end.

Результаты:
x=0.5 y=1.09861 s=16.72156 i=6
x=0.6 y=1.38629 s=81.98013 i=8
x=0.7 y=1.73460 s=392.90462 i=10
x=0.8 y=2.19722 s=7427.93213 i=14
x=0.9 y=2.94444 s=35689181.46681 i=26
Делал на Pascal ABC.
Aizen_Stas вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070