Выступление «Python – эффективный язык для сдачи ЕГЭ» (Информатика и ИКТ)

1
0
Материал опубликован 6 December 2017

 «Python – эффективный язык для сдачи ЕГЭ»

Полубояров Андрей Александрович,

Муниципальное бюджетное общеобразовательное

учреждение Рассветовская средняя общеобразовательная школа

 

Все учителя информатики прекрасно знают, что программирование в лучшем случае даётся половине учащихся и с какими трудностями приходится сталкиваться при подготовке к ОГЭ и ЕГЭ.

Вначале надо определить, что значит научить ученика программировать. Если поставить задачу - просто объяснить, что в основе любой программы лежит код, то достаточно показать, как вывести простую картинку или осуществить простой диалог с пользователем. Для этого годится абсолютно любой язык, и, на мой взгляд, лучше выбрать визуальное программирование, например, Visual Basic (т.к. большинство пользователей работают в Windows).

Но тут возникает проблема в виде ОГЭ и ЕГЭ с 1 часом в неделю в общеобразовательном классе, а некоторые дети хотят сдавать экзамены!!! И перед нами, преподавателями информатики, встаёт проблема: как за меньшее количество часов научить решать задачи и сдать государственный экзамен.

Несколько лет выпускникам 9 классов при даче ОГЭ я советую не писать задание 20.2 на языке программирования, а выполнять задание 20.1, т.к. обучающимся из-за малого опыта написания программ тяжело в сжатые сроки экзамена отладить программу. В результате проверка знания построения алгоритмов упирается в малый опыт написания программ.

В старшей школе на ЕГЭ обойтись без программирования нельзя, написать задачу на алгоритмическом языке сложно, поэтому приходится использовать язык программирования. И очень часто выпускники, которые могли бы решить задачи 2-й части, путаются в синтаксисе языка, теряя на этом баллы.

Встает вопрос: какой из языков выбрать для сдачи ЕГЭ: Java, C++, PHP, Delphi, Visual Basic, остаться на классическом Pascal или выбрать Python. Еще в институте нам рассказывали, что раньше программированию учили на ассемблере (или даже в машинных кодах), и, когда появились языки высокого уровня, были большие дебаты: можно ли начинать обучение программированию с языка высокого уровня или надо обязательно учить ассемблер. Так что вопрос выбора языка Python — это дальнейшее развитие старой темы.

Синтаксис языка Python проще Pascal. Большинство технических вещей при программировании в Python решается с помощью встроенных функций. В Python проще и быстрей написать программу начинающим программистам, если она состоит из одной строки, а не из нескольких. В результате алгоритм решает туже самую задачу, а времени на написание и отладку тратиться меньше. Следовательно, можно решить больше заданий и получить больший опыт в написании программ.

Например, при работе с массивом можно написать:

 

b = [1] * 500 , чем

var b: array[1...500]of integer;

for j := 1 to 500 do

b[j] := 1;


В результате получается массив, заполненный единицами, но на Python – запись намного короче, а смысл не меняется. В результате экономится время экзамена.

Многие возразят, что нельзя так писать, что школьник должен понимать, что такое массив. Сначала мы должны объяснить, как он объявляется, что это непрерывный фрагмент памяти, что мы должны определить типы переменных, заполнить его...

На это можно возразить, что смысл для школьника не меняется, а строка b = [1] * 500 лучше отражает то, что ученик хочет получить и сразу же (нужен список из числа 1, повторенного 500 раз), гораздо проще пишется и позволяет решить больше задач экзамена!

Многие учителя информатики хорошо знают, сколько сил и времени требуется для того, чтобы научить школьников правильно расставлять в программе отступы, выделяющие тело циклов или условных операторов. При программировании на Python этой проблемы не существует: отступы являются частью синтаксиса языка, то есть они обязательны. В Паскале, например, можно написать такой (ошибочный) цикл:

j:= 0;

while j < 100 do

writeln ( j );

j := j + 5;

И ошибка приведет к зацикливанию, так как оператор j:=j+5 не входит в тело цикла.

