Вот задачка
При заданном значении x и eps вычислить s(x,e), прекратив вычисления кода очередной член суммы по абсолютной елечине станет меньше e. При том же значении x вычеслить функцию y(x). Близость значений s(x,e) и y(x) указывает на правельность вычислений (ЭТО ЗАДАНИЕ ИЗ МЕТОДИЧКИ)
Вот сами функции и ряд
s(x,e)=x-x^2/2+x^3/3-x^4/4+x^5/5-...; y(x)=ln(1+x); [-1<x<=1]
Я программу написал, она была простенька, но после этого преподаватель попросил что бы я написал программу во первых с помощью функции во вторых, нужно вычислять сумму ряда при трех разных значениях e+ каждое значение е нужно вводить самому. Дальше еще сделать так что бы на экран выводилось количество итераций, и выводить достигнута ли точность или нет.+ еще конечное количество итераций задавать самому.
Вот код, что тута не правельно =) ?
const eps=1e-7;
var x,c,y,e:real;
i,l,j:integer;
fl:boolean;
procedure summa(x,e:real; l:integer;var s:real;var f:boolean; var n:integer);
var a:real;
begin
n:=1;
a:=x; {первый член}
s:=a;
while (abs(a)>e) and (n<l) do
begin
n:=n+1;
a:=a*(-1)*n/(n+1); {рекурентная формула}
s:=s+a;
end;
s:=s*2;
if abs(a)<e then
f:=true
else
f:=false;
end;
begin
writeln('vvedite x,l');
readln(x,l);
y:=ln(x+1);
for i:=1 to 3 do
begin
writeln ('vvedite e');
readln(e);
summa(x,e,l,c,fl,j);
if fl then
writeln('tochno')
else
writeln ('ne tochno');
writeln('s=',c,' y=',y,' iteracii=',j);
end;
end.
Добавлено через 12 мин.
И еще помогите с еще одной проблемкой. У меня задание
Нужно найти предел последовательности an=(1-cos(2/n))/1/n*sin(1/n) при n->бесконечность.(предел этой последовательность заранее дан он равен "2" . Дан он для того что бы сравнить примерное значение вычисляемого на паскале последовательности и 2)
Я предел вычислил через вот такой код
var an,an1,eps,x,y,z,c:real;
i,n:integer;
begin
readln(eps);
an1:=(1-cos(2))/sin(1);
i:=0;
n:=1;
repeat
n:=n+1;
an:=an1;
x:=1/n;
y:=1/n+x;
an1:=(1-cos(y))/(1/n*sin(x));
i:=i+1;
until abs(an1-an)<eps;
writeln(an1);
writeln(i);
end.
А как вычислить предел вот такой последовательности ? an= 1/(n+1)+1/(n+2)+...+1/2*n n->бесконечность. (Lim (an)= ln2 тоже дан заранее для сравнения)
Подскажите пожалуйста
Добавлено через 10 мин.
Подскажите пожааааалуйста =) ммммплииииз
Сообщение отредактировано: sintanial -