Обчислити суму S=1+1/2+1/3+…+1/50, використовуючи оператор While
Program Example_1 ;
VAR S: REAL; N:INTEGER;
BEGIN
S:=0; N:=1;
WHILE N<=50 DO
BEGIN
S:=S+1/N;
N:=N+1;
END;
WRITELN(' S=',S);
END.
Загальний вигляд оператора циклу з післяумовою:
repeat P until<логічний вираз>;
де значення всіх параметрів такі самі, як і в попередньому операторі.
Цикл з післяумовою працює таким чином: повторення оператора Рвідбувається доти, поки логічний вираз отримує значення false. Якщо тільки на деякому кроці циклулогічний вираз набуде значення true,цикл завершить свою роботу.
Чи відчули ви відмінність між операторами while ... doта repeat ... until?Перший оператор спочатку перевіряє значення логічного виразу, а потім вирішує, виконувати йому оператор, чи ні, а другий, навпаки, спочатку виконує вказаний оператор, а потім перевіряє, чи треба його виконувати ще раз.
Розглянемо приклад: Обчислити суму S=1+1/2+1/3+…+1/50, використовуючи оператор Repeat