Урок 10. Операторы цикла с условием while и repeat
Урок из серии: «Язык программирования Паскаль»

В этом уроке Вы познакомитесь с операторами цикла с условием.
Операторы цикла с условием используются тогда, когда число повторений тела цикла заранее неизвестно, а задано лишь условие повторения (или окончания) цикла.
Оператор цикла с условием содержит две части: условие и тело цикла. В зависимости от их взаимного расположения, различают две разновидности циклов с условием: циклы с предусловием и циклы с постусловием.
В языке программирования Паскаль для организации циклов с условием используются операторы While и Repeat.
Оператор цикла с предусловием While
Оператор while (пока) называют оператором цикла с предусловием за то, что проверка условия выполнения тела цикла производится в самом начале оператора, до операторов тела цикла. Если условие изначально не выполнится, то операторы тела цикла не выполнятся ни разу.
Формат оператора:
На русском языке это звучит примерно так:
пока выполняется условие делай
начало
конец
Алгоритм выполнения оператора:
При использовании цикла с предусловием надо помнить следующее:
Пример. Составить программу для нахождения суммы 10 произвольных чисел, введенных с клавиатуры.
В данном примере перед циклом обнуляются значение счетчика введенных чисел k и их суммы sum.
В начале оператора while проверяется условие k 
где Repeat (повторять), until (до тех пор).
Обратите внимание на то, что данный оператор цикла предполагает несколько операторов в теле цикла, поэтому операторные скобки begin и end не нужны.
Пример. Составить программу, которая будет вводить и суммировать любое количество чисел. Если будет введено число 999, на экран вывести результат суммирования.
Для решения этой задачи сначало нужно ввести число, а потом проверить его значение (проверить условие выхода из цикла). Для этого нужен цикл с постусловием.
Коротко о главном
1. Операторы While Repeat используют в тех случаях, когда заранее неизвестно число повторений тела цикла или шаг отличен от 1.
2. При организации циклов с проверкой условия обязательно нужно указать:
На следующем уроке рассмотрим применение циклов в задачах на целочисленную арифметику.
Операторы цикла в языке Си
Рассмотрим третью алгоритмическую структуру — цикл.
Циклом называется блок кода, который для решения задачи требуется повторить несколько раз.
Каждый цикл состоит из
Цикл выполняется до тех пор, пока блок проверки условия возвращает истинное значение.
Тело цикла содержит последовательность операций, которая выполняется в случае истинного условия повторения цикла. После выполнения последней операции тела цикла снова выполняется операция проверки условия повторения цикла. Если это условие не выполняется, то будет выполнена операция, стоящая непосредственно после цикла в коде программы.
В языке Си следующие виды циклов:
Цикл с предусловием while
Общая форма записи
Пример на Си : Посчитать сумму чисел от 1 до введенного k
Пример бесконечного цикла
while — цикл с предусловием, поэтому вполне возможно, что тело цикла не будет выполнено ни разу если в момент первой проверки проверяемое условие окажется ложным.
Например, если в приведенном выше коде программы ввести k=-1, то получим результат
Цикл с постусловием do. while
Общая форма записи
Использовать цикл do. while лучше в тех случаях, когда должна быть выполнена хотя бы одна итерация, либо когда инициализация объектов, участвующих в проверке условия, происходит внутри тела цикла.
Результат выполнения:
Параметрический цикл for
Общая форма записи
for — параметрический цикл (цикл с фиксированным числом повторений). Для организации такого цикла необходимо осуществить три операции:
Эти три операции записываются в скобках и разделяются точкой с запятой ; ;. Как правило, параметром цикла является целочисленная переменная.
Инициализация параметра осуществляется только один раз — когда цикл for начинает выполняться.
Проверка Условия повторения цикла осуществляется перед каждым возможным выполнением тела цикла. Когда выражение, проверяющее Условие становится ложным (равным нулю), цикл завершается. Модификация параметра осуществляется в конце каждого выполнения тела цикла. Параметр может как увеличиваться, так и уменьшаться.
Пример на Си : Посчитать сумму чисел от 1 до введенного k
Результат выполнения 
В записи цикла for можно опустить одно или несколько выражений, но нельзя опускать точку с запятой, разделяющие три составляющие цикла.
Код предыдущего примера можно представить в виде
Параметры, находящиеся в выражениях в заголовке цикла можно изменить при выполнении операции в теле цикла, например
Вложенные циклы
В Си допускаются вложенные циклы, то есть когда один цикл находится внутри другого:
Пример : Вывести числа от 0 до 99, по 10 в каждой строке
Результат выполнения 
Рекомендации по выбору цикла
При выборе цикла необходимо оценить необходимость проверки условия при входе в цикл или по завершении прохождения цикла.
Цикл с постусловием удобно применять в случаях, когда для проверки условия требуется вычислить значение выражения, которое затем будет размещено в теле цикла (см. выше пример ввода числа от 0 до 10).
Цикл c предусловием используется в случае если все переменные, участвующие в выражении, проверяющем условие, проинициализированы заранее, но точное число повторений цикла неизвестно или предполагается сложная модификация переменных, участвующих в формировании условия повторения цикла.
Если цикл ориентирован на работу с параметром, для которого заранее известно число повторений и шаг изменения, то более предпочтительным является параметрический цикл. Очень удобно использовать параметрический цикл при работе с массивами для перебора элементов.
Операторы прерывания и продолжения цикла break и continue
Оператор break позволяет выйти из цикла, не завершая его.
Оператор continue позволяет пропустить часть операторов тела цикла и начать новую итерацию.
Пример на Си : Вывести числа от 0 до 99 ниже главной диагонали
Результат выполнения
Пример на Си : Вывести числа от 0 до 99 исключая числа, оканчивающиеся на 5 или 8
Результат выполнения
При вложенных циклах действия операторов break и continue распространяется только на самую внутреннюю структуру, в которой они содержатся.
Оператор безусловного перехода goto
Общая форма записи
Пример на Си : Вывести все целые числа от 5 до 0.
Обучение C#
Формула программиста
Работая с этим сайтом, Вы даете согласие на использование файлов Cookie.
Операторы цикла
Цикл с предусловием
Закрепить тему циклов с предусловием Вы можете в разделе Пока-цикл курса Алгоритмика
Цикл с постусловием
Закрепить тему циклов с постусловием Вы можете в разделе Do-рацикл курса Алгоритмика
Параметрический цикл
Закрепить тему параметрических циклов Вы можете в разделе For-to-чки курса Алгоритмика
Цикл перебора элементов
Вложенные циклы
Закрепить тему вложенных циклов Вы можете в разделах Любимые циклы, Матрёшки курса Алгоритмика
Операторы передачи управления
Оператор прерывания цикла break предназначен для принудительного выхода из цикла. Он прекращает выполнение операций цикла и передает управление следующей операции, размещенной после цикла. При использовании вложенных циклов оператор break осуществляет выход из цикла, внутри которого он непосредственно размещен.
В качестве примера рассмотрим тот же вывод чисел от 0 до 99 в виде матрицы, но при условии, что у всех выводимых чисел разряд единиц должен быть не больше разряда десятков.
Результат выполнения программы представлен на рисунке

