Разработка урока информатики в 7 классе на тему «Циклы с условием»
Разработка урока «Циклы с условием»
Волгин Павел Михайлович, учитель информатики
Муниципальное Общеобразовательное Учреждение «Средняя Общеобразовательная Школа №20» г. Воскресенск, Московская область
Тезис к публикации: В данной работе представлен урок по информатике в 7 классе на тему «Циклы с условием» по учебнику К.Ю. Полякока, Е.А. Еремена 7 класс: Учебник в 2-х частях. – М.: Бином, 2019
Общая характеристика
УМК | К.Ю. Поляков, Е.А. Еремин |
Класс | 7 |
Раздел программы | Алгоритмы и программирование |
Тема урока | Циклы с условием |
Персональные компьютеры
Мультимедийный проектор
Экран
Необходимое программное обеспечениеКумир
MS PowerPoint
План проведения урокаОрганизационный этап – 1 минута
Актуализация знаний – 6 минуты
Изучение нового материала – 20 минут
Практическое закрепление материала (Авторская практическая работа «Циклы с условием для Робота» - 10 минут
Постановка домашнего задания – 3 минута
Подведение итогов урока, рефлексия – 5 минут
ХОД УРОКА
1. Организационный этап
Здравствуйте, дети! Садитесь, пожалуйста.
Скажите, пожалуйста, кто сегодня отсутствует.
2. Актуализация знаний
Давайте вспомним, что мы проходили на прошлых уроках. Для этого я попрошу Вас разделиться на две боевые команды. Пусть это будут команда мальчиков и команда девочек. Есть среди вас смелые мальчики и девочки? (К доске выходят один мальчик и одна девочка).
Давайте поиграем с вами в информационные крестики-нолики. Нашим добровольцам ничего делать не нужно. Они выбирают одноклассника, который будет отвечать на поставленный вопрос. У девочек отвечать будут девочки, у мальчиков – мальчики. Задача капитанов – выбрать номер клетки и указать на ответчика. И если ваша команда ответит верно, то мы поставим в эту клетку крестик или нолик. Соответственно, далее будут действовать правила игры крестики-нолики. Пусть девочки будут крестики, а мальчики – нолики (На доске чертиться такая же табличка, чтобы в случае правильного ответа поставить в клетку крестик или нолик).
Вопрос в ячейке 1: Какие алгоритмы называются циклическими? (Алгоритмы, в которых происходит многократное выполнение некоторой последовательности действий).
Вопрос в ячейке 2: Какой цикл называется вложенным? (Цикл, находящийся в теле другого цикла).
Вопрос в ячейке 3: Что будет выполнять робот при следующей последовательности команд:
нц 7 раз
закрасить
вниз
кц
(Робот 7 раз выполнит две команды: закрасит клетку и пойдет вниз).
Вопрос в ячейке 4: Для чего нужны комментарии?
(Комментарии необходимы для пояснения человеку внутри текста программы).
Вопрос в ячейке 5: В данной обстановке напишите алгоритм, используя цикл N раз, чтобы закрасить все клетки по периметру.
Стартовая обстановка
Обстановка после алгоритма
Одна из рабочих программ:
использовать Робот
алг
нач
. нц 3 раз
. . вверх
. кц
. нц 13 раз
. . закрасить
. . вправо
. кц
. нц 9 раз
. . закрасить
. . вниз
. кц
. нц 14 раз
. . закрасить
. . влево
. кц
. нц 9 раз
. . закрасить
. . вверх
. кц
. закрасить
. нц 3 раз
. . вниз
. кц
. вправо
кон
Вопрос в ячейке 6: Какая величина называется переменной? (Величина, которая изменяется во время выполнения алгоритма).
Вопрос в ячейке 7: Для чего необходимо объявление переменной? (Объявление переменной необходимо для того, чтобы определить, какие данные можно хранить в переменной, какие операции можно с ней выполнять, сколько памяти выделить для хранения значения).
Вопрос в ячейке 8: Как называются фактические значения параметра, которые передаются в процедуру? (Аргументы).
Вопрос в ячейке 9: Для чего необходима процедура с параметром? (Для того чтобы одна процедура могла выполнять похожие, но чем-то отличающиеся действия).
Молодцы! Садитесь на свои места!
3. Изучение нового материала
Во время игры в информационные крестики-нолики, вы пытались написать алгоритм для закрашивания роботом клеток по периметру обстановки. Как вы думаете, можно ли выполнить этот алгоритм другими способами? (Ответы учеников).
Перед вами на столе лежат зеленый, желтый и красный круг. Я сейчас буду задавать вам вопросы, которые начинаются с фразы: «Верно ли, что…». И если вы считаете, что верно, то поднимаете зеленый кружок, если считаете, что неверно, то красный, если не знаете ответа – желтый.
Вопрос 1: Верно ли, что справа от Робота – свободно?
(Неверно, справа от Робота - стена).
(Ученики должны поднять красный кружок).
Вопрос 2: Верно ли, что снизу от Робота – стена?
(Неверно, снизу от Робота - свободно).
(Ученики должны поднять красный кружок).
Вопрос 3: Верно ли, что слева от Робота – свободно?
(Верно, слева от Робота - свободно).
(Ученики должны поднять зеленый кружок).
Как вы уже, наверное, догадались, Робот может передвигаться не только с заданным числом раз, используя команды из СКИ, но и в зависимости от условия. Например, свободно ли у Робота слева, или есть преграда в виде стены снизу. Давайте представим, что вы исполнитель, и вам нужно ходить на уроки до тех пора, пока не закончится последний урок. Где здесь условие?
(Пока не закончится последний урок).
А какие команды вы будете выполнять в теле цикла?
(Ходить на уроки).
То же самое с роботом. Робот выполняет какие-либо действия в зависимости от условия. В качестве условия роботу необходимо обозначить логические команды:
сверху стена
справа стена
снизу стена
слева стена
сверху свободно
справа свободно
снизу свободно
слева свободно
А теперь, давайте подумаем, что будет выполнять робот, если данные условия будут выполняться. На слайде вы видите табличку, в которой в левой колонке написаны логические команды, а в правой – пусто. Но снизу вы можете видеть объяснения, которые характеризуют каждую команду. Давайте постараемся каждой логической команде соотнести объяснение. Я снова попрошу выйти одного добровольца, который сможет выполнить это задание (В презентации нужно выйти из полноэкранного режима и расставить блоки описания по строкам, чтобы получилась правильная таблица).
сверху стена | |
справа стена | |
снизу стена | |
слева стена | |
сверху свободно | |
справа свободно | |
снизу свободно | |
слева свободно |
Робот выполняет команды, если сверху есть препятствие до тех пор, пока сверху не станет свободно;
Робот выполняет команды, если сверху нет никаких препятствий до тех пор, пока сверху не появится стена;
Робот выполняет команды, если справа есть препятствие до тех пор, пока справа не станет свободно;
Робот выполняет команды, если справа нет никаких препятствий до тех пор, пока справа не появится стена;
Робот выполняет команды, если слева есть препятствие до тех пор, пока слева не станет свободно;
Робот выполняет команды, если слева нет никаких препятствий до тех пор, пока слева не появится стена;
Робот выполняет команды, если снизу есть препятствие до тех пор, пока снизу не станет свободно;
Робот выполняет команды, если снизу нет никаких препятствий до тех пор, пока снизу не появится стена.
Итоговая таблица:
сверху стена | Робот выполняет команды, если сверху есть препятствие до тех пор, пока сверху не станет свободно |
справа стена | Робот выполняет команды, если справа есть препятствие до тех пор, пока справа не станет свободно |
снизу стена | Робот выполняет команды, если снизу есть препятствие до тех пор, пока снизу не станет свободно |
слева стена | Робот выполняет команды, если слева есть препятствие до тех пор, пока слева не станет свободно |
сверху свободно | Робот выполняет команды, если сверху нет никаких препятствий до тех пор, пока сверху не появится стена |
справа свободно | Робот выполняет команды, если справа нет никаких препятствий до тех пор, пока справа не появится стена |
снизу свободно | Робот выполняет команды, если снизу нет никаких препятствий до тех пор, пока снизу не появится стена |
слева свободно | Робот выполняет команды, если слева нет никаких препятствий до тех пор, пока слева не появится стена |
Молодец! Садись на место!
Как вы думаете, а могут ли в таких циклах возникнуть конфликты?
(Ответы учеников).
Давайте рассмотрим задачу (Учитель открывает КУМИР и загружает обстановку 9).
Дана обстановка:
Необходимо написать алгоритм, с помощью которого Робот дойдет до стены и закрасит все клетки (кроме последней), находящиеся до этой стены. Давайте напишем алгоритм для робота:
использовать Робот
алг
нач
. нц пока справа свободно
. . закрасить
. кц
кон
Правильно ли выполнится этот алгоритм?
(Нет, так как условие будет истинно всегда – алгоритм всегда будет закрашивать первую клетку)
Произойдет такой процесс, как зацикливание. То есть, цикл будет выполняться бесконечно. Чтобы такого не происходило, необходимо изменять движение робота.
использовать Робот
алг
нач
. нц пока справа свободно
. . закрасить
. . вправо
. кц
кон
Запишите в тетради, как можно было записать этот алгоритм, используя «Цикл N раз».
Один из примеров:
использовать Робот
алг
нач
. нц 8 раз
. . закрасить
. . вправо
. кц
кон
4.Практическое закрепление материала (Авторская практическая работа «Циклы с условием для Робота»)
Примечание: Практическая работа взята из проекта авторского сборника задач на алгоритмизации и программированию «Программист Артем решает задачи» 7-9 класс. Часть 1: «Программист Артем решает задачи на алгоритмическом языке»
Давайте выполним практическую работу. У вас за партой лежит практическая работа, которая называется «Программист Артем решает задачи на алгоритмическом языке». Какие же сегодня задачи ему нужно выполнить?
(Обучающиеся рассаживаются за компьютеры, берут с собой практическую работу).
(Учитель снова включает презентацию. Задачи транслируются на экране).
Задача 1: Программист Артем хочет написать алгоритм на алгоритмическом языке в системе КУМИР, который превратит стартовую обстановку в конечную. Робот находится в обстановке 12.
Стартовая обстановка
Итоговая обстановка
К сожалению, Артем поторопился и написал алгоритм неправильно, в результате чего программа зациклилась. Помогите Артему найти ошибку. Исправьте ошибку и сохраните алгоритм в свою папку под именем «ошибка.kum».
использовать Робот
алг
нач
. нц пока сверху стена
. . закрасить
. кц
. влево
. нц пока снизу стена
. . закрасить
. . влево
. кц
кон
(Ответ: Ошибка в первом цикле. После команды «закрасить», необходимо написать команду «вправо»).
Задача 2: Программист Артем очень любит лесенки. Его Робот находится в самом начале пути. Робот находится в обстановке 16. Помогите Артему написать программу, которая переместит его на самую вершину, при этом, закрасив все клетки, которые встречаются на пути. В программе необходимо использовать вспомогательные алгоритмы. Сохраните алгоритм в своей папке под именем «Лесенка.kum».
Стартовая обстановка
Итоговая обстановка
Ответ: Примерный текст алгоритма:
использовать Робот
алг
нач
. вбок
. ввысь
. вбок
. ввысь
. вбок
. ввысь
. вбок
. ввысь
кон
алг ввысь
нач
. нц пока сверху свободно
. . закрасить
. . вверх
. кц
кон
алг вбок
нач
. нц пока справа свободно
. . закрасить
. . вправо
. кц
кон
5.Постановка домашнего задания:
(Дети садятся на свои места)
А теперь, давайте представим, что мы с вами – сотрудники корпорации, которые разрабатывают программное обеспечение. Любая программа, написанная на языке программирования, начинается с описания алгоритма. Сегодня мы с вами создадим три корпорации, которые в дальнейшем будем использовать. Я попрошу каждого выйти к доске, вытянуть жребий и узнать, в какой корпорации он окажется.
Происходит деление на группы с помощью жребия. Каждый обучающийся вытягивает маленький листочек, на котором указан номер корпорации. Каждая корпорация – это отдельная группа из нескольких человек, которая будет выполнять домашнее задание вместе.
Итак, мы разделились на три большие корпорации. У каждого из вас есть свое задание:
Корпорация №1 – Написать алгоритм на алгоритмическом языке, который вычисляет площадь прямоугольника.
Корпорация №2 – Написать алгоритм на алгоритмическом языке, который вычисляет площадь прямоугольного треугольника.
Корпорация №3 – Написать алгоритм на алгоритмическом языке, который вычисляет силу тяжести.
К следующему уроку наши корпорации совместно постараются представить нам решения данных задач.
Кроме этих задач, для всех домашнее задание: Изучить §37: прочитать, повторить. Ответить на вопросы в конце параграфа.
6. Подведение итогов урока, рефлексия:
Я попрошу каждого написать те вопросы, которые ему непонятны по изученной нами теме, а затем переадресовать эти вопросы соседу. Пусть ваш сосед по парте постарается на них ответит, а затем уже вы сами постараетесь ответить на вопросы соседа.
Самое главное из сегодняшнего урока:
Цикл с условием – это цикл, который выполняется до тех пор, пока некоторое условие не станет ложным. Количество шагов такого цикла зависит от исходных данных;
Логическая команда – это запрос, на который исполнитель отвечает «да» или «нет»;
Всего существует 8 логических команд Робота: сверху стена, справа стена, снизу стена, слева стена, сверху свободно, снизу свободно, слева свободно, справа свободно;
Цикл с условием начинается со слова «пока»;
Зацикливание – это ситуация, когда цикл выполняется бесконечно. Чтобы избежать зацикливания, необходимо изменять расположение Робота, стремиться к тому, чтобы условие стало ложным.
Сегодня мы многому научились, но это не предел. Впереди нас ждет много сложных и интересных задач. А сейчас, я хочу поблагодарить вас за урок!
Список дополнительных источниковПоляков К.Ю., Еремин Е.А. Информатика. 7 класс: Учебник в 2-х частях. – М.: Бином, 2019
Список Интернет-ресурсов