Урок из серии: «Язык программирования Паскаль»

В этом уроке Вы познакомитесь с операторами цикла с условием.
Операторы цикла с условием используются тогда, когда число повторений тела цикла заранее неизвестно, а задано лишь условие повторения (или окончания) цикла.
Оператор цикла с условием содержит две части: условие и тело цикла. В зависимости от их взаимного расположения, различают две разновидности циклов с условием: циклы с предусловием и циклы с постусловием.
В языке программирования Паскаль для организации циклов с условием используются операторы While и Repeat.
Оператор цикла с предусловием While
Оператор while (пока) называют оператором цикла с предусловием за то, что проверка условия выполнения тела цикла производится в самом начале оператора, до операторов тела цикла. Если условие изначально не выполнится, то операторы тела цикла не выполнятся ни разу.
Формат оператора:
While <условие выполнения цикла> do
begin
<тело цикла>;
end;
Здесь:
<условие выполнения цикла> - булевское выражение;
<тело цикла> - операторы, которые будут повторяться. На русском языке это звучит примерно так:
пока выполняется условие делай
начало
<тело цикла>
конец
Алгоритм выполнения оператора:
- Проверяется условие выполнения цикла (вычисляется булевское выражение).
- Если условие выполняется (значение выражения равно true), то выполняются операторы, составляющие тело цикла.
- Если условие не выполняется (значение выражения равно false), то происходит выход из цикла и переход к первому после while оператора.
При использовании цикла с предусловием надо помнить следующее:
- Начальное значение переменной цикла нужно присвоить до начала выполнения цикла.
- Условие продолжения цикла должно зависеть от значения переменной цикла.
- Переменная цикла должна изменяться при каждом новом выполнении цикла, иначе цикл будет повторяться бесконечное число раз.
Пример. Составить программу для нахождения суммы 10 произвольных чисел, введенных с клавиатуры.
program demowhile;
var
k: byte;
x, sum:real;
begin
k:=0; {Счетчик чисел}
sum := 0; {Сумма чисел}
while (k < 10) do {Условие выполнения цикла}
begin
k:= k+1;
write('Введите ',k , '-е число: ');
readln(x); {Ввод очередного числа с клавиатуры}
sum := sum + x;
end;
writeln('Сумма введенных чисел равна ', sum);
end. В данном примере перед циклом обнуляются значение счетчика введенных чисел k и их суммы sum.
В начале оператора while проверяется условие k < 10.
Если условие верно, то выполняется составной оператор в теле цикла. В этом операторе вводится значение очередного числа, и на это значение увеличивается значение суммы. После этого управление в программе вновь передается оператору цикла while, опять проверяется условие k < 10.
Как только значение станет равно 10, выполнение цикла завершиться, а управление будет передано на оператор, находящийся за словом end, т. е. первый оператор за границей while.
Оператор цикла с постусловием repeat

Формат оператора:
Repeat <оператор 1> ; <оператор 2> ; . . . <оператор n>; Until <условие окончания цикла>;
где Repeat (повторять), until (до тех пор).
Обратите внимание на то, что данный оператор цикла предполагает несколько операторов в теле цикла, поэтому операторные скобки begin и end не нужны.
Алгоритм выполнения:
- Выполняется тело цикла (операторы, заключенные между словами repeat / until).
- Проверяется условие выхода из цикла.
- Если условие выполняется, то происходит выход из цикла к первому после repeat оператору.
- Если условие не выполняется, то алгоритм повторяется с пункта 1.
Пример. Составить программу, которая будет вводить и суммировать любое количество чисел. Если будет введено число 999, на экран вывести результат суммирования.
Для решения этой задачи сначало нужно ввести число, а потом проверить его значение (проверить условие выхода из цикла). Для этого нужен цикл с постусловием.
Формат оператора:
program demorepeat;
var
x, sum:real;
begin
sum := 0; {Сумма чисел}
x:=0; {Очередное число}
repeat {Повторять}
sum := sum + x;
write('Введите очередное число: ');
readln(x);
until x=999; {Условие окончания цикла}
writeln('Сумма введенных чисел равна ', sum);
end.
Коротко о главном
1. Операторы While Repeat используют в тех случаях, когда заранее неизвестно число повторений тела цикла или шаг отличен от 1.
2. При организации циклов с проверкой условия обязательно нужно указать:
- начальное значение параметра цикла;
- условие, при котором действия должны выполняться;
- приращение параметра цикла.
На следующем уроке рассмотрим применение циклов в задачах на целочисленную арифметику.
Проверь себя!
Следующий урок: Циклы и целочисленная арифметика.

Вера Альбертовна! Здравствуйте
Очень приятно было встретить на просторах грамотно методически и алгоритмически составленные задания. Прямо бальзам на мое педагогическое сердце! Спасибо
Есть замечание , малюсенькое. ЭТО , конечно опечатка
по ссылке https://gospodaretsva.com/inf9/urok21.html «Проверь себя» задание 8
написано x:= x*2-1; тогда все значения величины х будут отрицательные от -1 до -9, чего нет в ответах
надо x:= x*2+ 1;
Ох и спасибо за Ваш труд. Я тут, конечно, останусь и ссылку в избранное запишу!