Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
иформатика.doc
Скачиваний:
4
Добавлен:
23.09.2019
Размер:
119.3 Кб
Скачать

14)Оператор цикла с предусловием.

Встречаются задачи , когда число повторений цикла заранее не известно а задано только некоторое условие его продолжения или окончания, для программирования таких алгоритмов в паскале существуют два типа операторов: оператор цикла с предусловием и оператор цикла с постусловием. Оператор цикла с предусловием имеет вид: while <условие> do <оператор>Где while и do служебные слова означающие пока и делать, <условие> это логическое выражение < оператор>любой оператор языка .<оператор> выполняется в цикле до тех пор пока условие истенно ( имеет значение true).Если условие можно( имеет значение fels) то цикл прекращается и выполняется оператор следующий за оператором while. Таким образом условие записываемое в операторе while является условием продолжением цикла. Если <условие> ложно с самого начала , то <оператор> не выполняется не разу. Условие вычисляется и анализируется перед каждым выполнением цикла , от суда и термин «предусловие ». Если в теле цикла необходимо выполнить несколько операторов , то их объединяют в один составной оператор с помощью операторных скобок begin и end.

15)Оператор с постусловие.

Где repeat и until служебные слова означающие повторять и до тех пор, пока не.<Оператор 1,2> это любые операторы языка.<условие> это логическое выражение. Оператор или группа операторов стоящая после служебного слова repeat выполняется при входе в оператор цикла хотя бы 1 раз и только после этого проверяется <условие>, стоящие за служебным словом until. Если условие ложно( имеет значение fels) то оператор или группа операторов выполняется в новь, и так до тех пор пока условие не станет истинным( пока не примет значение try) . Таким образом условие записываемое в операторе repeat является условием окончания цикла. Оператор цикла с предусловием оказывается полезнее оператора с постусловием так как оператор цикла с предусловием позволяет в случае необходимости не выполнять тело цикла ни разу. При программировании циклов с предусловием или пост условием необходимо соблюдать следующие рекомендации:1)Перед каждым, в том числе и первым выполнением цикла условие продолжения или окончания цикла должно быть определено, то есть иметь конкретное значение .2) Тело цикла должно содержать хотя бы один оператор влияющий на условие окончания или продолжения , иначе цикл будет продолжаться бесконечно.3) Окончание цикла в итоге должно быть выполнено.

16)Вложенные циклы

Если телом цикла является циклическая структура, то такие циклы называют вложенными или сложными. Цикл, содержащий в себе другой цикл, называют внешним. Цикл, содержащийся в теле др. цикла, называют внутренним. Внутренние и внешние циклы могут быть любыми из трех рассмотренных видов: циклами с параметром, циклами с предусловием, циклами с постусловием. Правило организации внешнего и внутреннего циклов такие же как и для простого цикла. Все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла. Вложенные циклы условно разделяют на уровни вложенности.

Уровень 0 - внешний цикл

Уровень 1 - внутренний цикл 1

Уровень 2 — внутренний цикл 2

Внешний цикл имеет уровень 0, первый внутренний цикл имеет уровень 1, 2-ой внутренний цикл имеет уровень 2 и т.д. Возможная глубина вложенности циклов (количество уровней) ограничивается объемом памяти ЭВМ.

Параметры циклов разных уровней изменяются не одновременно. Вначале все свои значения принимает поочередно параметр самого внутреннего цикла при одних и тех же значениях параметров внешних циклов. Затем изменяется на один шаг значение параметра цикла следующего уровня и снова полностью выполняется самый внутренний цикл и т.д. До тех пор пока параметры циклов всех уровней не примут все требуемые значения. Если во вложенном цикле с глубиной возможности k число повторений циклов на каждом уровне равно N0,N1...Nk соответственно, то общее количество повторений тела самого внутреннего цикла равно: N=N0*N1*...*Nk