Мой стаж педагогической деятельности – 31 год. Из них 21 год я преподаю информатику. Мои ученики – победители региональных и Всероссийских олимпиад на протяжении последних десяти лет. Много лет я искала формы и методы доступного изложения материала по разделу Программирование для обучающихся средних общеобразовательных школ.
Предлагаемый Вашему вниманию урок по началам программирования – один из вариантов первого урока данной темы.
Предварительные сведения.
Класс: 10-ый, физико-технический профиль. Класс разбит на две подгруппы, то есть на уроке может быть до 14-15 человек.
Изученный материал: темы «Моделирование процессов» и «Разработка алгоритмов». При изучении темы Алгоритмы основное внимание уделялось школьному алгоритмическому языку, пошаговому анализу выполнения алгоритмов. Рассмотрены все базовые алгоритмические структуры (следование, ветвление, циклические структуры Для и Пока), введены понятия стандартных функций и вспомогательных алгоритмов, дана классификация типов данных, рассмотрена возможность вложенности алгоритмических структур. Степень обученности учащихся (10-х классов) по теме «Алгоритмы» (по Симонову) составила 0,8 (из 1,0). Степень обученности учащихся (СОУ) рассчитывается по формуле , где К5 , К4 , К3 – количество пятерок, четверок и троек, N – количество обучающихся в классе.
Вывод: класс готов к восприятию нового материала.
Цели урока:
- Понятие программа, программирование.
- Классификация языков программирования.
- Изучение основных процедур, функций и операторов для реализации алгоритмических структур: read(readln), write(writeln), if…then…else, for…do, while…do в процессе перевода алгоритмов решения задач на язык программирования.
- Исследование среды программирования Delphi (консольное приложение).
- Закрепление навыков представления алгоритмов решения задач в виде программного кода.
Форма организации урока: Интерактивная лекция.
Сопровождение урока: интерактивная лекция, реализованная в среде PowerPoint, среда программирования Delphi (Console Application), файлы с примерами программ (с общим доступом) – Приложение 2, доступ к сети Интернет.
ТСО: интерактивная доска (желательно), ПК, ЖК-панель (вместо интерактивной доски).
План урока:
- Организационный момент – 5 минуты
- Понятие программа, программирование. – 15 минут
- Реализация структуры Следование я. п.Pascal – 10 минут
- Реализация структуры Разветвление – 15 минут
- Реализация структуры цикла Для – 15 минут
- Реализация структуры цикла Пока – 20 минут
- Подведение итогов урока (закрепление материала) – 10 минут
- Домашнее задание: Классификация языков программирования (конспект), одну-две задачи из раздела Домашние задачи – 5 минут (время оргмомента)
Ход урока
I. Организационный момент урока
– загрузка интерактивной лекции, среды программирования Delphi (консольное приложение), актуализация внимания. Домашнее задание.
II. Понятие программа, программирование
(Слайд 1, не считая титульного)– структурная схема места темы в общем плане предмета, работа со слайдом – 5 минут.
III. Реализация структуры Следование
я.п. Pascal (Слайд 2). Задача: Определить сумму цифр трехзначного числа.
- Просмотр справки для знакомства с процедурами ввода и вывода информации – read и writeln (Слайд 6). Организован возврат на текущий слайд из справки.
- Реализация приведенного алгоритма решения задачи в среде Delphi (можно использовать подготовленный файл z_sl.dpr, размещенный в архиве Примеры_программ.rar).
- Для выполнения программы нажать клавишу F4 (при этом поставить курсор перед служебным словом end.). Ввести значение числа N, например, 157. И получить результат – 13. Продемонстрировать учащимся выполнение программы по шагам, используя окно AddWatch среды Delphi,поместив в окно все используемые переменные (результаты отразить либо на интерактивной доске, либо на ЖК-мониторе, либо с помощью проектора на экране).
- Показать учащимся процесс закрытия окна выполнения программы: перейти в редактор кода программы и нажать клавишу F7.
- Ответы на вопросы по процессу реализации алгоритма.
IV. Реализация структуры Разветвление
(Слайд 3). Задача: Определение максимального значения из трех чисел.
- В беседе с учащимися предсказывать каждое следующее действие, подтверждая его с помощью интерактивной лекции (каждый шаг программы в лекции идет через нажатие клавиши Пробел или щелканье левой клавишей мыши).
- Дать время учащимся для набора текста программы в среде Delphi (или загрузить готовый файл с текстом z_razvl.dpr) и затем запустить его на выполнение (клавиша F4 – курсор в начале строки end.). В процессе выполнения программы ввести значения, например, 5 8 1 и получить результат 8. В то время, когда учащиеся набирают текст программы, учитель готовит демонстрацию пошагового выполнения программы, открыв файл с текстом программы и заполнив именами переменных окно отладчика среды.
- Ответить на вопросы учащихся по процессу реализации алгоритма.
V. Реализация структуры Для
(циклический алгоритм) (Слайд 4, без титульного). Задача: Дан ряд целых чисел размерностью N. Определить максимальное значение данного ряда.
- Используя материал интерактивной лекции, сделать акцент на вложенности структур: разветвления в циклической структуре Для. Показать по шагам реализацию алгоритма решения предложенной задачи.
- Дать задание учащимся загрузить подготовленный файл и запустить его на исполнение (клавишей F4).
- Принять значения переменных: N=5, a: 4 3 17 -8 7 (вводить числа в ответ на приглашение системы программирования по одному, нажимая клавишу Enter, или одной строкой через пробел). Результатом выполнения программы будет вывод числа 17.
- Ответить на вопросы учащихся по процессу реализации алгоритма.
VI. Реализация структуры цикл Пока
(Слайд 5). Задача: Найти сумму цифр числа, больших 5.
- Продемонстрировать процесс реализации алгоритма при помощи презентации.
- Загрузить подготовленный файл с программой.
- Запустить фай на исполнение (клавишей F4).
- Ввести N=1596. Получить результат 15.
- Ответить на вопросы по процессу реализации алгоритма.
При выполнении пунктов плана урока 3-6 необходимо отображать процесс выполнения программы по шагам. При этом на учительском мониторе должно быть открыто окно Delphi с окном отладки (окно Add Watches). При демонстрации работы каждой программы в это окно необходимо заносить все имена переменных, используемых для реализации алгоритма, и обязательно выполнять программу по шагам. Таким образом осуществляется визуализация выполнения программы исполнителем.
VII. Подведение итогов урока
(закрепление материала) – 5 мин. – реализация алгоритма языком программирования – выбор программы по приведенному алгоритму, реализованному школьным алгоритмическим языком. Так как это первый урок, то для закрепления материала можно использовать материал предыдущих уроков (разобранные алгоритмы решения задач) и предложить учащимся выбрать правильный вариант программы. Итоги закрепления отразить на интерактивной доске или с выбором подготовленной карточки (в случае отсутствия ИД).
Оценивание результатов работы на уроке (3 мин).
Домашнее задание – 7 слайд презентации (без учета титульного) отображает классификацию языков программирования. Познакомившись на практике с я.п. Паскаль, можно расширить область ближнего развития учащегося через самостоятельное изучение вопроса, связанного с возможными видами языков программирования. Для этого по приведенной структуре классификации языков программирования и ссылке на соответствующий материал в Интернете, дается домашнее задание – законспектировать соответствующий материал. На Слайде 8 приводится начало конспекта.
Для закрепления материала рекомендуется познакомиться с дополнительным материалом по программированию. Слайд 9 отображает список учебников с указанием страниц для подготовки к следующему уроку. В каждом классе есть ученик, которые увлекаются всем новым и интересным. Для таких на этом слайде приводится список задач, которые можно решить, используя полученные на уроке знания. Это необязательное задание. Интересно, что необязательное задание стремятся решать многие.
Примерные варианты разобранных алгоритмов, используемых для закрепления материала, приведены в таблице – Приложение 1.
Ответы:
- в1-о3. Определение НОД двух чисел.
- в2-о1. Определение среднего значения ряда чисел размерностью N.
- в3-о5. Дано число N. Удалить из записи числа цифры 0 и 5, оставив прежним порядок остальных цифр. (Например, из числа 1509 должно получиться 19.)
- в4-о2. Даны натуральные числа a и b. Вычислить a div b и a mod b без использования операции div и mod.
- в5-о4. Найти сумму целых положительных чисел, больших 20, меньших 100, кратных 3 и заканчивающихся на 2, 4 или 8.
VIII. Задачи для домашнего задания:
- Дано натуральное число N. Найти первую цифру числа, например, для числа 7265 это цифра 7.
- Определить количество трехзначных натуральных чисел, сумма цифр которого равна заданному числу N.
- Сумма цифр трехзначного числа кратна 7, само число также делится на 7. Найти все такие числа.
- Дано натуральное число N. Определить, равна ли первая цифра числа его последней цифре.
- Выяснить, является ли разность максимальной и минимальной цифр числа четной.
Задачи, в основном, взяты из книги Задачи по программированию / С.М. Окулов, Т.В. Ашихмина, Н.А. Бушмелева и др.; Под ред. С.М. Окулова. –М.: БИНОМ. Лаборатория знаний, 2006.