Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгор_ТХТК_пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.6 Mб
Скачать

4.3 Циклическая структура (повторение)

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

Определение 1. Группа многократно повторяющихся операторов называется циклом, а содержащая их программа – циклической.

Количество повторений цикла определяется значением некоторой управляющей переменной.

Определение 2. Переменная, управляющая повторением цикла, называется параметром цикла.

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

Рисунок 4.3- Общая схема цикла

По типу параметра и условию окончания циклы делятся на:

1) циклы с параметром;

2) итерационные:

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

- цикл с предусловием.

4.3.1 Оператор цикла с параметром

Для реализации циклического процесса с известным числом повторений целесообразно использовать оператор цикла с параметром. Для их организации в Паскале используется оператор For (для), который в общем виде записывается так:

For Параметр := НачальноеЗначение to КонечноеЗначение do

Оператор1;

или

For Параметр := НачальноеЗначение Downto КонечноеЗначение do

Оператор1;

Параметром цикла в этом операторе может служить переменная так называемого перечисляемого типа:

1) целого;

2) символьного.

Оператор 1 работает в соответствии со схемой, приведенной на рис. 4.4,а. Параметр пробегает значения от начального до конечного через 1. При этом конечное значение должно быть больше или равно начальному. В противном случае оператор не выполняется.

В операторе 2 использовано слово Downto. При этом значения параметра убывают (изменяются от большего – начального значения – до меньшего с шагом -1). Работу оператора иллюстрирует схема рис. 4.4,б.

Е

Рис. 4.4 - Схема работы оператора For

сли начальное значение равно конечному, то в обоих случаях (при То и Downto) оператор выполняется один раз.

В общем случае (если параметр пробегает несколько значений) оператор 1 выполняется несколько раз.

Например: {к величине S прибавляется 10 чисел от 1 до 10}

For i := 1 To 10 Do

S:= S+i;

Если многократно нужно выполнить несколько операторов, то они помещаются в блок операторов – между служебными словами Begin и End.

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

  1. Параметр цикла, начальное и конечное значение должны быть одного типа;

  2. Запрещено изменять внутри цикла (в теле цикла) значения <имя>, <выражение 1>, <выражение 2>;

  3. Запрещено передавать управление в тело цикла извне минуя заголовок for, так как начальное и конечное значение вычисляются один раз при первоначальном входе в цикл;

  4. Тело цикла не выполняется, если начальное значение <имя> не определено и не может быть использовано в дальнейших вычислениях;

  5. После выхода из цикла for значение <имя> не определено и не может быть использовано в дальнейших вычислениях;

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

Пример 4.4 Ввести в ЭВМ 10 трёхзначных чисел и распечатать их цифры в обратном порядке, т.е. начиная с младшей.

Program Dig;

Const

D=10;

Var

Num,C1,C2,C3 : Integrer; {исходное число и цифры}