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

Разделы: Информатика


Цели:

  • Образовательные: Обеспечить усвоение учащимися особенностей конструирования циклических алгоритмов.
  • Воспитательные: Воспитание умения свести большую задачу к последовательности более мелких, однотипных повторяющихся задач.
  • Развивающие: Развивать умение правильно воспринимать информацию, усваивать полученные знания.
  1. Организационный момент.
  2. Вступительная беседа. Постановка проблемы: изучение алгоритмизации для развития логического мышления.
  3. Актуализация знаний. Повторение пройденного материала
  4. Ознакомление, разбор материала.
  5. Закрепление материала. Составление блок-схем.
  6. Итог урока. Домашнее задание.
  1. Приветствие учеников.
  2. Актуализация знаний:
  • Какие алгоритмы вы уже знаете?
  • Что называется линейным алгоритмом?
  • Что называется разветвляющимся алгоритмом?
  1. Объяснение нового материала:

На этом уроке мы рассмотрим организацию повторений в алгоритмах с помощью циклических конструкций, а также примеры их применения.

На предыдущих уроках мы познакомились с алгоритмами двух типов: линейными и разветвляющимися. Легко заметить, что все алгоритмы, которые мы составляем, обладают общим свойством: при их выполнении каждое действие совершается один раз (или вообще не совершается). В жизни, однако, часто встречаются инструкции, в которых требуется один и тот же набор действий выполнять много раз подряд: “Иди, пока не придешь” и т.д. Используя только ветвление, такие алгоритмы записать не удастся.

Для этого нужна новая форма организации действий – цикл. Повторение действий в алгоритмах называется циклом.

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

Существуют три основных типа циклов – пока, до и для. Отличие первых двух циклов состоит в том, что в них количество повторений заранее определено. В первом случае, если препятствие никогда не встретится, движение будет продолжаться бесконечно долго. Такие явления при выполнении алгоритмов называются “зацикливанием”.

Любой цикл состоит из нескольких этапов. Это:

  1. Подготовка цикла, в которую входят начальные присвоения;
  2. Тело цикла - команды повторения цикла;
  3. Условие - обязательная часть циклов “До” и “Пока”.

Цикл называется арифметическим, если число повторений цикла известно заранее или может быть вычислено.

Цикл, как и любая другая алгоритмическая структура, может быть:  

  • записан на естественном языке;
  • изображен в виде блок-схемы;
  • записан на алгоритмическом языке;
  • закодирован на языке программирования.

Блок-схемы базовых структур

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

Рассмотрим алгоритм движения для трех типов циклов.

Цикл ПОКА (число шагов не известно)
Пока нет препятствия
сделать шаг вперед
Завершить цикл;

Цикл ДО (число шагов неизвестно)
Сделать шаг вперед
до встречи с препятствием
Завершить цикл.

Цикл ДЛЯ (число шагов известно)
Для количества шагов менее 100
сделать шаг вперед
Завершить цикл.

Задание № 1: Нужно исправить неверно составленный алгоритм:

На перемене школьник зашел в столовую съесть пирожков, и некто посоветовал ему воспользоваться алгоритмом

  1. Пока не исчезнет чувство голода повторять:
  2. Купить пирожок
  3. Конец цикла
  4. Съесть пирожок.

Какие строки алгоритма надо поменять местами, чтобы школьник ушел сытым?

Цикл ПОКА

пока <условие>
выполнять
 <тело цикла>

Выполнение цикла ПОКА начинается с проверки условия его окончания. Эту разновидность цикла называют циклом с предусловием.

Если условие выполняется, то осуществляется изменение значений аргументов. В противном случае происходит выход из цикла. Может оказаться, что тело цикла не будет выполнено ни разу (если с самого начала условие не выполняется).

Цикл ДО

выполнять
<тело цикла >
до <условие>

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

Цикл ДЛЯ

Повторять N  раз
 <тело цикла>

При выполнении алгоритма последовательность команд в теле цикла повторяется указанное число раз. Правила алгоритмического языка допускают задание любого целого числа повторений. Оно может быть нулевым и даже отрицательным. Эти случаи не считаются ошибочными, просто тело цикла не будет выполнено ни разу, а компьютер сразу перейдет к выполнению команд, записанных после цикла. Среди команд, составляющих тело цикла, могут быть и другие циклы. Программисты часто пользуются циклами, в том числе многократно вложенными.

Вложенные циклы:

Начало цикла 1
Начало цикла 2
Конец цикла 2
Начало цикла 3
... ... ...
Начало цикла N
Конец цикла N
Конец цикла 3
Конец цикла 1

  1. Составление блок-схем.

Задача № 1: Ученик в первый день выучил 5 английских слов. В каждый следующий день он выучивал на 2 слова больше, чем в предыдущий. Сколько английских слов выучит ученик в 10-ый день занятий? Составьте словесный алгоритм и блок-схему (тремя способами).

Словесный:

Начало

  1. а=5 (считает слова)
  2. d=1 (считает дни)
  3. если D <= 10, то перейти к п. 4, иначе перейти к п.6
  4. а = а + 2
  5. d = d + 1
  6. вывод а
  7. конец

Блок-схемы для циклов “до” и “для” ребята выполняют у доски.

Задача № 2. Составить блок-схемы для нахождения y=x2, для х=2, 4, 6, 8, 10.

Задачи по теме: “Циклические алгоритмы” находятся в Приложении1.

  1. Домашнее задание: Составить блок-схемы вычисления суммы N первых натуральных чисел (N=3).