|
|
|
§ 6. Алгоритмические структуры
Циклическая алгоритмическая конструкция
Циклическая структура (цикл) обеспечивает многократное выполнение одних и тех же команд. Существует несколько разновидностей циклических структур: цикл с предусловием (цикл- пока), цикл с постусловием (цикл-до), цикл с параметром. Любая циклическая структура состоит из двух частей — заголовка и тела цикла. Последовательность команд, повторяющуюся при выполнении цикла, называют телом цикла. Заголовок определяет количество повторений тела цикла. На рисунке 2.8 представлены блок-схемы цикла с предусловием и цикла с параметром.
Пример 4. Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в которых параметры υ и ω обозначают цепочки цифр. Команда нашлось (υ) проверяет, встречается ли цепочка υ в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка при этом не изменяется. Команда заменить (υ, ω) заменяет в строке первое слева вхождение цепочки υ на цепочку ω. Дана программа для исполнителя Редактор: НАЧАЛО
Выясним, какая строка получится в результате применения приведённой выше программы к строке, состоящей из N подряд идущих цифр 3 при: 1) N = 21;
Пусть N = 21. Исполнитель Редактор начинает работать со строкой, состоящей из одних только цифр 3: первые три цифры 3 сразу же заменяются цифрой 2, следующие три цифры 3 тоже заменяются цифрой 2, полученные две цифры 2 заменяются цифрой 3. После этого мы фактически возвращаемся к исходной задаче, которую должны решить для строки из 16 (21 - 3 - 3 + 1) подряд идущих троек:
|
|
|