Разработка урока "Алгоритмы и программы с циклом по условию" 9 класс

1
Разработка урока информатики в 9 классе
по теме «Алгоритмы и программы с циклом по условию»
выполнена учителем информатики ГОУ СОШ № 1200
с углубленным изучением английского языка
Сергеевой Г. В.
1. Место урока в курсе. Тема «Основы алгоритмизации и программирования»
в 9 классе рассчитана на 28 часов (2 урока в неделю). На уроках, предшествующих
данному, учащиеся освоили следующие знания и навыки:
Знают:
этапы решения задачи с помощью компьютера;
четыре базовые алгоритмические конструкции: следование, ветвление, цикл,
вспомогательный алгоритм;
типы переменных: числовые (целые, вещественные), строковые, логические;
арифметические действия и числовые функции системы программирования
КУМИР, в частности остаток от деления mod и целочисленное деление div;
оператор присваивания и его свойства;
операцию конкатенации.
Умеют:
читать и составлять простые блок-схемы;
кодировать на языке КУМИР линейные, разветвляющиеся алгоритмы, а также
алгоритмы, содержащие цикл с параметром. Непосредственно на предыдущем уроке
научились записывать цикл по условию (на примере задачи «Угадай число»);
вводить текст программы, тестировать программу, сохранять программу,
пользоваться справочными материалами по системе программирования КУМИР;
пользоваться электронной почтой, пересылать сообщения с вложенными файлами;
переводить целые десятичные числа в двоичную, восьмеричную,
шестнадцатеричную системы счисления «вручную» делением столбиком с остатком на
основание соответствующей системы счисления (2, 8, 16);
на домашних ПК большинства учащихся установлена система программирования
КУМИР.
2. Цели урока. Обучающая: научить кодировать в программах цикл по условию.
Развивающая: развитие алгоритмического мышления, формирование представления о
формализации задачи, формирование навыков работы со справочными материалами,
умения работать самостоятельно в условиях неопределенности. Воспитательная:
воспитывать умение ставить цель, добиваться получения результата, оценивать
результаты своей работы; воспитание общей информационной культуры,
коммуникативной компетентности.
3. Задачи:
закрепить на практике владение технологией решения задач с помощью
компьютера (анализ условия задачи определение исходных данных и результатов –
математическая модель алгоритм программа тестирование анализ результатов, при
необходимости отладка программы);
2
закрепить навыки кодирования цикла по условию в программе;
ввести новое понятие: преобразование числовой переменной в литерную;
наглядно проиллюстрировать процесс автоматизации вычислений.
4. Тип урока. В структуре урока можно выделить организационный модуль,
повторение, закрепление, контроль, коррекцию, но ведущим модулем является
закрепление, именно он определяет тип урока.
5. Этапы урока:
организационный (актуальность изучения темы, постановка целей и задач урока);
повторение (базовые алгоритмические структуры, виды циклов, особенности цикла
по условию);
актуализация знаний: повторение алгоритма «ручного» перевода натурального
десятичного числа в двоичную систему счисления;
разработка алгоритма автоматизированного перевода натурального десятичного
числа в двоичную систему счисления в виде блок-схемы; составление программы на языке
КУМИР; ввод и тестирование программы с помощью 5 тестов, составленных учащимися
самостоятельно;
контроль выполнения задания; постановка проблемной задачи: изменить
программу таким образом, чтобы она переводила десятичное число в восьмеричную
систему счисления.
проблемное домашнее задание (для мотивированных учащихся): изменить
программу таким образом, чтобы она переводила десятичное число в шестнадцатеричную
систему счисления.
6. Оценка результатов. В системе оценки результатов урока выделяется три
уровня:
первый уровень: учащийся понимает работу алгоритма, вместе с учителем
составляет программу, предлагает 5 тестов для проверки правильности алгоритма,
тестирует программу и делает заключение о ее работоспособности. В случае, если
программа работает некорректно, устраняет ошибки самостоятельно, с помощью
одноклассников или учителя (оценка «хорошо»).
второй уровень: учащийся самостоятельно изменяет программу так, чтобы она
переводила десятичное число в восьмеричную систему счисления и тестирует ее (оценка
«отлично»).
- третий уровень: учащийся дома с помощью справочной системы КУМИР разбирает
работу конструкции «выбор» и дорабатывает отправленную по электронной почте
программу таким образом, чтобы она переводила десятичное число в шестнадцатеричную
систему счисления. Этим учащимся оценка выставляется дополнительная оценка на
следующем уроке.
7. Методы обучения, используемые на уроке:
минимум-тренинг (отработка минимального уровня знаний в соответствии с
государственным стандартом);
метод проблемного изложения;
частично-поисковый метод;
3
исследовательский метод (для группы учащихся, ориентированных на сдачу
экзамена и дальнейшее изучение информатики в системе среднего и высшего
профессионального образования).
8. Формы работы с учащимися на уроке:
фронтальная беседа с классом;
устные ответы двух учащихся у доски;
групповая работа по составлению алгоритма и программы под руководством
учителя;
самостоятельная практическая работа учащихся на компьютере (ввод и
тестирование программы);
9. Оборудование и программное обеспечение: 15 персональных компьютеров с
доступом к Интернету, проектор и демонстрационный экран, система программирования
КУМИР.
Ход урока
1. Приветствие. Постановка цели, определение задач.
На прошлом уроке вы познакомились с разновидностью алгоритмической
конструкции «цикл», которая называется «цикл по условию». Сегодня мы составим
алгоритм и программу перевода десятичного числа в двоичную систему счисления с
использованием этой новой конструкции. Запишите тему урока: «Цикл по условию.
Алгоритм перевода десятичного числа в двоичную систему счисления». Мы заставим
компьютер выполнять вычисления, которые некоторым из вас давались не очень легко
при изучении темы «кодирование числовой информации», фактически осуществим
автоматизацию трудоемких ручных вычислений. Для достижения поставленной цели нам
нужно будет пройти всю технологическую цепочку решения задачи с помощью
компьютера (сформулировать постановку задачи, определить, что дано и к какому
результату нужно прийти, построить математическую модель, составить алгоритм,
закодировать его на языке программирования КУМИР, ввести программу в компьютер и
протестировать ее). Даже если в дальнейшем вы не собираетесь заниматься
программированием, составление алгоритмов поможет вам научиться составлять четкие
пошаговые инструкции для себя, а возможно, и для своих будущих подчиненных
сотрудников, формулировать вполне определенные цели и способы их достижения.
2. Актуализация знаний, повторение.
Какие базовые алгоритмические конструкции используются в программировании и
для чего нужна каждая из них? (Следование, ветвление для выбора альтернативных
действий, цикл для повторения действий, вспомогательный алгоритм для выделения
подзадачи в основном алгоритме).
Какие две разновидности циклов вы знаете и чем они различаются? (цикл с
известным количеством повторений (цикл с параметром) и цикл с неизвестным
количеством повторений (цикл по условию или итерационный цикл)).
4
Как кодируется цикл по условию в системе программирования КУМИР? (один
ученик у доски).
нц пока <условие>
<тело цикла>
кц
Обратите, пожалуйста, внимание на то, что тело цикла выполняется до тех пор, пока
условие в заголовке цикла истинно. Такой цикл называется «цикл с предусловием». Для
того, чтобы был возможен выход из цикла, а он обязательно должен произойти, иначе наш
алгоритм не может называться алгоритмом, тело цикла должно содержать оператор,
изменяющий значение переменной, записанной в заголовке, то есть должна иметь место
обратная связь.
Для решения поставленной нами задачи, кроме цикла по условию, необходимо
вспомнить, какие типы переменных можно использовать в программировании и в
частности, в системе КУМИР.
(числовые: целые и вещественные и строковые или литерные).
Также необходимо вспомнить, что такое конкатенация.
Пример: переменные a, b, c литерные.
a:= «мега»
b:= «байт»
c:=a+b
В результате переменная с принимает значение «мегабайт». Это произошло в
результате операции конкатенация, которая обозначается знаком +.
Чтобы понять, какие команды должен содержать разрабатываемый нами алгоритм,
давайте вспомним, что мы делаем при переводе десятичного числа в двоичную систему
счисления при «ручном» переводе. Ведь действия, которые выполняет искусственный
интеллект, каковым является компьютер, должны быть аналогичны действиям
естественного интеллекта. И тот, и другой подчиняются одним и тем же законам
законам логики.
Один ученик у доски переводит число 19 из десятичной системы в двоичную
делением столбиком с остатком.
19
10
= 10011
2
Давайте сформулируем правило перевода на естественном языке:
Чтобы перевести десятичное число в двоичную систему счисления, нужно
последовательно делить его на 2 (основание двоичной системы), каждый раз фиксируя
частное и остаток, до тех пор, пока частное не станет равным нулю. Затем записать
полученные остатки в обратном порядке (от последнего к первому).
3. Основной этап. Разработка алгоритма и программы. А теперь приступим
к составлению алгоритма и программы. Нам дано десятичное число x. Результатом будет
двоичное число a в литерной (строковой форме). Получающиеся при делении остатки
5
(обозначим текущий остаток b) нужно будет переводить в строковую форму. Для этого в
КУМИРе существует специальная функция (запишите ее в тетрадь).
b:=цел_в_лит(ост), где ост – числовая переменная целого типа
Составление блок-схемы методом проблемного изложения с привлечением группы
учащихся (блок-схема демонстрируется на проекционном экране со слайда презентации
(настроена анимация блоков, что позволяет показывать их один за другим по мере
объяснения).
Запрашиваем исходное десятичное число x. Литерной переменной a, в которой будет
храниться результат, присваиваем значение пустого слова (то же самое, что ноль для
числовой переменной). Переменной частн присваиваем значение x. Открываем цикл по
условию. Пока x не равен 0, делаем следующее: переменной частн присваиваем результат
целочисленного деления x на 2, переменной ост присваиваем остаток от деления числа x
на 2. Переменной x присваиваем значение частн. Именно этот оператор изменяет
значение переменной x, прописанной в заголовке, в результате чего осуществляется
обратная связь и становится возможным выход из цикла при x=0.
Числовую переменную ост переводим в литерную переменную b.
С помощью конкатенации и рекуррентной записи переменную b записываем в
начало литерной переменной a, тем самым обеспечивая выписывание остатков в обратном
порядке.
Как только значение переменной x станет равным нулю, заканчивается выполнение
тела цикла. Выводим результат a на экран.
Блок-схему учащиеся в тетрадь не записывают.
ввод x
a:=””
частн:=x
пока частн<>0
частн:=div(x,2)
ост:=mod(x,2)
x:= частн
b:=цел_в_лит(ост)
a:=b+a
вывод a
конец
начало
6
А теперь кодируем алгоритм на языке КУМИР.
алг
нач
. цел x, частн, ост
. лит a, b
. ввод x| натуральное целое число
. a:=""|пустое слово
. частн:=x
. нц пока частн<>0
. . частн:=div(x,2)
. . ост:=mod(x,2)
. . x:=частн
. . b:=цел_в_лит(ост)
. . a:=b+a
. кц
. вывод "Число в двоичной системе ", a
кон
Программа демонстрируется на экране (операторы появляются по одному).
Учащиеся записывают программу в тетрадь.
А теперь введите программу в системе программирования КУМИР, самостоятельно
подберите 5 тестов и протестируйте правильность программы. Не забудьте
протестировать такие значения x, как 0 и 1, а также какую-либо степень числа 2,
предусмотрите случаи, когда получается симметричное и несимметричное двоичное
число. При подборе тестов можно пользоваться инженерным калькулятором.
Учащиеся, у которых программа работает корректно, предъявляют работу учителю
(оценка «4»). В случае наличия синтаксических или алгоритмических ошибок исправляют
их самостоятельно, с помощью учителя или справившихся с задачей одноклассников.
Обязательное требование довести программу до получения корректного
результата.
4. Перед теми, кто справился, учитель ставит проблемную задачу:
преобразовать программу так, чтобы она переводила десятичное число в
восьмеричную систему счисления (второй уровень оценивания оценка «5»).
5. Учащиеся сохраняют программу и пересылают ее по электронной почте на свой
электронный адрес.
Учащимся, претендующим на третий уровень оценивания, дается домашнее
задание: с помощью справочной системы КУМИР разобраться со структурой
«множественный выбор» и изменить программу таким образом, чтобы она переводила
десятичное число в шестнадцатеричную систему счисления (дополнительная оценка).
6. Заключительный этап.
Итак, сегодня на уроке мы разработали, отладили и протестировали программу,
позволяющую автоматизировать перевод десятичного числа в двоичную систему
счисления (объявляются оценки «4»). Некоторым удалось модифицировать программу для
перевода чисел в восьмеричную систему (объявляются оценки «5»). Пожелаем удачи тем,
кто возьмется за решение исследовательской задачи – модифицировать программу для
перевода чисел в шестнадцатеричную систему.