Статья МЕТОДИКА ОБУЧЕНИЯ РЕШЕНИЮ ЗАДАЧ ЕГЭ ПО ИНФОРМАТИКЕ И ИКТ ТИПА C1 (24)

В статье описывается методический подход к обучению решения задач ЕГЭ по информатике и ИКТ типа C1(24) способствующий преодолению проблем различного характера, возникающих при изучении раздела «Программирование». Представлена разобранная задача C1(24) за 2015 год(проект), описан факультативный курс по обучению решению таких задач в 10-11 классах.
Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат docx
Изображения Нет
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

МЕТОДИКА ОБУЧЕНИЯ РЕШЕНИЮ ЗАДАЧ ЕГЭ ПО ИНФОРМАТИКЕ И ИКТ ТИПА C1(24)

Смирнов Александр Петрович,

Кандидат физико-математических наук, Астраханский государственный университет, г. Астрахань

E-mail: [email protected],

Рыженко Елена Владимировна,

Магистрант кафедры прикладной математики и информатики, Астраханский государственный университет, г. Астрахань

E-mail: [email protected]

АННОТАЦИЯ

В статье описывается методический подход к обучению решения задач ЕГЭ по информатике и ИКТ типа C1(24) способствующий преодолению проблем различного характера, возникающих при изучении раздела «Программирование». Представлена разобранная задача C1(24) за 2015 год(проект), описан факультативный курс по обучению решению таких задач в 10-11 классах.

Ключевые слова: обучение; ЕГЭ, методический подход; программирование, трассировочные таблицы, поиск семантических ошибок.

METHODS of TEACHING the SOLUTION of exam ination tasks C1(24) ON INFORMATICS

Alexander P. Smirnov,

Candidate of physico-mathematical Sciences, Astrakhan State University, Astrakhan

E-mail:[email protected],

Helena V. Ryzhenko

The student of magistrates of Applied Mathematics and Informatics,
Astrakhan State University, Astrakhan

E-mail: [email protected]

ABSTRACT

This article describes a methodological point of view teaching the solution of examination tasks in informatics. It is especially noted tasks number C1(24). This method promotes overcoming different difficulties in learning in programming. It is given the complete decision of the tack C1(24) from project of 2015. It is described an elective course of teaching same tasks in 10-11 forms.

Keywords: teaching; EGE, methodical approach; programming, trace tables, search semantic errors.

С 2004 года в системе ЕГЭ присутствует экзамен по информатике в качестве необязательного предмета по выбору. Перед учителем и учеником стоит цель не просто сдать ЕГЭ по информатике, а сделать это как можно более качественно, получив при этом как можно более высокие баллы. Выполнение этой задачи невозможно без решения заданий из 2 части КИМ.

При этом, следует отметить, что по данным сайта Официального информационного портала Единого Государственного Экзамена [1,2]. доля участников ЕГЭ по информатике, не приступавших к выполнению заданий с развёрнутым ответом (часть С) в 2011 году - 22,1%, в 2012 году - 19,9 %, в 2013 году - 26,1 % от всех учащихся выбравших предмет. Это обусловлено тем, что ГОС по информатике и ИКТ для базового уровня изучения не может обеспечить подготовку выпускников школы к сдаче ЕГЭ. Некоторые темы, которые присутствуют в кодификаторе ЕГЭ, либо не включены в него, либо недостаточно представлены. К числу таких тем относятся в частности такие темы, как: системы счисления, логика, алгоритмизация, программирование на языках высокого уровня [3].

Выше приведенная ситуация говорит о недостаточной подготовке выпускников и требует разработки эффективных методик обучения решению задач части С, и в частности заданий типа C1(24).

Задание C1(24) Части 3 ЕГЭ по информатике относится к заданиям повышенного уровня сложности. К проверяемым элементам содержания относятся умение читать фрагменты программ на языках программирования, находить и исправлять допущенные в нём ошибки.

И хотя все виды ошибок предсказать невозможно, анализ заданий типа C1(24) за 2004-2015 г. г. позволяет выделить несколько типичных ошибок, которые необходимо обнаружить и исправить при выполнении этих заданий:

1) ошибки, связанные с вводом неверных исходных данных (вводятся не те данные, которые указаны в условии); необходимо чётко следить за тем, что дано в условии задачи;

