|
Функции цикла в программе. Циклы с пред- и постусловиемАлгоритмы решения многих задач являются циклическими, т. е. для достижения результата определенная последовательность действии должна быть выполнена несколько раз. Например, программа контроля знаний выводит вопрос, принимает ответ, добавляет оценку за ответ к сумме баллов, затем повторяет это действие еще раз, и еще до тех пор, пока не будут выведены все вопросы. Другой пример. Чтобы найти фамилию человека в списке, надо проверить первую фамилию списка, затем вторую, третью и т. д. до тех пор, пока не будет, найдена нужная или не будет достигнут конец списка. Такие повторяющиеся действия называются циклами и реализуются в программе с использованием инструкций циклов. Любой алгоритм циклической структуры в общем случае содержит следующие действия: задание начальных значений переменных; действия, выполняемые непосредственно в цикле, называемые телом цикла; изменение значений переменных цикла по некоторому закону; проверка условия продолжения или окончания цикла. Имеется три разновидности циклов: Ø цикл с предусловием; Ø цикл с постусловием; Ø цикл с параметром. Оператор цикла с предусловием выполняется до тех пор, пока условие принимает значение истина. На каждом шаге цикла вычисляется значение условия, и затем выполняется тело цикла, если условие истинно, если на первом шаге цикла условие принимает ложное значение, то цикл с предусловием не выполнится ни разу. Примером такого цикла является цикл с оператором while. В операторе цикла с постусловием на каждом шаге сначала выполняется оператор, а затем вычисляется значение условия. Данный процесс продолжается до тех пор, пока условие принимает значение ложь. Примером такого цикла является цикл с оператором repeat. В цикле с параметром вычисляется значение выражения и на каждом шаге счетчик цикла принимает последовательно все значения от начального до конечного. Примером может служить цикл с оператором for. Отличие циклов с предусловием и постусловием 1) Цикл с предусловием выполняется пока условие истинно. Цикл с постусловием выполняется пока условие ложно. 2) Тело цикла с постусловием выполнится всегда хотя бы один раз. Тело цикла с предусловием может не выполниться ни разу. 3) Если тело цикла repeat - until представляет собой составной оператор, то операторные скобки begin - end можно опустить.
Оператор While. Вечные циклы Оператор while является примером использования цикла с предусловием и используется в том случае, если некоторуюпоследовательность действий (инструкций программы) надо выполнить несколько раз, причем необходимое число повторений во время разработки программы неизвестно и может быть определено только во время ее работы, т.е. определяется ходом вычисления. Типичными примерами использования цикла whileявляются вычисления с заданной точностью, поиск в массиве или в файле. В общем виде инструкция while записывается так:
while условие do тело цикла;
Примечание. Если между begin и end находится только одна инструкция, то begin и end можно не писать.
Инструкция while выполняется следующим образом: сначала проверяется условие (вычисляется значение выражения условие). Если условие не выполняется (значение выражения условие равно false), то инструкции цикла, расположенные между begin и end, не выполняются, и на этом выполнение инструкции while завершается. Если условие выполняется (значение выражения условие равно true), то выполняются следующие за do, расположенные между begin и end, инструкции цикла, и после этого снова проверяется выполнение условия. Если условие выполняется, то инструкции цикла выполняются еще раз. И так до тех пор, пока условие не станет ложным. Таким образом, инструкции цикла выполняются до тех пор, пока условие истинно (значение выражения условие равно true). Пример использования: … x:=10; while not x=0 do x:=x-1; Алгоритм, соответствующий инструкции while, представлен на Рисунок 17 - Блок – схема, соответствующая инструкции while.
Рисунок 17 - Блок – схема, соответствующая инструкции while Обратите внимание Для того чтобы инструкции цикла while были выполнены хотя бы один раз, необходимо, чтобы перед выполнением инструкции while условие выполнения цикла было истинно. Для того чтобы цикл завершился, необходимо, чтобы последовательность инструкций между begin и end изменяла значения переменных, входящих в выражение условие. Вечные циклы Если в теле цикла выполняются действия, которые не могут привести к изменению значения условия, то получаем вечный цикл. Что во многих случаях приводит к зацикливанию приложения или зависанию компьютера. Пример использования: … t:=true; while t do begin x:=100; if x<10 then t:=false; end; Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования... Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|