Вычисления с требуемой точностью - Free Pascal
Формулировка задачи:
надо посчитать, я код написал но он только принимает данные а ответа не дает, спасибо!
program gg;
var a,s,eps,k,t:real;
begin
repeat
writeln('vvedite 0<eps<0,5');readln(eps);
until (eps>0) and (eps<0.5); t:=-1;
k:=1;s:=0;a:=0.5;
while abs(a)>eps do
begin
s:=s+a;k:=k+1;t:=-t;
a:=((-1)*k)/2;
end;
writeln('s=',s:0:6,'k=',k);
end.Решение задачи: «Вычисления с требуемой точностью»
textual
Листинг программы
program gg;
var
s, eps, t : real;
n : integer;
begin
repeat
writeln('vvedite 0<eps<0,5');readln(eps);
until (eps>0) and (eps<0.5);
t := 1; n := 0; s := 0;
repeat
inc(n);
t := - t / 2;
s := s + n * t;
until abs(n * t) < eps;
writeln('s=',s:0:6,' n=',n);
end.
Объяснение кода листинга программы
- Объявление переменных: s, eps, t (реальные числа), n (целое число).
- Повторяющийся блок кода, который выполняется до тех пор, пока значение переменной eps не будет введено в диапазоне от 0 до 0.5.
- Инициализация переменных t, n и s значением 1, 0 и 0 соответственно.
- Повторяющийся блок кода, который выполняется до тех пор, пока абсолютное значение n*t не станет меньше значения переменной eps.
- Вычисление значения переменной s путем добавления к ней значения n*t.
- Вывод значения переменной s с точностью до 6 знаков после запятой и значения переменной n.