Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecton.DOC
Скачиваний:
4
Добавлен:
15.04.2019
Размер:
980.99 Кб
Скачать

1.4.9. Оператор цикла

Оператор цикла является составным оператором, используемым для реализации одно­го из способов построения ал­горитмов - итера­ции (см.

1.4.2). Оператор цикла (циклический опера­тор) задает много­крат­ное выпол­нение задан­ных дей­ствий. Основная форма циклического опера­тора имеет вид:

циклпока УСЛОВИЕ

ОПЕРАТОР

конеццикла

и эквивалентна в неструктурированной форме следующему фрагменту за­писи:

Пункт 1. Определить истинность логического выражения УСЛОВИЕ.

Если оно истинно, то перейти к пункту 2, иначе перейти к пункту 3.

Пункт 2. ОПЕРАТОР.

Перейти к пункту 1.

Пункт 3. Перейти к следующему пункту алгоритма,

частью которого является данный фрагмент.

Циклический оператор определяет многократное выполнение дей­ст­вия, задаваемого оператором "ОПЕРАТОР". Действия повторяются до тех пор, пока истинно логическое выражение "УСЛОВИЕ". Как только оно стано­вится ложным, выполнение циклического оператора прекраща­ется.

1. Для конструирования циклического оператора используются два клю­че­вых слова: "циклпока" и "конеццикла". Еще раз отметим необхо­ди­мость применения отступов для большей на­глядно­сти записи.

2. "ОПЕРАТОР" может быть ни разу не выполнен, если окажется, что вы­ра­жение "УСЛОВИЕ" ложно при первом же вхождении в цикл.

3. Предполагается, что при выполнении оператора "ОПЕРАТОР" из­ме­ня­ется состояния некоторых объектов, которые используются в выра­же­нии "УСЛОВИЕ", таким образом, что рано или поздно выражение "УСЛОВИЕ" ста­нет ложным и выполнение циклического оператора пре­кратится. В противном случае, если выражение "УСЛОВИЕ" все­гда бу­дет оставаться истинным, произойдет так называемое "зацикливание" - бесконечное выполнение данного циклического опе­ратора.

Использование циклического оператора проиллюстрируем на при­ме­ре за­писи алгоритма нахождения остатка от деления двух целых поло­жи­тель­ных чи­сел a и b:

1

2

3

4

5

6

7

8

числовой объект A

числовой объект B

¬ a

¬ b

циклпока A ³ B

¬ A - B

конеццикла

Выдать ответ: остатком является значение объекта с именем a

Отметим, что данный алгоритм обладает свойством ре­зуль­та­тив­но­сти, так как какими бы ни были первоначальные значения по­ложитель­ных чисел a и b, с каждым повторением внутреннего опера­тора в цикле зна­че­ние объ­екта A уменьшается. Рано или поздно усло­вие A ³ B станет лож­ным и вы­пол­не­ние прекра­тится. Например, проиллюстрируем выпол­нение алго­ритма для двух целых поло­жи­тельных чи­сел 10 и 3 :

Последовательность выполнения операторов алгоритма.

Номера соответст­вуют номерам

Значения после выполнения оператора

строк записи

объект

A

объект

B

условие

A ³ B

1

?

?

?

2

?

?

?

3

10

?

?

4

10

3

истина

5

10

3

истина

6

7

3

истина

7

7

3

истина

5

7

3

истина

6

4

3

истина

7

4

3

истина

5

4

3

истина

6

1

3

ложь

7

1

3

ложь

1

1

3

ложь

8

1

3

ложь

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

На этом завершим рассмотрение основных черт нашего псевдо­языка записи алгоритмов.

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