Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по дисциплине Объектно-ориентирован...doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
14.3 Mб
Скачать

8. Оператор цикла while

Структура while...do используется для организации циклического выполнения оператора, называемого телом цикла, пока выполняется некоторое условие. Синтаксис управляющей структуры while...do:

while <условие> do <оператор>;

Структура работает следующим образом. Сначала вычисляется <условие>, которое должно возвращать результат булева типа. Если условие возвращает true, то выполняется оператор тела цикла, после чего опять вычисляется выражение, определяющее условие. Такое циклическое повторение выполнения оператора и проверки условия продолжается до тех пор, пока условие не вернет false. После этого цикл завершается и управление передается оператору, следующему за структурой while...do.

9. Прерывание цикла: оператор break, процедуры Continue, Exit и Abort

В некоторых случаях желательно прервать повторение цикла, проанализировав какие-то условия внутри него. Это может потребоваться в тех случаях, когда проверки условия окончания цикла громоздкие, требуют многоэтапного сравнения и сопоставления каких-то данных и все эти проверки просто невозможно разместить в выражении условия операторов for, repeat или while.

Один из возможных вариантов решения этой задачи — ввести в код какой-то флаг окончания (переменную). При выполнении всех условий окончания этой переменной присваивается некоторое условное значение. Тогда условие в операторах for, repeat или while сводится к проверке, не равно ли значение этого флага принятому условному значению.

Другой способ решения задачи — использование оператора break. Этот оператор прерывает выполнение тела любого цикла for, repeat или while и передает управление следующему за циклом выполняемому оператору. Еще один способ прерывания — использование оператора goto, передающего управление какому-то оператору, расположенному вне тела цикла.

Для прерывания циклов, размещенных в процедурах или функциях, можно воспользоваться процедурой Exit. В отличие от оператора break, процедура Exit прервет не только выполнение цикла, но и выполнение той процедуры или функции, в которой расположен цикл.

Прервать выполнение цикла, а заодно — и блока, в котором расположен цикл, можно также генерацией какого-то исключения. Наиболее часто в этих целях используется процедура Abort, генерирующая «молчаливое» исключение, не связанное с каким-то сообщением об ошибке.

Описанные способы прерывали выполнение цикла. Имеется еще процедура Continue, которая прерывает только выполнение текущей итерации, текущего выполнения тела цикла и передает управление на следующую итерацию.

Контрольные вопросы:

  1. Для чего предназначен оператор with?

  2. Какие функции выполняет оператор case?

  3. Опишите пример применения полного и сокращенного варианта оператора условия.

  4. Какие операторы цикла используются в языке Obejct Pascal?

  5. Как можно прервать выполнение цикла?

Рекомендуемая литература: 1.1, 1.3, 1.5, 1.6, 1.8.

Лекция № 6 Тема: Динамическое распределение памяти. Исключения. Сообщения Windows.

План:

  1. Динамическое распределение памяти

  2. Исключения

  3. Последовательность обработки исключений

  4. Преднамеренная генерация исключений

  5. Сообщения Windows и их обработка