Статья "Подготовка выпускников 9 и 11 класса к решению задач по программированию"
статья по информатике и икт (9, 11 класс) на тему

Богачева Галина Владимировна

В статье рассказывается о подготовке выпускников к ОГЭ и ЕГЭ по теме "Алгоритмизация. Программирование". Проанализированы задачи, даны рекомендации, на что надо обратить внимание детей. Приведены источники материалов, а также обобщен опыт использования презентаций в практической деятельности.

Скачать:


Предварительный просмотр:

Подготовка выпускников 9 и 11 класса к решению задач по программированию

Учитель информатики

 144 лицея Санкт-Петербурга

Богачевой Г.В.

Контрольно-измерительные материалы ЕГЭ и ОГЭ по информатике почти непрерывно совершенствуются и усложняются, но, если выпускники 11-ых классов нашего лицея этот экзамен сдают более 10 лет, то девятиклассники в Санкт-Петербурге стали сдавать ОГЭ по информатике сравнительно недавно. Поэтому последние годы мы с коллегами особенно внимательно анализируем ошибки, допущенные на весенних диагностических работах в 9-ых классах, и разрабатываем презентации, направленные на подготовку ребят по самым сложным для них заданиям. Своей методической темой я выбрала анализ задач на программирование, разработку методики их решения и подготовки выпускников к экзамену, так как считаю эту тему актуальной. В базовом курсе информатики темы «Алгоритмизация и программирование» в программах, рассчитанных на 1 час в неделю (программа Семакина И.Г., Хеннера Е.К,  программа Угриновича Н.Д), в 10-11 классах нет. Знания, полученные в основной школе, к моменту выпуска частично теряются. Именно поэтому задания на анализ предложенных программ, на программирование обязательно должны быть включены во все занятия, направленные на повторение, обобщение и подготовку к экзаменам. Актуально повторение и при подготовке ребят 9-го класса (например, по программе Босовой Л.Л. эта тема изучается в 8-ом классе).

Работу над темой я начала с обработки источников, среди которых были сборники заданий, в составлении которых участвовали специалисты Федерального института педагогических измерений и популярные сайты, на которых публикуются   материалы по подготовке выпускников, а также материалы ЕГЭ и ОГЭ прошлых лет и демонстрационные версии ЕГЭ и ОГЭ. После анализа большого количества заданий можно сделать вывод, что ребят надо научить не только разрабатывать алгоритмы, но и читать и понимать готовые программы.

