Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебно-методическое пособие 9 класс для алгори...doc
Скачиваний:
10
Добавлен:
01.05.2025
Размер:
526.85 Кб
Скачать

5.3.3. Циклические алгоритмы

 В алгоритмическую структуру цикл входит серия команд, выполняемая многократно. Такая последователь­ность команд называется телом цикла.

Циклические алгоритмические структуры бывают двух типов:

  • циклы со счетчиком, в которых тело цикла выполняется определенное количество раз;

  • циклы с условием, в которых тело цикла выполняется, пока условие истинно.

В алгоритмической структуре цикл – серия команд (тело цикла) выполняется многократно.

Давайте себе представим следующую ситуацию. Нам необходимо покрасить забор-штакетник, состоящий из 25 отдельных, рядом находящихся деревянных брусков. Что нам нужно для этого сделать?

Для начала взять банку с краской, кисточку и подойти к забору. Окунуть кисточку в краску и прокрасить один брусок. Перейти ко второму бруску. Снова окунуть кисточку в краску и прокрасить его. Перейти к третьему бруску и снова повторить те же самые действия. И так 25 раз подряд. В этой простой задаче мы с вами можем выделить набор одних и тех же действий. Это:

  1. Окунуть кисточку в краску;

  2. Прокрасить один брусок;

  3. Перейти к следующему бруску.

Этот набор действий и будет является телом цикла, которое будет выполняться 25 раз (брусок, в данном случае, является счетчиком).

5.3.3.1. Цикл со счетчиком

К

Рис. 5.15. Блок-схема цикла со счётчиком

огда заранее известно, какое число повторений тела цикла необходимо выполнить, можно вос­пользоваться циклической инструкцией цикла со счетчиком. Блок-схема цикла со счётчиком представлена на рис. 5.15.

В начале выполнения цикла значение переменной Счет­чик устанавливается равным начальному значению (НачЗнач). В примере с покраской забора это 1 (первый брусок). При каждом проходе цикла переменная Счетчик увеличивается на величину шага. В примере с покраской забора это 1 (красим один брусок и переходим к следующему номер следующего бруска = номеру предыдущего бруска + 1). Если Счётчик достигает величины, большей конечного значения (КонЗнач), то цикл за­вершается и выполняются следующие за ним команды.

ПРИМЕР 5.12. Вывести ряд натуральных чисел от 1 до 10.

РЕШЕНИЕ.

Примечание. Анализируя задачу, замечаем, что входных параметров нет. Нам необходимо вывести числа от 1 до 10, а кто за них отвечает? Конечно счётчик, значит, счётчик и будет выходным параметром. Счётчик обозначим латинской буквой – i. Числа выводятся подряд, значит, шаг равен 1. Блок-схема представлена на рис. 5.16.

Рис. 5.16. Алгоритм решения задачи из примера 5.12

5 Рис. 5.17. Цикл с предварительным условием .3.3.2. Циклы с условием

Давайте немного перестроим нашу задачу. Допустим, что нам неизвестно количество брусков в заборе, которые нужно покрасить. Что делать? Красить забор до тех пор, пока не кончатся бруски.

Часто бывает так, что необходимо по­вторить тело цикла, но заранее неизвестно, какое количест­во раз это надо сделать. В таких случаях количество повто­рений зависит от некоторого условия.

 Условие выхода из цикла можно поставить в начале, пе­ред телом цикла. Такой цикл называется циклом с предусло­вием (Рис. 5.17). Пока условие имеет значение "истина" цикл выполняется. Как только условие примет значение "ложь", вы­полнение цикла закончится. В этом случае условие является условием продолжения цикла.

Решим ПРИМЕР 5.12. с использованием цикла с предварительным условием.

РЕШЕНИЕ:

Примечание. По сравнению с циклом с параметром, где начальное значение задаётся в самом цикле, сейчас нам необходимо задать его самим (второй блок на рис.5.18). Для увеличения шага на единицу воспользуемся следующей формулой i = i + 1 (вспомните, как изменялся шаг в задаче с покраской забора). Блок-схема представлена на рис. 5.18.

 Условие выхода из цикла можно поставить в конце, после тела цикла. Такой цикл называется циклом с постусловием (Рис. 5.19).

Ц

Рис. 5.19 Цикл с постусловием

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

Решим ПРИМЕР 5.12. используя цикл с постусловием.

РЕШЕНИЕ.

Примечание. В этом случае, мы сначала должны увидеть число, увеличить счётчик на единицу, и только после этого проверить, а находимся ли мы еще в цикле? Блок-схема представлена на рис. 5.20.

Начало

i = 1

Вывод i

i = i + 1

Конец

Рис. 5.20. Алгоритм решения задачи из примера 5.12

Рассмотрим, в чем отличие этих типов алгоритмов:

  • в цикле с предусловием условие проверяется до тела цикла, в цикле с по­стусловием - после тела цикла;

  • в цикле с постусловием тело цикла выполняется хотя бы один раз, в цик­ле с предусловием оно может не выполниться ни разу;

  • в цикле с предусловием проверяется условие продолжения цикла, в цик­ле с постусловием - условие выхода из цикла.

Оба эти цикла взаимозаменяемы, какой из них выбрать - зависит от конкретной задачи и от опыта работы.