a) ввод промежуточной переменной в задаче, где требуется поменять местами две переменные, используя промежуточную переменную;

b) отсутствует ввод переменной N (количества элементов массива) перед вводом массива из N элементов и т. д;

2) ошибки, связанные с выводом неверных итоговых данных (выводится не то, что требовалось найти по заданию);

3) ошибки в логике программы:

a) неверно вложенные условные операторы;

b) неверно сформулированные условия в условных операторах, не соответствующие поставленной задаче;

c) неверное условие продолжения цикла;

d) использование неверно выбранных стандартных функций для достижения необходимого результата;

e) не учитываются частные случаи решения задачи, краевые точки областей и т. д:

f) частично решённые задачи;

g) программы, решающие немного другую задачу и т.д.

Разберём задачу 2015 года: На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество нечётных чисел в исходной последовательности и максимальное нечётное число. Если нечётных чисел нет, требуется на экран вывести «NO». Известно, что вводимые числа не превышают 1000. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования (рассмотрим Паскаль).

Паскаль

Пояснения

const n = 4;

Постоянная n=4

var i, x: integer;

var maximum, count: integer;

Объявление переменных

I, x - целые maximum, count целые

begin

Начало

count := 0;

Первичное значение count=0

maximum := 999;

Первичное значение maximum=999

for i := 1 to n do

begin

Для от 1 до n (4) выполняй (заголовок цикла)

Начало тела цикла

read(x);

Ввод x

if x mod 2 <> 0 then

begin

Если остаток от деления x на 2 не равен 0 (т.е. x- нечётное) делай

Начало действий

count := count + 1;

Увеличить значение count на 1

if x > maximum then

Если x> maximum (т. е. 999) тогда делай

maximum := i

Значению переменной maximum присвоить значение переменной i

end

Конец действий

end;

Конец тела цикла

if count > 0 then

begin

Если значение переменной count >0 то делай

Начало действий

writeln(count);

Вывести значение переменной count

writeln(maximum)

Выведи значение переменной maximum

end

Коней действий

else

Иначе (т. е. если значение переменной count <или =0) делай

writeln('NO')

Выведи слово NO

end.

Конец программы

Последовательно выполните следующее:

  1. Напишите, что выведет эта программа при вводе последовательности: 2 9 4 3. Для этого составим трассировочную таблицу программы.

Таблица 1

№ шага

действия

n

count

maximum

i

Условие цикла i<=n

x

Условие

x mod 2 <> 0

Условие

x >maximum

Условие

count > 0

Вывод

1

4

2

0

3

999

4

1

1<=4 да

5

2

6

2 mod 2 <> 0 нет

-

7

2

8

2<=4 да

9

9

10

9 mod 2 <> 0 да

11

1

12

9 > 999 нет

13

3

14

3<=4 да

15

4

16

4 mod 2 <> 0 нет

-

17

4

18

4<=4 да

19

3

20

3 mod 2 <> 0 да

21

2

22

5

3> 999 нет

23

5<=4 нет

24

2>0 да

25

Count=2

Maximum=999

Из таблицы видно, что для последовательности 2 9 4 3 будут выведены числа 2 и 999.

  1. Приведите пример такой последовательности, содержащей хотя бы одно нечётное число, что, несмотря на ошибки, программа печатает правильный ответ.

Анализируя текст программы, а именно фрагмент if x > maximum then maximum := I можно заметить, что изменение значения переменной maximum возможно лишь в случае, когда x>999. По условию вводимые числа не превышают 1000. Соответственно, программа будет работать верно, если в последовательности есть 999. Выведенное количество нечётных чисел будет правильным в любом случае. Следовательно, примером последовательности, содержащей хотя бы одно нечётное число, при которой, несмотря на ошибки, программа печатает правильный ответ может служить последовательность 1 3 5 999.

  1. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

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

Так как по условию задачи необходимо чтобы программа находила максимальное нечётное значение среди вводимой последовательности чисел, то логично первоначальное значение переменной maximum задать 0 или 1 (как наименьшее из возможных нечётных чисел).

Следовательно, первая ошибка: неверная инициализация maximum.

Строка с ошибкой: maximum := 999;

Верное исправление: maximum := 0; или maximum:=1;

Так как maximum должен определяться среди последовательности вводимых чисел, т. е. среди значений переменной x. А в программе присваивается значение переменной i (счётчика цикла), то вторая ошибка: неверное присваивание при вычислении максимума.