Закрепить тему операторов передачи управления Вы можете в разделе Обман цикла курса Алгоритмика
Автор: Вставская Елена Владимировна
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.
Ты в любой момент сможешь отписаться от рассылки.
Основатель проекта
Вебинары C#
+ Бесплатно, каждую субботу
+ Создание программ с нуля
+ Решение консольных задач
Видео-уроки
+ 300 практических видеоуроков
+ 400 интерактивных задач
+ Видео-решения и разбор
Миссия
Погружение в язык C#
Мотивация к изучению языка
Прокачка навыков программирования
Операторы цикла с условием в Паскале
1. В каких случаях используются операторы цикла с условием?
2. В каких случаях используется оператор цикла с предусловием? Как он оформляется? Как он работает (что происходит при его выполнении)? Нарисовать графическую схему выполнения.
3. Что такое «тело оператора цикла с предусловием»?
4. Может ли тело оператора цикла с предусловием:
а) не выполниться ни разу?
б) выполняться бесконечное число раз (или до тех пор, когда пользователь пре- рвет его выполнение)?
5. В каких случаях используется оператор цикла с постусловием? Как он оформляется? Как он работает (что происходит при его выполнении)? Нарисовать графическую схему выполнения.
6. Что такое «тело оператора цикла с постусловием»?
7. Может ли тело оператора цикла с постусловием:
а) не выполниться ни разу?
б) выполняться бесконечное число раз (или до тех пор, когда пользователь пре- рвет его выполнение)?
8. Всегда ли можно вместо оператора цикла с параметром использовать оператор цикла с предусловием? А наоборот?
9. Всегда ли можно вместо оператора цикла с параметром использовать оператор цикла с постусловием? А наоборот?
1. Оператор цикла с условием используется в случае отсутствия явного итератора (счетчика) элементов или когда удобнее остановить выполнение цикла по условию, а не выполнять заданное количество итераций
2. Цикл с предусловием — цикл, который выполняется пока истинно некоторое условие, указанное перед его началом.
3. Есть оператор, есть условие, есть тело цикла. Оператор в теле цикла может изменить условие, сделав его ложным.
5. Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла.
7. а) не может б) может
8. всегда можно заменить, но иногда это усложняет конструкцию
1) Ответ: 12
2) Ответ: i = 30
3) Ответ: б), потому что условие проверяется перед началом работы очередного круга цикла.
3 (. ) ) Ответ: 2 раза. В ходе работы цикла переменная p должна стать равной 0.02
4) Ответ: г)
Какое тут должно быть объяснение? Всё прекрасно видно, если посмотреть на саму задачу! Сначала i равен нулю, потом ему прибавляется в значении по единице, пока i не станет равным пяти (0,1,2,3,4,5). Итого к S прибавляется единица шесть раз.
Снизу практически анологично. Это максимально тупо, что просите объяснения к таким простым вопросам.
5) Ответ: г)
Какое тут должно быть объяснение? Всё прекрасно видно, если посмотреть на саму задачу! Сначала i равен —1, потом ему прибавляется в значении по единице, пока i не станет равным 2 (—1,0,1,2). Итого к S прибавляется единица 4 раза.
Коротко о главном










