12+  Свидетельство СМИ ЭЛ № ФС 77 - 70917
Лицензия на образовательную деятельность №0001058
Пользовательское соглашение     Контактная и правовая информация
 
Педагогическое сообщество
УРОК.РФУРОК
 
Материал опубликовал
Павел50

Разработка урока «Циклы с условием»

Волгин Павел Михайлович, учитель информатики

Муниципальное Общеобразовательное Учреждение «Средняя Общеобразовательная Школа №20» г. Воскресенск, Московская область

Тезис к публикации: В данной работе представлен урок по информатике в 7 классе на тему «Циклы с условием» по учебнику К.Ю. Полякока, Е.А. Еремена 7 класс: Учебник в 2-х частях. – М.: Бином, 2019

Общая характеристика

УМК

К.Ю. Поляков, Е.А. Еремин

Класс

7

Раздел программы

Алгоритмы и программирование

Тема урока

Циклы с условием

Необходимое оборудование

Персональные компьютеры

Мультимедийный проектор

Экран

Необходимое программное обеспечение

Кумир

MS PowerPoint

План проведения урока

Организационный этап – 1 минута

Актуализация знаний – 6 минуты

Изучение нового материала – 20 минут

Практическое закрепление материала (Авторская практическая работа «Циклы с условием для Робота» - 10 минут

Постановка домашнего задания – 3 минута

Подведение итогов урока, рефлексия – 5 минут

ХОД УРОКА

1. Организационный этап

Здравствуйте, дети! Садитесь, пожалуйста.

Скажите, пожалуйста, кто сегодня отсутствует.

2. Актуализация знаний

Давайте вспомним, что мы проходили на прошлых уроках. Для этого я попрошу Вас разделиться на две боевые команды. Пусть это будут команда мальчиков и команда девочек. Есть среди вас смелые мальчики и девочки? (К доске выходят один мальчик и одна девочка).

Давайте поиграем с вами в информационные крестики-нолики. Нашим добровольцам ничего делать не нужно. Они выбирают одноклассника, который будет отвечать на поставленный вопрос. У девочек отвечать будут девочки, у мальчиков – мальчики. Задача капитанов – выбрать номер клетки и указать на ответчика. И если ваша команда ответит верно, то мы поставим в эту клетку крестик или нолик. Соответственно, далее будут действовать правила игры крестики-нолики. Пусть девочки будут крестики, а мальчики – нолики (На доске чертиться такая же табличка, чтобы в случае правильного ответа поставить в клетку крестик или нолик).

t1590612400aa.png

Вопрос в ячейке 1: Какие алгоритмы называются циклическими? (Алгоритмы, в которых происходит многократное выполнение некоторой последовательности действий).

Вопрос в ячейке 2: Какой цикл называется вложенным? (Цикл, находящийся в теле другого цикла).

Вопрос в ячейке 3: Что будет выполнять робот при следующей последовательности команд:

нц 7 раз

закрасить

вниз

кц

(Робот 7 раз выполнит две команды: закрасит клетку и пойдет вниз).

Вопрос в ячейке 4: Для чего нужны комментарии?

(Комментарии необходимы для пояснения человеку внутри текста программы).

Вопрос в ячейке 5: В данной обстановке напишите алгоритм, используя цикл N раз, чтобы закрасить все клетки по периметру.

t1590612400ab.pngt1590612400ac.png


Стартовая обстановка

Обстановка после алгоритма



Одна из рабочих программ:

использовать Робот

алг

нач

. нц 3 раз

. . вверх

. кц

. нц 13 раз

. . закрасить

. . вправо

. кц

. нц 9 раз

. . закрасить

. . вниз

. кц

. нц 14 раз

. . закрасить

. . влево

. кц

. нц 9 раз

. . закрасить

. . вверх

. кц

. закрасить

. нц 3 раз

. . вниз

. кц

. вправо

кон

Вопрос в ячейке 6: Какая величина называется переменной? (Величина, которая изменяется во время выполнения алгоритма).

Вопрос в ячейке 7: Для чего необходимо объявление переменной? (Объявление переменной необходимо для того, чтобы определить, какие данные можно хранить в переменной, какие операции можно с ней выполнять, сколько памяти выделить для хранения значения).

Вопрос в ячейке 8: Как называются фактические значения параметра, которые передаются в процедуру? (Аргументы).

Вопрос в ячейке 9: Для чего необходима процедура с параметром? (Для того чтобы одна процедура могла выполнять похожие, но чем-то отличающиеся действия).

Молодцы! Садитесь на свои места!

3. Изучение нового материала

Во время игры в информационные крестики-нолики, вы пытались написать алгоритм для закрашивания роботом клеток по периметру обстановки. Как вы думаете, можно ли выполнить этот алгоритм другими способами? (Ответы учеников).

Перед вами на столе лежат зеленый, желтый и красный круг. Я сейчас буду задавать вам вопросы, которые начинаются с фразы: «Верно ли, что…». И если вы считаете, что верно, то поднимаете зеленый кружок, если считаете, что неверно, то красный, если не знаете ответа – желтый.

Вопрос 1: Верно ли, что справа от Робота – свободно?

t1590612400ad.png

(Неверно, справа от Робота - стена).

(Ученики должны поднять красный кружок).

Вопрос 2: Верно ли, что снизу от Робота – стена?

t1590612400ae.png

(Неверно, снизу от Робота - свободно).

(Ученики должны поднять красный кружок).

Вопрос 3: Верно ли, что слева от Робота – свободно?

t1590612400ad.png

(Верно, слева от Робота - свободно).

(Ученики должны поднять зеленый кружок).

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

(Пока не закончится последний урок).

А какие команды вы будете выполнять в теле цикла?

(Ходить на уроки).

То же самое с роботом. Робот выполняет какие-либо действия в зависимости от условия. В качестве условия роботу необходимо обозначить логические команды:

сверху стена

справа стена

снизу стена

слева стена

сверху свободно

справа свободно

снизу свободно

слева свободно

А теперь, давайте подумаем, что будет выполнять робот, если данные условия будут выполняться. На слайде вы видите табличку, в которой в левой колонке написаны логические команды, а в правой – пусто. Но снизу вы можете видеть объяснения, которые характеризуют каждую команду. Давайте постараемся каждой логической команде соотнести объяснение. Я снова попрошу выйти одного добровольца, который сможет выполнить это задание (В презентации нужно выйти из полноэкранного режима и расставить блоки описания по строкам, чтобы получилась правильная таблица).

сверху стена


справа стена


снизу стена


слева стена


сверху свободно


справа свободно


снизу свободно


слева свободно


Робот выполняет команды, если сверху есть препятствие до тех пор, пока сверху не станет свободно;

Робот выполняет команды, если сверху нет никаких препятствий до тех пор, пока сверху не появится стена;

Робот выполняет команды, если справа есть препятствие до тех пор, пока справа не станет свободно;

Робот выполняет команды, если справа нет никаких препятствий до тех пор, пока справа не появится стена;

Робот выполняет команды, если слева есть препятствие до тех пор, пока слева не станет свободно;

Робот выполняет команды, если слева нет никаких препятствий до тех пор, пока слева не появится стена;

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

Робот выполняет команды, если снизу нет никаких препятствий до тех пор, пока снизу не появится стена.

Итоговая таблица:

сверху стена

Робот выполняет команды, если сверху есть препятствие до тех пор, пока сверху не станет свободно

справа стена

Робот выполняет команды, если справа есть препятствие до тех пор, пока справа не станет свободно

снизу стена

Робот выполняет команды, если снизу есть препятствие до тех пор, пока снизу не станет свободно

слева стена

Робот выполняет команды, если слева есть препятствие до тех пор, пока слева не станет свободно

сверху свободно

Робот выполняет команды, если сверху нет никаких препятствий до тех пор, пока сверху не появится стена

справа свободно

Робот выполняет команды, если справа нет никаких препятствий до тех пор, пока справа не появится стена

снизу свободно

Робот выполняет команды, если снизу нет никаких препятствий до тех пор, пока снизу не появится стена

слева свободно

Робот выполняет команды, если слева нет никаких препятствий до тех пор, пока слева не появится стена

Молодец! Садись на место!

Как вы думаете, а могут ли в таких циклах возникнуть конфликты?

(Ответы учеников).

Давайте рассмотрим задачу (Учитель открывает КУМИР и загружает обстановку 9).

Дана обстановка:

t1590612400af.png

Необходимо написать алгоритм, с помощью которого Робот дойдет до стены и закрасит все клетки (кроме последней), находящиеся до этой стены. Давайте напишем алгоритм для робота:

использовать Робот
алг
нач
. нц пока справа свободно
. . закрасить
. кц
кон

Правильно ли выполнится этот алгоритм?

(Нет, так как условие будет истинно всегда – алгоритм всегда будет закрашивать первую клетку)

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

использовать Робот

алг

нач

. нц пока справа свободно

. . закрасить

. . вправо

. кц

кон

Запишите в тетради, как можно было записать этот алгоритм, используя «Цикл N раз».

Один из примеров:

использовать Робот

алг

нач

. нц 8 раз

. . закрасить

. . вправо

. кц

кон

t1590612400ag.png

4.Практическое закрепление материала (Авторская практическая работа «Циклы с условием для Робота»)

Примечание: Практическая работа взята из проекта авторского сборника задач на алгоритмизации и программированию «Программист Артем решает задачи» 7-9 класс. Часть 1: «Программист Артем решает задачи на алгоритмическом языке»

Давайте выполним практическую работу. У вас за партой лежит практическая работа, которая называется «Программист Артем решает задачи на алгоритмическом языке». Какие же сегодня задачи ему нужно выполнить?

(Обучающиеся рассаживаются за компьютеры, берут с собой практическую работу).

(Учитель снова включает презентацию. Задачи транслируются на экране).

Задача 1: Программист Артем хочет написать алгоритм на алгоритмическом языке в системе КУМИР, который превратит стартовую обстановку в конечную. Робот находится в обстановке 12.

t1590612400ah.png

Стартовая обстановка

Итоговая обстановка

t1590612400ai.png



К сожалению, Артем поторопился и написал алгоритм неправильно, в результате чего программа зациклилась. Помогите Артему найти ошибку. Исправьте ошибку и сохраните алгоритм в свою папку под именем «ошибка.kum».

использовать Робот
алг
нач
. нц пока сверху стена
. . закрасить
. кц
. влево
. нц пока снизу стена
. . закрасить
. . влево
. кц
кон

(Ответ: Ошибка в первом цикле. После команды «закрасить», необходимо написать команду «вправо»).

Задача 2: Программист Артем очень любит лесенки. Его Робот находится в самом начале пути. Робот находится в обстановке 16. Помогите Артему написать программу, которая переместит его на самую вершину, при этом, закрасив все клетки, которые встречаются на пути. В программе необходимо использовать вспомогательные алгоритмы. Сохраните алгоритм в своей папке под именем «Лесенка.kum».


Стартовая обстановка

Итоговая обстановка

t1590612400aj.pngt1590612400ak.png



Ответ: Примерный текст алгоритма:

использовать Робот
алг
нач
. вбок
. ввысь
. вбок
. ввысь
. вбок
. ввысь
. вбок
. ввысь
кон
алг ввысь
нач
. нц пока сверху свободно
. . закрасить
. . вверх
. кц
кон
алг вбок
нач
. нц пока справа свободно
. . закрасить
. . вправо
. кц
кон

5.Постановка домашнего задания:

(Дети садятся на свои места)

А теперь, давайте представим, что мы с вами – сотрудники корпорации, которые разрабатывают программное обеспечение. Любая программа, написанная на языке программирования, начинается с описания алгоритма. Сегодня мы с вами создадим три корпорации, которые в дальнейшем будем использовать. Я попрошу каждого выйти к доске, вытянуть жребий и узнать, в какой корпорации он окажется.

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

Итак, мы разделились на три большие корпорации. У каждого из вас есть свое задание:

Корпорация №1 – Написать алгоритм на алгоритмическом языке, который вычисляет площадь прямоугольника.

Корпорация №2 – Написать алгоритм на алгоритмическом языке, который вычисляет площадь прямоугольного треугольника.

Корпорация №3 – Написать алгоритм на алгоритмическом языке, который вычисляет силу тяжести.

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

Кроме этих задач, для всех домашнее задание: Изучить §37: прочитать, повторить. Ответить на вопросы в конце параграфа.

6. Подведение итогов урока, рефлексия:

Я попрошу каждого написать те вопросы, которые ему непонятны по изученной нами теме, а затем переадресовать эти вопросы соседу. Пусть ваш сосед по парте постарается на них ответит, а затем уже вы сами постараетесь ответить на вопросы соседа.

Самое главное из сегодняшнего урока:

Цикл с условием – это цикл, который выполняется до тех пор, пока некоторое условие не станет ложным. Количество шагов такого цикла зависит от исходных данных;

Логическая команда – это запрос, на который исполнитель отвечает «да» или «нет»;

Всего существует 8 логических команд Робота: сверху стена, справа стена, снизу стена, слева стена, сверху свободно, снизу свободно, слева свободно, справа свободно;

Цикл с условием начинается со слова «пока»;

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

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

Список дополнительных источников

Поляков К.Ю., Еремин Е.А. Информатика. 7 класс: Учебник в 2-х частях. – М.: Бином, 2019

Список Интернет-ресурсов

http://kpolyakov.spb.ru/

https://www.niisi.ru/kumir/



Опубликовано


Комментарии (0)

Чтобы написать комментарий необходимо авторизоваться.