Мошникова Татьяна Николаевна
Учитель информатики
МОУ «Лицей № 40», г. Петрозаводск, Республика Карелия
Конспект открытого урока по информатике
УМК: Босова Л.Л. и др. 5 – 9 кл.
Класс: 8
Тема: Циклический алгоритм
Цель: формирование навыков программирования
Задачи: развивать навыки программирования, закрепить знания о циклическом алгоритме, закрепить знания о системах счисления, развивать умение разрешать проблемные ситуации.
Оборудование: доска, компьютеры, проектор
Тип урока: урок применения знаний и умений
Организационный момент
Приветствие с учениками. Инструктаж по технике безопасности.
Актуализация опорных знаний
Игра «Вопрос - ответ» для повторения понятий тем «Системы счисления», «Программирование». Игра реализована на слайде презентации. Анимация выхода надписи с номером вопроса со слайда реализована при помощи триггера.
Ученики по очереди выбирают вопрос и отвечают на него (8 учеников).
Ответы на вопросы:
1) система счисления
2) алфавит системы счисления
3) разряд
4) цикл
5) 0 и 1
6) выполнять деление числа и получаемых целых частей на 2 до тех пор, пока целая часть не станет равной 0, в ответе записать полученные остатки от деления в обратном порядке
7) вычисления целой части и остатка от деления соответственно
8) Оператор цикла for, while, repeat.
Применение знаний, умений и навыков
Учитель формулирует задание
В таблице 21 на 22 клетки располагаются цифры 0 и 1, кодирующие изображение (число 1 означает, что клетка закрашена, 0 - клетка не закрашена). Каждой строке соответствует своя последовательность цифр 0 и 1, то есть число в _________ системе _________.
Информация о последовательности цифр, хранящейся в каждой строке, утеряна, но имеется информация об этих числах, представленная в десятичной системе счисления. Помогите восстановить изображение.
Предложите свой план действий!
Ученики предлагаю выполнить перевод десятичных чисел в двоичную систему счисления.
| | | | | | | | | | | | | | | | | | | | | 262136 |
| | | | | | | | | | | | | | | | | | | | | 131080 |
| | | | | | | | | | | | | | | | | | | | | 196584 |
| | | | | | | | | | | | | | | | | | | | | 163880 |
| | | | | | | | | | | | | | | | | | | | | 168232 |
| | | | | | | | | | | | | | | | | | | | | 163880 |
| | | | | | | | | | | | | | | | | | | | | 164904 |
| | | | | | | | | | | | | | | | | | | | | 164904 |
| | | | | | | | | | | | | | | | | | | | | 172200 |
| | | | | | | | | | | | | | | | | | | | | 171816 |
| | | | | | | | | | | | | | | | | | | | | 163880 |
| | | | | | | | | | | | | | | | | | | | | 196584 |
| | | | | | | | | | | | | | | | | | | | | 131080 |
| | | | | | | | | | | | | | | | | | | | | 262136 |
| | | | | | | | | | | | | | | | | | | | | 16256 |
| | | | | | | | | | | | | | | | | | | | | 65504 |
| | | | | | | | | | | | | | | | | | | | | 65552 |
| | | | | | | | | | | | | | | | | | | | | 196584 |
| | | | | | | | | | | | | | | | | | | | | 262148 |
| | | | | | | | | | | | | | | | | | | | | 786418 |
| | | | | | | | | | | | | | | | | | | | | 1048577 |
| | | | | | | | | | | | | | | | | | | | | 2097151 |
Учитель фронтально задает вопросы, ученики отвечают.
Какой разрядности предложенные десятичные числа в задаче?
Оцените время, потраченное на переводы чисел. Ученики делают вывод о большом количестве времени, потраченном на перевод многоразрядных десятичных чисел.
Ребята, вы изучаете программирование!
Предложите выход из ситуации.
Ученики предлагают создать программу перевода.
Сформулируйте алгоритм перевода десятичного числа в двоичную систему счисления на русском языке.
Какой тип алгоритма следует использовать при создании нашей программы, линейный, разветвляющийся или циклический? (циклический)
Ребята, назовите тему урока. Ученики высказываются, называя возможные темы урока («Циклический алгоритм в решении задачи»).
Ребята, назовите задачи урока. Ученики высказываются, называя задачи урока (применить циклический алгоритм в решении задачи о переводе числа, создать программу перевода десятичного числа в двоичную систему счисления, протестировать созданную программу, решить задачу по восстановлению изображения).
Опишем данный алгоритм на языке программирования Паскаль.
Откройте среду программирования.
Один ученик проходит к доске, описывает алгоритм на языке программирования, поясняя свои действия.
Практическая работа за компьютерами
Учитель задает вопросы по мере составления учеником программы, направляет учеников во время выполнения практической работы.
Какие переменные будем использовать в программе и для чего?
Когда мы вычисляем первый раз остаток от деления на 2, какая это будет цифра по счету в двоичном числе?
Тогда нужно ли выводить цифру на экран после ее вычисления?
Как будем хранить остатки, то есть цифры, чтобы в последствии увидеть их в нужном порядке?
Будем использовать таблицу для хранения цифр, то есть массив.
Программа:
varN,i,c,k:integer;p:array[1..100] of integer;
begin
readln(N);
k:=0;
whileN0 do
begin
c:=N mod 2;
k:=k+1;
p[k]:=c;
N:=N div 2;
end;
fori:=k downto1 do write(p[i]);
end.
Проверим правильность работы нашей программы.
Тест 1. N=12. Ученик проходит к доске. Выполняет перевод числа 12 в двоичную систему счисления. Результат: 1100.
Тест 2. N=25. Ученик проходит к доске. Выполняет перевод числа 25. Результат: 11001.
Ребята, убедитесь в правильности работы вашей программы.
Используя программу перевода, выполните задание по восстановлению изображения.
Восстановленное изображение
Подведение итогов урока
Рефлексия
Учитель задает вопросы.
Ребята, вы решили задачу, поставленную в начале урока?
Да, вы создали программу перевода.
Специалисты в какой профессии создают новые программы?
Программисты. То есть сегодня, вы побыли в роли программистов!
Посмотрим на наш урок с других позиций. Возьмите листы рефлексии, заполните их, пожалуйста.
Лист рефлексии
1) Сформулируйте по 2 – 3 признака, характеризующих достоинства и недостатки двоичной и десятичной систем счисления
| Достоинства | Недостатки |
| Двоичная | Десятичная | Двоичная | Десятичная |
1 | | | | |
2 | | | | |
3 | | | | |
2) Что вы отнесете к практическому результату урока:
3) Что было самым интересным в уроке?
4) В чем лично для себя видишь пользу урока?
5) В чем испытывал трудности во время урока?
Домашнее задание
В таблице 11 на 13 клеток располагаются цифры 0 и 1, кодирующие изображение (число 1 означает, что клетка закрашена, 0 - клетка не закрашена). Каждой строке соответствует своя последовательность цифр 0 и 1.
Найдите десятичное число, соответствующее каждой строке. Попробуйте использовать навыки программирования для решения данной задачи.
| | | | | | | | | | | Десятичное число |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | |
1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | |