Алгоритмическая структура «цикл»
В алгоритмическую структуру «цикл» входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла.
Циклические алгоритмические структуры бывают двух типов:
• циклы со счетчиком, в которых тело цикла выполняется определенное количество раз;
• циклы с условием, в которых тело цикла выполняется, пока условие истинно.
В алгоритмической структуре «цикл» серия команд (тело цикла) выполняется многократно.
Алгоритмическая структура «цикл» может быть зафиксирована различными способами:
• графически — с помощью блок-схемы;
• на языке программирования, например на языках Visual Basic и VBA с использованием специальных инструкций, реализующих циклы различного типа.
Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно воспользоваться циклической инструкцией (оператором цикла со счетчиком) For . . . Next (рис. 4.5).
Блок-схема | Языки программирования Visual Basic иVBA | ||
—+\СчетчикЪ----------- * Тело цикла + | For Счетчик=НачЗнач То КонЗнач [Step шаг] Тело цикла Next [Счетчик] | ||
Рис. 4.5. Цикл со счетчиком
Синтаксис оператора For . . . Next следующий: строка, начинающаяся с ключевого слова For, является заголовком цикла, а строка с ключевым словом Next — концом цикла, между ними располагаются операторы, являющиеся телом цикла.
В начале выполнения цикла значение переменной Счетчик устанавливается равным НачЗнач. При каждом проходе цикла переменная Счетчик увеличивается на величину шага. Если она достигает величины, большей КонЗнач, то цикл завершается и выполняются следующие за ним операторы.
Циклы с условием. Часто бывает так, что необходимо повторить тело цикла, но заранее неизвестно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такой цикл реализуется с помощью инструкции Do ... Loop.
Условие выхода из цикла можно поставить в начале, перед телом цикла. Такой цикл называется циклом с предусловием (рис. 4.6).
Проверка условия выхода из цикла проводится с помощью ключевых слов While или Until. Эти слова придают одному и тому же условию противоположный смысл. Ключевое слово While обеспечивает выполнение цикла, пока выполняется условие, то есть пока условие имеет значение «истина». Как только условие примет значение «ложь», выполнение цикла закончится. В этом случае условие является условием продолжения цикла.
Блок-схема | Языки программирования Visual Basic и VBA | |
------------- 1<^Услови<Г^>т \Г \Т | Do While Условие Тело цикла Loop Do Until Условие Тело цикла Loop | |
тело цикла | ||
Рис. 4.6. Цикл с предусловием
Ключевое слово Until обеспечивает выполнение цикла, пока не выполняется условие, то есть пока условие имеет значение «ложь». Как только условие примет значение «истина», выполнение цикла закончится. В этом случае условие является условием завершения цикла.
Условие выхода из цикла можно поставить в конце, после тела цикла. Такой цикл называется циклом с постусловием. Этот цикл реализуется также с помощью инструкции Do . . . Loop (рис. 4.7).
Блок-схема | Языки программирования Visual Basic и VBA | |
------------- ^ | Do Тело цикла Loop While Условие Do Тело цикла Loop Until Условие | |
тело цикла | ||
Рис. 4.7. Цикл с постусловием |
Проверка условия выхода из цикла проводится с помощью ключевых слов While или Until.
Цикл с постусловием, в отличие от цикла с предусловием, выполняется обязательно как минимум один раз, независимо от того, выполняется условие или нет.
Вопросы для размышления
1. Какой тип алгоритмической структуры необходимо применить, если:
• последовательность команд должна быть выполнена определенное количество раз;
• последовательность команд выполняется или не выполняется в зависимости от условия;
• последовательность команд должна быть обязательно выполнена хотя бы один раз и должна повторяться до тех пор, пока условие справедливо?
ВИЯ |
4.2. Составьте и зафиксируйте в форме блок-схемы и на языке программирования алгоритм выбора большего из двух чисел.
4.3. Составьте и зафиксируйте в форме блок-схемы и на языке программирования алгоритм вычисления факториала числа.