ЦИКЛЫ
Кто из нас не помнит поучительную историю о том, как Том Сойер по заданию тети Полли красил забор: “Вздыхая, он окунул кисть в ведро, проведя ею по доске забора, повторил эту операцию, проделал ее снова...” (Марк Твен. Приключения Тома Сойера).
Давайте составим алгоритм покраски забора. Допустим, что у нас есть малярная кисть и достаточное количество краски. Напишем, например, такую последовательность действий:
Подойти к левому краю забора.
Покрасить одну доску.
Шагнуть вправо на ширину доски.
Покрасить одну доску.
Шагнуть вправо на ширину доски.
Покрасить одну доску.
Ясно, что если мы соберемся писать этот алгоритм до конца, покраску забора придется надолго отложить. Если бы мы знали, сколько досок в заборе, мы могли бы завершить составление алгоритма, приписав нужное количество строк. Однако
это долгое и однообразное занятие. Да и не считала доски в заборе. Она просто сказала: “Будешь красить, пока забор не кончится”. Сама того не зная, она воспользовалась очень распространенным способом организации действий циклом (повтором). Задание тети Полли можно записать в виде следующего алгоритма:
Подойти к левому краю забора. Пока забор не кончился, повторять:
Покрасить одну доску.
Шагнуть вправо на ширину доски.
Конец цикла.
Уйти.
Итак, циклом (повтором) называется такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз (или ни разу) до тех пор, пока выполняется некоторое условие.
Например, блок-схема алгоритма покраски забора выглядит так
:
С помощью блок-схемы цикл можно изобразить так, как показано на рисунке 18