1). Задание Вычислить значение числа π, учитывая в формуле значения слагаемых, по абсолютной величине большие или равные введенной точности ε
π=3+4(1/(2∙3∙4)-1/(4∙5∙6)+1/(6∙7∙8)-1/(8∙9∙10)+⋯)
2). Схема алгоритма методом Насси-Шнейдермана На рис. 1 приведена схема алгоритма методом Насси-Шнейдермана.
Рис. 1. Диаграмма Насси-Шнейдермана
3). Программа на языке Pascal (с описанием алгоритма)
Program Chislo_pi; Var pi, eps, slag : real; i, n, k : integer; Begin Writeln ('Введите значение точности'); Readln (eps); {Вводится значение точности} k := ceil (abs (log10 (eps))); {Вычисляется количество цифр в числе pi после запятой} pi := 3; {Начальное значение числа pi ("нулевое" слагаемое)} i := 2; {Первый множитель знаменателя первого слагаемого} n := 1; {Порядковый номер слагаемого} Repeat {Итерационный цикл для заданной точности} slag := 4/(i*(i+1)*(i+2)); {Считается очередное слагаемое} If abs(slag) >= eps Then {Вычисление числа pi, если очередное слагаемое больше или равно точности} Begin If n mod 2 = 1 Then {Определяется знак очередного слагаемого} pi := pi + slag {Считается число pi, если очередное слагаемое положительное (нечетное)} Else pi := pi - slag {Считается число pi, если очередное слагаемое отрицательное (четное)} End; Inc (n); {Увеличение порядкового номера слагаемого на единицу} Inc (i, 2); {Вычисление первого множителя знаменателя очередного слагаемого} Until abs(slag) < eps; {Выход из цикла, когда слагаемое становится меньше точности} Writeln ('pi = ', pi:k+1:k); {Вывод значения числа pi} End.
4). Тестовый набор данных (входные данные и результаты работы программы, полученные при этих данных)
Входные данные: ввод значение точности ε Результаты работы программы: вывод значение числа π 1 3 0,1 3,2 0,01 3,15 0,001 3,142 0,0001 3,1415 0,00001 3,14159 0,000001 3,141592 0,0000001 3,1415926 0,2 3,0 0,05 3,17