Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_6_Informatika.pdf
Скачиваний:
9
Добавлен:
29.03.2015
Размер:
361.3 Кб
Скачать

Министерство образования и науки Российской Федерации Пермский национальный исследовательский политехнический университет

Кафедра ИТАС

Альмухаметов В.Ф., Лясин В.Н., Полевщиков И.С.

Информатика

Методическое пособие к выполнению лабораторной работы №6 по теме «Операторы цикла»

(для студентов 1 курса электротехнического факультета)

Пермь, 2013 год

2

Цель работы

Научиться использовать операторы цикла в программах на языке Турбо-Паскаль.

Краткие теоретические сведения [1-3]

Операторы цикла в Турбо-Паскаль

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

Например, для того чтобы найти фамилию человека в списке, надо проверить первую фамилию списка, затем вторую, третью и т. д. до тех пор,

пока не будет найдена нужная фамилия или не будет достигнут конец списка.

Алгоритм, в котором есть последовательность операций, которая должна быть выполнена несколько раз, называется циклическим, а сама последовательность операций именуется циклом.

Таким образом, операторы цикла используются для вычислений,

повторяющихся многократно.

В Паскале имеется три вида циклов:

1)цикл с предусловием while;

2)цикл с постусловием repeat;

3)цикл с параметром for.

Каждый из них состоит из определенной последовательности операторов.

Блок, ради выполнения которого и организуется цикл, называется

телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла. Однако модификация параметра цикла может быть реализована и в теле цикла.

Один проход цикла называется итерацией.

3

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

Проверка условия продолжения цикла выполняется на каждой итерации либо до тела цикла (тогда говорят о цикле с предусловием), либо после тела цикла (цикл с постусловием). Разница между ними состоит в том,

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

Параметром цикла называется переменная, которая используется при проверке условия цикла и принудительно изменяется на каждой итерации,

причем, как правило, на одну и ту же величину. Если параметр цикла целочисленный, он называется счетчиком цикла. Количество повторений такого цикла можно определить заранее. Параметр есть не у всякого цикла.

Цикл завершается, если условие его продолжения не выполняется.

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

Цикл с предусловием while

Оператор while используется в том случае, если некоторую последовательность действий (операторов программы) надо выполнить несколько раз, причем необходимое число повторений во время разработки программы неизвестно и может быть определено только во время работы программы.

В общем виде оператор while записывается следующим образом:

while условие do

begin

последовательность операторов

4

end

Условие в данном случае - это выражение логического типа,

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

Оператор while выполняется следующим образом:

1)Сначала вычисляется значение выражения условие.

2)Если значение выражения условие равно false (т.е. условие не выполняется), то на этом выполнение оператора while завершается. После окончания цикла управление передается на следующий за ним оператор.

3)Если значение выражения условие равно true (т.е. условие выполняется), то выполняются расположенные после ключевого слова do

между begin и end операторы тела цикла. После этого снова проверяется выполнение условия. Если условие выполняется, то операторы тела цикла выполняются еще раз. И так до тех пор, пока условие не станет ложным (т.е.

равным false).

Блок-схема алгоритма, соответствующего выполнению оператора while, представлена на рис. 1.

5

Рис. 1. Алгоритм выполнения оператора while

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

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

(изменяла значения переменных, входящих в выражение условие).

Разберем примеры оператора while.

Пример 6.1.

while x<=5 do x:=x+2;

Рассмотрим особенности выполнения данного оператора для случая,

если перед выполнением оператора переменной x типа integer было присвоено значение x=3:

1)Сначала вычисляется значение логического выражения x<=5.

2)Т.к. значение выражения 3<=5 равно true, то выполняется оператор x:=x+2, т.е. значение переменной x становится равным x=5.

3)Снова вычисляется значение логического выражения x<=5.

4)Т.к. значение выражения 5<=5 также равно true, то выполняется оператор x:=x+2, т.е. значение переменной x становится равным x=7.

5)Заново вычисляется значение логического выражения x<=5.

6)Т.к. значение выражения 7<=5 равно false, то выполнение цикла завершается и начинает выполняться некоторый оператор, следующий за оператором while.

Теперь рассмотрим особенности выполнения данного оператора для случая, если перед выполнением оператора переменной x типа integer

было присвоено значение x=11:

1) Сначала вычисляется значение логического выражения x<=5.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]