Функции цикла в программе. Циклы с пред- и постусловием
Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Функции цикла в программе. Циклы с пред- и постусловием





Алгоритмы решения многих задач являются циклическими, т. е. для дости­жения результата определенная последовательность действии должна быть выполнена несколько раз. Например, программа контроля знаний выводит вопрос, принимает ответ, добавляет оценку за ответ к сумме баллов, затем повторяет это действие еще раз, и еще до тех пор, пока не будут выведены все вопросы. Другой пример. Чтобы найти фамилию человека в списке, на­до проверить первую фамилию списка, затем вторую, третью и т. д. до тех пор, пока не будет, найдена нужная или не будет достигнут конец списка. Такие повторяющиеся действия называются циклами и реализуются в про­грамме с использованием инструкций циклов. Любой алгоритм циклической структуры в общем случае содержит следующие действия: задание начальных значений переменных; действия, выполняемые непосредственно в цикле, называемые телом цикла; изменение значений переменных цикла по некоторому закону; проверка условия продолжения или окончания цикла.

Имеется три разновидности циклов:

Ø цикл с предусловием;

Ø цикл с постусловием;

Ø цикл с параметром.

Оператор цикла с предусловием выполняется до тех пор, пока условие принимает значение истина. На каждом шаге цикла вычисляется значение условия, и затем выполняется тело цикла, если условие истинно, если на первом шаге цикла условие принимает ложное значение, то цикл с предусловием не выполнится ни разу. Примером такого цикла является цикл с оператором 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;









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.