В языке Python эта ошибка в принципе невозможна, потому что все операторы, входящие в блок, должны иметь одинаковые отступы:

j = 0

While j < 100:

... print(j)

... j = j + 5

В 50 годы прошлого века каждый владелец автомобиля помимо управления должен был осуществлять и его ремонт. В настоящее время только 20 процентов водителей могут самостоятельно обслуживать автомобиль. Так тогда зачем в 21 веке мы вместо «управления» алгоритмами учим их обслуживать и чинить. Так может быть вместо того, чтобы менять детали, заставим водителей точить их на станке?!

Многие высказывают опасения, что нельзя использовать встроенные функции max, min, sum и другие, так как "обманутые" легкостью операций школьники не будут понимать принципов внутренней организации алгоритма.

А Я считаю что эта методическая проблема, а не языка программирования.

Единый методический подход такой: сначала используя блок – схемы и язык программирования, мы объясняем как это работает, а потом разрешается использовать соответствующий элемент языка. Например, сначала написали обмен значений двух переменных через вспомогательную переменную:

m:=z;
z:=n;
n:=m;

потом показать, как сделать тоже самое при помощи кортежей (m, n) = (n, m).

С начала, показать как происходит нахождение максимума трех переменных

если a>b тогда max=a иначе max=b

если c>max тогда max=c;

а уже потом показать max(a,b,c).

В результате многолетней работы учителем информатики и анализа результатов успеваемости обучающихся 7-8 и 10 классов, а также после детального анализа итогов(баллов) ЕГЭ и ОГЭ, мною была создана программа «Python – среда программирования», цель которой - качественная подготовка обучающихся к итоговой аттестации и помощь в становлении будущего квалифицированного сотрудника, деятельность которого напрямую будет связана с информационными технологиями.

Содержание учебного курса.

Синтаксис языка программирования PYTHON.

Язык PYTHON как удобная среда программирования. История и тенденции развития языков программирования. Области применения языка программирования Python. Технология разработки программного обеспечения. Структура программы в языке Python. Понятие о переменных и константах в языке Python.

Основные виды учебной деятельности:

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

Линейный алгоритм в PYTHON.

 Оператор присваивания. Арифметические операторы. Операторы сравнения. Логические операторы. Приоритет операторов. Переменные в Python. Модель памяти Python при работе с переменными. Операторы ввода-вывода. Программы с линейной структурой.

Основные виды учебной деятельности:

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

Алгоритмы с ветвлением в PYTHON.

Операторы отношений в Python. Логические операции над объектами. Условный оператор if. Инструкция if-elif-else. Трехместное выражение if/else.

Основные виды учебной деятельности:

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

Циклический алгоритм в PYTHON.

Циклы в Python. Функция range() и цикл for в Python. Цикл while в Python. Вложенные циклы в Python

Основные виды учебной деятельности:

Лекция и демонстрация правильно написанных программ. Выполнение однотипных программ по образцу. Разработка новых вариантов программ. Моделирование биологических процессов. Решение экспериментальных задач.

Списки в PYTHON.

Списки в Python. Создание списка. Операции над списками в Python. Методы списка в Python. Преобразование типов в Python (списки, строки). Вложенные списки в Python. Списки. Срезы в списках. Решение задач со списками и срезами.

Основные виды учебной деятельности:

Лекция и демонстрация правильно написанных программ. Выполнение однотипных программ по образцу. Разработка новых вариантов программ. Моделирование практической деятельности. Решение экспериментальных задач.

Символьные данные в PYTHON.

Символы и строки. Срезы в строках.

Основные виды учебной деятельности:

Лекция и демонстрация правильно написанных программ. Выполнение однотипных программ по образцу. Разработка новых вариантов программ. Моделирование практической деятельности. Решение экспериментальных задач.

Элементы структуризации программы в PYTHON.

Функции. Файлы.

Основные виды учебной деятельности:

Лекция и демонстрация правильно написанных программ. Выполнение однотипных программ по образцу. Разработка новых вариантов программ. Моделирование практической деятельности. Решение экспериментальных задач.

в формате Microsoft Word (.doc / .docx)
Комментарии
Комментариев пока нет.