Замечания.
a. Выражение e в алгоритмах программ называют условием завершения цикла, а операторы s1, s2, , sk – телом цикла.
b. Оператор repeat так же, как и while, организует выполнение тела цикла заранее неизвестное количество раз.
c. Поскольку выражение e вычисляется после выполнения
19
операторов тела цикла, то организуемый цикл называется циклом с постусловием. Он отличается тем, что операторы тела цикла обязательно выполняются хотя бы один раз.
d. Для избежания зацикливания (цикл бесконечно повторяется) тело цикла обязательно должно содержать оператор, изменяющий значение хотя бы одной переменной, входящей в условие завершения цикла.
Назначение: организация циклического вычислительного процесса с заранее известным числом повторений тела цикла. Синтаксические формы оператора: for v : e1 to e2 do s
for v : e1 downto e2 do s
где for, to, downto, do – зарезервированные слова; v – имя переменной порядкового типа; e1, e2 – выражения того же самого порядкового типа, что и переменная v; s – одиночный оператор.
Изображение оператора в схеме алгоритма:
старый стандарт новый стандарт
Действие оператора for…to (с нарастанием переменной v):
1) вычисляются выражения e1 и e2;
2) вычисляется отношение e1 e2;
3) если получено логическое значение False, то действие оператора for заканчивается и управление передаётся оператору, следующему за оператором for;
4) если получено логическое значение True, то выполняются последующие пункты;
5) переменная v получает значение выражения e1;
6) выполняется оператор s;
7) модифицируется (изменяется) значение переменной v – она получает следующее по порядку значение; эта операция реализуется процедурой Inc(v); 8) вычисляется отношение v e2;
9) если получено логическое значение False, то действие
20
оператора for заканчивается и управление передаётся оператору, следующему за оператором for;
10) если получено логическое значение True, то осуществляется переход на пункт 6 (к выполнению оператора s).
Действие оператора for…downto (с убыванием переменной v):
1) вычисляются выражения e1 и e2;
2) вычисляется отношение e1 e2;
3) если получено логическое значение False, то действие оператора for заканчивается и управление передаётся оператору, следующему за оператором for;
4) если получено логическое значение True, то выполняются последующие пункты;
5) переменная v получает значение выражения e1;
6) выполняется оператор s;
7) модифицируется (изменяется) значение переменной v – она получает предыдущее по порядку значение; эта операция реализуется процедурой Dec(v); 8) вычисляется отношение v e2;
9) если получено логическое значение False, то действие оператора for заканчивается и управление передаётся оператору, следующему за оператором for;
10) если получено логическое значение True, то осуществляется переход на пункт 6 (к выполнению оператора s).
Замечания.
a. Переменную v в алгоритмах программ называют управляющей переменной, выражения e1 и e2 – начальным и конечным значениями управляющей переменной, а оператор s – телом цикла.
b. Оператор for в отличие от while и repeat, организует выполнение тела цикла c заранее известным числом повторений тела цикла – оно равно количеству значений от e1 до e2, и может быть вычислено так:
n = Ord(e2)–Ord(e1) + 1 для варианта for…to; n = Ord(e1)–Ord(e2) + 1 для варианта for…downto.
c. Поскольку отношение, определяющее выполняться или не выполняться телу цикла, вычисляется заранее, то организуемый цикл является частным случаем цикла с предусловием – тело цикла не выполнится ни разу, если: e1 > e2.в варианте for…to; e1 < e2.в варианте for…downto.
d. Упрощённо работу оператора for можно излагать следующим образом: переменная v поочерёдно принимает значения от e1 до e2, и при каждом значении v выполняется оператор s.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.