Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БрошюраОкончательный.doc
Скачиваний:
20
Добавлен:
28.10.2018
Размер:
3.14 Mб
Скачать

Нелинейные алгоритмы. Циклы

    1. Что такое циклы и когда они используются? Цикл появляется тогда, когда необходимо последовательно, друг за другом, повторить несколько раз одно и то же действие.

    2. Какие операторы цикла имеются в Turbo Pascal? Есть три оператора цикла. Два из них используются тогда, когда неизвестно количество повторений некоторого действия (циклы While и Repeat) и один – когда известно (For). Их синтаксис таков:

Цикл с предусловием (While):

While Условие Do Предложение;

Чтение: пока (While) выполняется Условие, выполняй (Do) Предложение. Здесь Условие суть условие продолжения цикла. Если оно истинно, то цикл продолжается и выполняется Предложение. Затем условие проверяется снова. Если условие ложно – цикл завершается.

Цикл с постусловием (Repeat):

Repeat Предложение Until Условие;

Чтение: повторяй (Repeat) Предложение, до тех пор, пока не (Until) выполнится Условие. Здесь Условие суть условие выхода из цикла. Если оно истинно, то цикл завершается. Если ложно – продолжается и выполняется Предложение. В этом отличие цикла с постусловием от цикла с предусловием. Кроме того, если цикл с предусловием может не выполниться ни разу, то цикл с постусловием всегда выполняется хотя бы один раз. Отсюда следует вывод, что циклом с постусловием следует пользоваться с осторожностью.

Цикл с параметром (For):

For Параметр:=МинЗначение To МаксЗначение

Do Предложение;

Чтение: для (For) Параметра, изменяющегося от начального значения МинЗначение до конечного значения МаксЗначение, выполняй (Do) Предложения. Параметр есть некоторая переменная, обязательно порядкового типа (целочисленная, символьная, логическая или перечисленного типа). При первом проходе цикла ей присваивается значение МинЗначение. С каждым автоматическим увеличением Параметра на единицу происходит новый прогон цикла. Последний прогон цикла соответствует случаю, когда Параметр принимает свое конечное значение МаксЗначение. Стоит заметить, что если минимальное и максимальное значения совпадают, то тело цикла выполняется только один раз.

Кроме того, если Параметр должен изменяться не в сторону увеличения, а в сторону уменьшения, то синтаксис иной:

For Параметр:=МаксЗначение DownTo МинЗначение

Do Предложение;

Соответствующие блок-схемы приведены на рисунке.

Рис. 9. Блок-схемы циклов с предусловием,

постусловием и с параметром.

Стоит сделать замечание: универсальным является цикл с предусловием. Его использования достаточно, чтобы решить любую задачу. Два иных типа цикла используются в случаях, когда это приносит выгоду в упрощении текста программы.

Кроме того, если тело цикла с предусловием или цикла с параметром содержит несколько команд, то его нужно заключать в скобки begin .. end. Если тело цикла с постусловием содержит несколько команд, то его не обязательно заключать в скобки begin .. end, так как сами слова repeat .. until играют роль операторных скобок.