Задания в ОГЭ на программирование – это задания №6 (умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд), №8 (умение исполнить линейный алгоритм, записанный на алгоритмическом языке), №9 (умение исполнить простейший циклический алгоритм, записанный на алгоритмическом языке), №10 (умение исполнить циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке), №14 (умение записать простой линейный алгоритм для формального исполнителя), а также №20 (умение написать короткий алгоритм в среде формального исполнителя (вариант задания 20.1) или на языке программирования (вариант задания 20.2). В ОГЭ больше всего заданий именно на эту тему. В этой статье я хочу рассмотреть подготовку к заданиям №№ 8, 9, 10 и 20_2, то есть работу на алгоритмическом языке, хотя на моём сайте (nsportal.ru/bog-gal) выложены презентации и по другим вопросам.

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

При подготовке к решению задания №20_2 обращаем внимание детей на то, что:

  • числа не надо хранить в программе, к тому же мы не знаем, сколько чисел будет введено, поэтому отказываемся от массивов (в классическом Паскале нет динамических массивов -  в описании необходимо указать число элементов массива).
  • Если в задании указано, что программа получает на вход количество чисел в последовательности, а затем сами числа, то вначале вводим в переменную количество чисел, а затем организуем цикл - используем или цикл с параметром (for), или цикл с предусловием (while). Если количество чисел не задано, а есть признак окончания ввода, используем цикл с постусловием repeat (сначала вводим число, затем его анализируем).
  • Необходимо знать операции mod – остаток от деления (if a mod 10 = 8) и div – деление нацело (x := x div 10), понимать, что условие (a mod 10 = 8) проверяет последнюю цифру в числе (10 с.с.), а условие (a mod 6 = 0) проверяет кратность переменной a на 6 (остаток от деления на 6 равен 0). Оператор x := x div 10 меняет значение переменной x, отбрасывая цифру младшего разряда ((10 с.с.).
  • Знать, как считается количество (b := b +1 – в цикле к значению переменной прибавляем по 1) и сумма ( s := s + a – в цикле к старому значению переменной прибавляем очередное число и сохраняем в той же переменной).
  • Уметь использовать сложные условия (if (a mod 10 =2) and (a mod 6 =0)), знать логические операции not, and, or; помнить, что простые условия в логическом выражении берутся в круглые скобки; знать приоритет логических операций. Можно использовать вложенные условные операторы, при этом надо помнить, что внутренний условный оператор целиком вкладывается во внешний (как матрёшка).
  • Уметь сравнивать и находить в последовательности наибольшее или наименьшее число.
  • Избегаем подсказок и пояснений в операторах вывода. Мы требуем их применение на уроках, но на экзамене их использование не обязательно.

При подготовке к решению заданий №20_2 и №10 необходимо повторить и научить легко узнавать типовые алгоритмы – поиск максимального элемента массива или последовательности чисел, поиск минимального элемента, определение суммы чисел, соответствующих определённым критериям, определение количества чисел, соответствующих условию. Дети должны понимать, чем отличаются индекс элемента массива и значение элемента массива, обращать внимание, поиск идёт во всем массиве или только среди части элементов, фиксировать, что именно выводится на экран.

Задания в ЕГЭ на программирование – это №6 (формальное исполнение алгоритма, записанного на естественном языке или умение создавать линейный алгоритм для формального исполнителя с ограниченным набором команд), №8 (знание основных конструкций языка программирования, понятия переменной, оператора присваивания), №11 (умение исполнить рекурсивный алгоритм), №14 (умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд), №19 (работа с массивами (заполнение, считывание, поиск, сортировка, массовые операции и др.), №20 (анализ алгоритма, содержащего цикл и ветвление), №21 (умение анализировать программу, использующую процедуры и функции), №22 (умение анализировать результат исполнения алгоритма), №24 (умение прочесть фрагмент программы на языке программирования и исправить допущенные ошибки), №25 (умение написать короткую (10–15строк) простую программу на языке программирования), №27 (умение создавать собственные программы (30–50 строк) для решения задач средней сложности)

Здесь сложнее написать, что необходимо учесть при подготовке к экзамену. Ученики должны научиться использовать в практике построения алгоритмов основные управляющие структуры: следование, ветвление, цикл; уметь разбивать задачу на подзадачи, применять метод последовательной детализации алгоритма. Разумеется, необходимо знать основные операторы языка программирования, типы переменных, что такое рекурсия, уметь использовать подпрограммы – процедуры и функции, уметь работать с массивами. Надо помнить, что для решения задачи №27 требуется написать эффективную по времени и по памяти программу.

Материалы для подготовки я беру с сайта Константина Юрьевича Полякова (kpolyakov.narod.ru), различных сайтов для учителей информатики ( videouroki.net, metod-kopilka.ru, uchportal.ru, zavuch.info, nsportal.ru, znanio.ru), с демонстрационных версий прошлых лет, c открытого банка заданий ФИПИ. Но большинство материалов по подготовке к экзаменам предназначено для индивидуального использования, мне же хотелось сделать презентации, которую я могла бы использовать для групповых занятий (через проектор) во время уроков, на занятиях по подготовке к ЕГЭ и ОГЭ,во время предэкзаменационных консультаций для повторения пройденного материала. Такие презентации я публикую на своём сайте nsportal.ru/bog-gal, а также на своей странице сайта лицея lyceum144.ru/lyceum/struktura-litseya/metodkabinet/kafedra-mif/bogacheva-galina-vladimirovna/.

 В процессе работы над темой я веду блог по адресу http://galinabogacheva.livejournal.com. Работа с блогом ведётся следующим образом – я публикую экзаменационные материалы несколько раз в месяц. Ребята читают эти материалы дома, на занятия приходят с вопросами. Так как все задачи из блога были собраны в презентации, то достаточно оперативно можно найти нужную задачу и объяснить её ещё раз. Решаются аналогичные задачи. На предэкзаменационной консультации ещё раз просматриваем все задачи, чтобы вспомнить весь пройденный материал. Апробация такой формы работы показала её эффективность – за последние годы все выпускники нашего лицея, выбравшие информатику, сдали ЕГЭ с результатом лучше, чем средний балл по Санкт-Петербургу.


По теме: методические разработки, презентации и конспекты

ПРОГРАММА Элективного курса по алгебре 9 класс Тема: «Решение задач повышенной сложности»

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

Развитие математических способностей учащихся 5 – 6 классов путем решения задач на проценты.

В программе курса математики 5 – 6 классов большое место уделяется решению задач на проценты. Обучение решению этих задач всегда рассматривалось как необходимое условие ...

Мастер-класс " Алгоритмы решения задач по физике"

Полезный материал для работающих с учениками учителей. Разобраны задания из ЕГЭ, которые легко решить с помощью алгоритмов....

обучающая программа по теме "Алгоритм решения задачи линейного программирования"

материал предназначен для студентов повышенного уровня. в программе рассмотрен алгоритм составления базисного и опорного плпна разными методами и нахождение оптимального решения...

Решение задач линейного программирования графическим методом

Презентация к занятию "Решение задач линейного программирования графическим методом"...

Элективный курс «Геометрический метод решения задач линейного программирования»

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

Интегрированный урок математики и информатики "МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ"

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