Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор While. Вечные циклы

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

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

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

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

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

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

Оператор цикла с предусловием выполняется до тех пор, пока условие принимает значение истина. На каждом шаге цикла вычисляется значение условия, и затем выполняется тело цикла, если условие истинно, если на первом шаге цикла условие принимает ложное значение, то цикл с предусловием не выполнится ни разу. Примером такого цикла является цикл с оператором while.

В операторе цикла с постусловием на каждом шаге сначала выполняется оператор, а затем вычисляется значение условия. Данный процесс продолжается до тех пор, пока условие принимает значение ложь. Примером такого цикла является цикл с оператором repeat.

В цикле с параметром вычисляется значение выражения и на каждом шаге счетчик цикла принимает последовательно все значения от начального до конечного. Примером может служить цикл с оператором for.

Отличие циклов с предусловием и постусловием

1) Цикл с предусловием выполняется пока условие истинно. Цикл с постусловием выполняется пока условие ложно.

2) Тело цикла с постусловием выполнится всегда хотя бы один раз. Тело цикла с предусловием может не выполниться ни разу.

3) Если тело цикла repeat - until представляет собой составной оператор, то операторные скобки begin - end можно опустить.

 

Оператор 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, представлен на рис. 13.1.

 

Рисунок 13.1 - Блок – схема, соответствующая инструкции while

Обратите внимание

Для того чтобы инструкции цикла while были выполнены хотя бы один раз, необходимо, чтобы перед выполнением инструкции while условие выполнения цикла было истинно.

Для того чтобы цикл завершился, необходимо, чтобы последовательность инструкций между begin и end изменяла значения переменных, входящих в выражение условие.

<== предыдущая лекция | следующая лекция ==>
Исключительные ситуации | 
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 437; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.