Строка с ошибкой: maximum = i;

Верное исправление: maximum = x;

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

Работа по обучению решению задач типа C1(24) должна начинаться с пропедевтического этапа ещё в 9 классе. Именно в 9 классе, согласно УМК «Информатика и ИКТ» для основной школы (8-9 классы) Л.Л. Босовой и А.Ю. Босовой рассматриваются соответствующие разделы «Алгоритмизация» и «Программирование». Важно добиваться от учащихся не формального усвоения программного материала, но его глубокого осознанного понимания.

В плане практически каждого урока может быть предусмотрено время (от 5 до 15 минут) на тестирование, объем таких мини-тестов - 5-10 вопросов. Желательно при закреплении материала на уроке давать контрольные вопросы и задания в стандартном формате, соответствующем ЕГЭ. Важно систематически проводить тренировочные тесты по подготовки к ЕГЭ, выбирая материал уже пройденный учащимися.

Например, задания на поиск ошибок в записи операторов:

В каком из условных операторов допущена синтаксическая ошибка?

  1. if B = 0 then Writeln ('Деление на нуль невозможно.');

  2. if a > b then max := a else max := b;

  3. if (a>b) and (b>0) then c:=a+b;

  4. If a < b then min: = a; else min: = b.

Особое внимание при изучении раздела «Программирование» в 9 классе предполагается уделить формированию и развитию навыку построения трассировочных таблиц выполнения программ.

Для преодоления временного разрыва при изучении программирования между 9 и 11 классами было предложено организовать факультатив по решению задач ЕГЭ по информатике и ИКТ типа С1(24).

Цели курса:

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

Задачи курса:

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

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

• Использовать приобретенные знания и умения для решения практических задач в новой ситуации:

- решать сложные логические высказывания;

- анализировать текст программы с точки зрения соответствия записанного алгоритма поставленной задаче и изменять его в соответствии с заданием;

- реализовывать сложный алгоритм с использованием современных систем программирования.

Курс рассчитан на 10 часов и включает в себя следующие темы:

  • Повторение основных элементов языка программирования Паскаль.

  • Линейная программа. Трассировочные таблицы.

  • Оператор условного перехода.

  • Логические связки AND, NOT, OR

  • Циклические процессы.

  • Целочисленная арифметика.

  • Разбор задач. Тестирование.

На занятиях по факультативу необходимо использовать задания, напрямую связанные с задачами типа C1(24) ЕГЭ по информатике. Например, поиск строк, содержащих ошибки, запись логического выражения, соответствующего попаданию точки указанной области и т.п.

Предполагается, что данный факультатив будет проводиться по усмотрению учителя либо во II полугодии 10 класса, либо в I полугодии 11 класса. Педагог может сам определять целесообразность выбора времени проведения факультатива с целью повторения и углубления знаний, умений и навыков по программированию.

Предложенные методические рекомендации позволяют развить у учащихся умения анализировать программы, находить в них синтактические и семантические ошибки и способы их исправления, то есть, обучить учащихся решению задач типа С1(24).

Список литературы

  1. Официальный информационный портал Единого Государственного Экзамена. Доля (в %) участников ЕГЭ, не приступавших к выполнению заданий с развернутым ответом (часть С), в 2012 г. [Электронный ресурс]. -URL:ege.edu.ru/common/upload/docs/ege3_satistics_kol2012_not_c.xls (29.11.2013).

  2. Официальный информационный портал Единого Государственного Экзамена. Доля (в %) участников ЕГЭ, не приступавших к выполнению заданий с развернутым ответом (часть С), в 2013 г. [Электронный ресурс]. -URL:ege.edu.ru/common/upload/docs/app8.xls (29.11.2013).

  3. Семакин И.Г. Программа курса «Информатика и ИКТ» (базовый уровень) для 10-11 классов, рассчитанная на учебный план 140 часов. [Электронный ресурс]. -URL:metodist.lbz.ru/authors/informatika/2/files/140.doc. (29.11.2013).

  4. Ключева Е. Е. Решение задач типа C1 (9 класс). [Электронный ресурс]. -URL:basicschool.ru/index.php?page=lessons_info_1&uref=yandex.ru/clck/jsredir// (11.10.2013).

10


© 2010-2022