Пример 5.2.
Блок- схема алгоритма
Листинг программы
program prg_5_2;
{$mode objfpc}{$H+}
uses
Classes, SysUtils, RusTrans;
var
a,e,q,s,x: real;
n: integer;
begin
writeln(Rus(‘Введите точность’)); // Ввод данных
write(‘e=’);
readln(e);
writeln(Rus(‘Введите аргумент’));
write(‘x=’);
readln(x);
n := 0; // Инициализация цикла
a := x;
s := a;
repeat // Начало цикла
q:=-x*x/(2*n+2)/(2*n+3); // Тело цикла
a:=a*q;
s:=s+a;
n:=n+1;
until abs(a)<e;
writeln;
writeln(Rus(‘Результаты’)); // Вывод результатов
writeln(Rus(‘Сумма s=’),s:8:3);
writeln(Rus(‘Число членов ряда n=’),n);
readln;
end.
Результат работы программы такой же, как для задания 1.
Выводы
Для организации циклов с неизвестным числом повторений применяются инструкции:
- while…do (цикл ДО),
- repeat…until (цикл ПОКА).
Для выполнения в цикле while…do группы инструкций необходимо превратить ее в одну составную с помощью скобок begin…end.
При выполнении цикла repeat…until в теле цикла может находиться множество инструкций. Составная инструкция не требуется.