Объяснение:
const eps = 0.0001; // Точность
var
denom, step: integer;
s, s1: real;
begin
{Начальные значения}
s := 1;
s1:= 1;
denom := 1;
step := 3;
// Вычисление суммы
repeat
s1 := s; // Сохранить предыдущее значение
denom := denom + step; // Увеличить знаменатель
if (denom mod 2) = 0 then
// Если четный знаменатель, вычитаем
s := s - 1/denom
else
// Если нечетный знаменатель, складываем
s := s + 1/denom;
until (abs(s - s1) <= eps); // Проверка на точность
// Вывод в консоль
writeln('s =', s : 10: 8, ' s1 =', s1 : 10: 8, ' denom =', denom:10);
readln(); // удержимаем консоль
end.
Объяснение:
const eps = 0.0001; // Точность
var
denom, step: integer;
s, s1: real;
begin
{Начальные значения}
s := 1;
s1:= 1;
denom := 1;
step := 3;
// Вычисление суммы
repeat
s1 := s; // Сохранить предыдущее значение
denom := denom + step; // Увеличить знаменатель
if (denom mod 2) = 0 then
// Если четный знаменатель, вычитаем
s := s - 1/denom
else
// Если нечетный знаменатель, складываем
s := s + 1/denom;
until (abs(s - s1) <= eps); // Проверка на точность
// Вывод в консоль
writeln('s =', s : 10: 8, ' s1 =', s1 : 10: 8, ' denom =', denom:10);
readln(); // удержимаем консоль
end.