Конспект урока "Циклические алгоритмы" 9 класс

Тема урока "Циклические алгоритмы"
Дунаева Екатерина Николаевна
учитель математики и информатики
МБОУ "Выйская СОШ"
Цели урока:
рассмотреть понятие циклического алгоритма, понятие блок схем; показать их
использование для ГРИС;
сформировать умение выделять из множества один или несколько объектов,
имеющих общие свойства;
развитие логического мышления.
Ход урока:
I. Организационный момент
II. Актуализация знаний
Сегодня мы продолжаем работу с алгоритмами и построением алгоритмов для ГРИС
"Стрелочка". Но в начале урока вспомним основные понятия: "Алгоритм", "Линейный
алгоритм", "Вспомогательный алгоритм". (ответы обучающихся)
I. Изучение нового материала (учащиеся делают записи в тетради)
(слайд 2) Начиная с 50-х годов 20 века, программисты стали использовать графические
схемы, изображающие алгоритмы, которые получили название блок-схем. Блок-схема
позволяет сделать алгоритм более наглядным и выделяет в алгоритме основные
алгоритмические структуры (линейная, ветвление, выбор и цикл). Если исполнителем
алгоритма является человек, он может по блок-схеме легко проследить выполнение
алгоритма, так как элементы блок-схемы соединены стрелками, указывающими шаги
выполнения алгоритма.
Элементы алгоритма изображаются на блок-схеме с помощью различных геометрических
фигур, внутри которых записывается программный код.
(слайд 2) Рассмотрим основные элементы блок-схем и их назначение:
Начало или конец алгоритма
Ввод или вывод данных
Описание линейной последовательности
команд
Обращение к вспомогательному алгоритму
начало/конец
данные
команда
Проверка условия
(слайд 3) Сейчас решим задачу:
Нарисовать горизонтальную линию через весь экран. Исходное положение ГРИС у левого
края поля, направление на восток. Задачу можно решить, написав 11 раз команду шаг.
Посмотрите, какой длинной будет наша программа. Но есть более короткий вариант
программы:
Пока впереди не край повторять
Нц
шаг
Кц
(слайд 4) Здесь использована программа, которая называется циклом. Формат команды и
блок-схема следующие:
Пока <условие> повторять
Нц
<тело цикла>
Кц
Нц обозначает начало цикла, кц конец цикла.
Команда цикла реализует обратную связь между графическим исполнителем и
компьютером. Здесь проверяется, не вышел ли ГРИС за край поля, не грозит ли ему
следующий шаг или прыжок в этом направлении аварией. Проверяемые условия звучат так:
«впереди край?» или «впереди не край?». На что машина получает от исполнителя ответ
«да» или «нет».
В нашем примере проверяется условие «впереди не край?». Если «да», то делается шаг, т.е.
выполняется <тело цикла>, затем происходит возврат на проверку условия, и все
повторяется. Если проверка дает отрицательный результат, то выполнение цикла
завершается и исполняется следующая после цикла команда программы.
При программировании цикла важно, чтобы цикл был конечным, т.е. двигаясь в одном
направлении, исполнитель обязательно достигнет края, и на этом выполнение цикла
закончится.
(слайд 5) Ситуация, при которой выполнение цикла никогда не заканчивается, называется
зацикливанием. Как вы думаете, что будет нам рисовать ГРИС при выполнении
следующего цикла, начальное состояние ГРИС в середине поля:
условие
Тело цикла
нет
да
Пока впереди не край повторять
Нц
Шаг
поворот
Кц
ГРИС будет бесконечно рисовать квадратик, так как проверка условия «впереди не край?»
всегда будет давать положительный ответ. Исполнение данного цикла никогда не
закончится.
(слайд 6) Теперь мы с вами составим программу, по которой графический исполнитель
нарисует прямоугольную рамку по краю поля. Исходное положение ГРИС у левого края
поля, направление – на восток.
Подумайте, как можно составить данную программу (на обдумывание ответа дается 2
минуты, после чего обучающиеся предлагают свои варианты, а учитель по возможности
корректирует их, а потом дает правильный алгоритм решения задачи)
Рамка состоит из четырех линий, поэтому будем пользоваться процедурой, проводящей
линию от края до края поля, как в предыдущей задаче. Оформим программу проведения
линии в виде процедуры и напишем основную программу:
Программа Рамка
Нач
Сделай ЛИНИЯ
Поворот
Поворот
Поворот
Сделай ЛИНИЯ
Поворот
Поворот
Поворот
Сделай ЛИНИЯ
Поворот
Поворот
Поворот
Сделай ЛИНИЯ
кон
начал
о
линия
поворо
т
поворо
т
поворо
т
поворо
т
поворо
т
поворо
т
поворо
т
поворо
т
поворо
т
линия
линия
линия
конец
(слайд 7)
Процедура ЛИНИЯ
Нач
Пока впереди не край повторять
Нц
шаг
Кц
кон
Рассмотренный нами цикл называется циклом с предусловием, так как условие
предшествует телу цикла. Другой вариант названия данного цикла цикл-пока (пока
условие истинно, повторяется выполнение тела цикла).
(слайд 8) Решим еще одну задачу: расчертим поле горизонтальными линиями. Для удобства
при решении этой задачи переведем наш ГРИС в верхний левый угол, направление будет на
юг.
При решении задачи будем использовать процедуру ЛИНИЯ, но нам потребуется еще одна
процедура ВОЗВРАТ, которая будет возвращать ГРИС к исходному состоянию для
рисования следующей линии.
Сначала выполним процедуру ВОЗВРАТ. Когда наша ГРИС нарисует нам линию, что
необходимо сделать для возврата в исходное состояние? (выполнить два поворота и
прыжками добраться до конца строки)
Таким образом наша процедура будет иметь следующий вид:
Нач
ЛИНИЯ
Вперед
и не
шаг
кон
ЛИНИЯ
да
нет
Процедура ВОЗВРАТ
Нач
Поворот
поворот
Пока впереди не край повторять
Нц
Прыжок
Кц
Поворот
кон
Теперь опишем основную программу. Что нам необходимо сделать вначале программы,
чтобы наша ГРИС была в исходном состоянии? (сделать три поворота).
(слайд 10) Запишем нашу программу:
Нач
ВОЗВРАТ
поворот
поворот
поворот
прыжок
Пока
впереди не
край
кон
ВОЗВРАТ
да
нет
Программа Разлиновка
Нач
Поворот
Поворот
Поворот
Пока впереди не край повторять
Нц
Поворот
Сделай ЛИНИЯ
Сделай ВОЗВРАТ
Прыжок
Кц
Поворот
Сделай ЛИНИЯ
кон
IV. Закрепление изученного материала
(слайд 11) Теперь выполните данные программы на компьютере с помощью ГРИС
"Стрелочка" (обучающиеся за компьютерами выполняют программы, рассмотренные на
уроке)
V. Подведение итогов. Д/з
(слайд 12) Домашнее задание: §30, упр. 7, 8.
Источники:
Информатика и ИКТ: учебник для 9 класса/ И.Г. Семакин, Л. А. Залогова. - М.:
БИНОМ, 2011г
http://ikthelp.ru/blok-sxemy-algoritmov-9-klass - описание блок-схем
Рисунки выполнены в программе ГРИС «Стрелочка»
начало
впереди не
край?
поворот
прыжок
поворот
ЛИНИЯ
ВОЗВРАТ
конец
да
нет