УДК 37.04

О ПОДГОТОВКЕ ШКОЛЬНИКОВ К УЧАСТИЮ В ОЛИМПИАДАХ ПО ИНФОРМАТИКЕ

Козлов Сергей Валерьевич
ФГБОУ ВПО «Смоленский государственный университет»
кандидат педагогических наук, доцент, доцент кафедры информатики

Аннотация
В статье дан анализ структуры и содержания олимпиад по информатике среди школьников на муниципальном и региональном уровне в 2014 году. На примере муниципального этапа олимпиады школьников по информатике и олимпиады по информатике Смоленского государственного университета среди абитуриентов охарактеризованы основные типы заданий. Автором выявлены особенности подготовки школьников для успешного участия в олимпиадах. Дан ряд рекомендаций подготовки учащихся в контексте организации профильного обучения информатике в школе.

Ключевые слова: индивидуальное обучение, информатика, олимпиада, предпрофильное обучение, программирование, профильное обучение


ABOUT TRAINING OF SCHOOL STUDENTS FOR PARTICIPATION IN THE OLYMPIADS ON INFORMATICS

Kozlov Sergey Valeryevich
Smolensk State University
Ph.D. in Pedagogical Sciences, Associate Professor, assistant professor of Computer Science

Abstract
In article the analysis of structure and the content of the Olympiads on informatics among school students at the municipal and regional level in 2014 are given. On the example of a municipal stage of the Olympiad of school students on informatics and the Olympiad on informatics of Smolensk state university among entrants are characterized the main types of tasks. The author revealed features of training of school students for successful participation in the Olympiad. The article gives a number of recommendations to prepare pupils in the context of the organization of profile training in informatics at school.

Keywords: individual training, informatics, olympiad, preprofile training, profile training, programming


Рубрика: Педагогика

Библиографическая ссылка на статью:
Козлов С.В. О подготовке школьников к участию в олимпиадах по информатике // Психология, социология и педагогика. 2015. № 1 [Электронный ресурс]. URL: https://psychology.snauka.ru/2015/01/4255 (дата обращения: 03.11.2023).

Обучение учащихся в профильной школе предполагает развитие способностей в соответствии с направлением подготовки на углубленном высоком творческом уровне. Это предполагает участие школьников в предметных олимпиадах [1]. Остановимся в данной статье на особенностях подготовки к олимпиадам по информатике и их отличительных признаках от других олимпиад физико-математического профиля.

Участие в олимпиаде по информатике может принять школьник любого возраста. Как правило, это учащиеся 8-11 класса, обладающие выраженными способностями к изучению информатики. На школьном этапе проведения олимпиады количество участников обычно делится в пропорции один к двум между учениками средней и старшей школы. В тоже время на муниципальном этапе в процентном соотношении превалируют ученики профильной школы. Это объясняется тем, что на предпрофильном уровне обучения информатике в 8-9 классе учащиеся получают базовую подготовку по предмету. Они изучают все основные дидактические предметные линии школьного курса информатики и ИКТ. Специфика же олимпиады по информатике заключается в том, что задания на ней предлагаются сугубо по программированию.

Следует подчеркнуть, что всем учащимся независимо от класса предлагается решить одинаковые задачи. В связи с этим, если ученик в 8-9 классе дополнительно не занимался программированием ему трудно пробиться на более высокий этап олимпиады. Однако это вовсе не означает, что такая подготовка не ведется [2]. Приобрести необходимый багаж знаний и умений школьник может, посещая как профильные школьные кружки по программированию, так и, например, областную физико-математическую школу при Смоленском государственном университете или профильные занятия подобной направленности [3].

Анализ условий задач школьного этапа муниципальной олимпиады по информатике позволяет выделить задания следующих типов:

1. Задания, требующие знания простейших математических фактов.

2. Задания на делимость.

3. Задания на обработку символьных данных.

4. Задания на обработку числовых массивов данных.

Рассмотрим задания указанных типов, предложенные в 2014 году на школьном этапе олимпиады по информатике.

К первому типу можно отнести задачу «Две окружности». В данной задаче требовалось определить, пересекаются ли на плоскости две окружности, заданные координатами своих центров и радиусами. Сложность задачи заключалась в том, что возможны два случая расположения центров окружностей друг относительно друга. Первый – когда центр второй окружности лежит вне первой окружности и второй – когда центр одной из них лежит внутри другой. Школьники, решая поставленную задачу, забывали рассмотреть второй случай, тем самым, теряя половину решения, и получая верный алгоритм только в частном виде.

Ко второму типу следует отнести задачу «Деление». В ней требуется выяснить, делится ли на 7 натуральное число, состоящее не более чем из 60 цифр, и найти остаток от деления. Особенность решения задачи заключается в том, что если решать ее «в лоб», объявляя переменную целого типа, то на «больших» числах задача работать не будет. Ввиду этого число необходимо вводить в виде строковой переменой, длина которой может быть до 255 символов. Остаток от деления положить равным 0. Затем задать цикл от первого символа до последнего символа строки. В цикле выделять по одному символу строки и последовательно переводить его в числовое значение. Находить текущий остаток от деления на 7 от суммы остатка предыдущего шага увеличенного на один разряд и текущей цифры. В таком виде алгоритм решения задачи будет давать верный результат при входных данных задачи.

К третьему типу относится задача «Редактор», в которой предлагается обработать определенным образом входную строку символов. В строке может встречаться символ «#», означающий директиву стереть предыдущий символ. Подряд k символов «#» предполагают удаление k предыдущих символов. Ученику требуется вывести итоговую строку с учетом роли символа «#». Сформировать новую строку можно следующим образом. Объявить пустую строку. Затем в цикле по номеру исходной строки считывать текущий символ. Если он отличен от знака «#», то добавлять его к новой строке. Иначе удалять из формируемой строки последний символ. Если же формируемая строка пустая, а в исходной строке встретился символ «#», то она не изменит своего значения, так как из нее нечего удалять. Однако, несмотря на кажущуюся простоту изложенного алгоритма, учащиеся, не имевшие дело с работой над строками, не берутся ее решать. В тоже время из остальных учеников многие пытаются изменять исходную строку, что, как правило, приводит к неверной работе предложенной программы в частных случаях.

В задачах четвертого типа чаще всего предлагается обработать данные, представленные в виде двумерного массива. Например, задана матрица размера n на m, состоящая из нулей и единиц. Матрица называется «симпатичной», если в ней нет ни одного квадрата 2 на 2, заполненного либо целиком нулями, либо целиком единицами. В задаче требуется проверить, будет ли матрица «симпатичной» или нет. Задача имеет достаточно очевидный алгоритм решения. Объявить переменную логического типа и присвоить ей значение true, то есть предположить, что матрица «симпатичная». Затем во вложенном цикле по столбцам цикла по строкам последовательно просмотреть элементы матрицы без элементов последнего столбца и последней строки. Для каждого из них проверить совпадают ли с ним три элемента, стоящие справа, снизу и по диагонали вниз направо от него. Если совпадают, то изменить значение переменной логического типа на false. В таком случае при выполнении условия хотя бы один раз матрица «симпатичной» являться не будет. Этот способ не единственен, возможны и другие схожие алгоритмы. Затруднения вызывают у рядового школьника организация обработки данных во внутреннем цикле. Нередко учащиеся вовсе не знают, как задать двумерный массив данных, так как данная тематика вынесена на дополнительные занятия. Также многие ученики при обработке строк и столбцов выходят за границы массива, что считается ошибкой при решении задачи. И в тоже время наибольшую сложность представляет найти математический подход для решения задач подобного вида. Выработка подхода достигает в отдельных случаях до двух третей сложности поставленного перед учащимся задания.

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

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

Проанализируем задания олимпиады СмолГУ по информатике для школьников, поступающих в вуз в 2015 году. Итак, учащимся были предложены следующие пять заданий.

Задача. 2015 год.

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

Пример входных данных: 129. Пример выходных данных: 9.05.2015.

Решение этой задачи предполагало умение использовать структуру вложенных друг в друга операторов ветвления If либо оператор выбора Case. Также необходимо было подметить закономерность в вычислении дня. А именно, следовало вычитать из номера дня числовое значение, определяющее правый конец предшествующего диапазона-месяца. В том числе следовало учитывать и формат вывода данных.

Задача. Максимальное число.

Дано трехзначное число. Составьте из цифр данного числа наибольшее трехзначное число, используя каждую цифру не более одного раза. Например, 235 – 532, 857 – 875, 399 – 993.

Пример входных данных: 235. Пример выходных данных: 532.

Решение этой задачи можно описать сразу несколькими способами. Один из подходов заключается в выделении цифр трехзначного числа с помощью операций целочисленного деления div и mod. После чего останется аккуратно с использованием условного оператора If описать всевозможные порядки вывода цифр и сформировать из них новое число. Для расстановки цифр по разрядам нового числа необходимо использовать степени 10 и операцию сложения целых чисел. Другой подход заключается в записи цифр числа в одномерный массив из трех элементов. После чего элементы массива сортируются по убыванию. На последнем шаге также как и при первом подходе формируется новое число: первый элемент массива умножается на 100, второй – на 10 и все три элемента массива складываются. Иной вариант решения заключается в записи числа в строку, после чего следует упорядочить по убыванию ее символы. Например, это можно сделать с помощью того же условного оператора If или сортировкой символов строки, что и при первом подходе и новое число будет получено сразу.

Задача. Уникальные числа.

Среди чисел от 1 до n найдите те, сумма квадратов цифр которых делится на m.

Пример входных данных: n=10, m=3. Пример выходных данных: 3, 6, 9.

Специфика данной задачи заключается в том, что неизвестно количество цифр в числе. Диапазон может быть такой, что он включает и двузначные, и трехзначные, и четырехзначные и так далее числа. Следовательно, для выделения цифр числа не обойтись последовательностью инструкций с div и mod. Для решения задачи требуется использовать структуру вложенных циклов. Внешний цикл должен включать перебор целых чисел от 1 до n. После чего значение переменной цикла следует передать вспомогательной переменной, например, x. Внутренний цикл необходимо выполнять до тех пор, пока в числе остаются цифры. На каждом его витке выделяется последняя цифра числа с помощью операции x mod 10. Эта цифра возводится в квадрат и добавляется в сумму квадратов цифр, значение которой обнуляется перед каждым внутренним витком. После чего число во вспомогательной переменной изменяется на новое число, состоящее из цифр исходного числа без последней цифры. Это можно выполнить с помощью команды x div 10. Таким образом, во внешнем цикле остается проверить делится ли найденное значение суммы квадратов цифр числа на число, введенное пользователем с клавиатуры.

Задача. Рост учеников.

В классе N учеников (N<=33). Известен рост каждого из них. Найдите ученика, рост которого наиболее близок к среднему росту учащихся класса.

Пример входных данных: N=3; 160, 170, 180. Пример выходных данных: 170.

Это задание предполагает обработку массива данных. Сначала требуется сформировать одномерный массив и заполнить его значениями в диапазоне от 160 до 210. Затем найти среднее арифметическое элементов массива как сумму значений его элементов деленную на количество элементов в массиве. Необходимо учитывать тот факт, что средняя величина есть значение вещественного типа данных, несмотря на целочисленный массив. После этого нужно выбрать наименьшую по модулю разность между каждым элементом массива и средним арифметическим значением. При определении данной наименьшей по модулю величины также следует запоминать позицию элемента массива, для которого это условие выполняется. Значение данного элемента и будет искомым.

Задача. Математические величины.

Для заданных натуральных чисел m и n вычислите их НОК (наименьшее общее кратное).

Пример входных данных: 4, 6. Пример выходных данных: 12.

При решении этого задания требуется вспомнить тот факт, что вычислить НОК можно как произведение искомых натуральных чисел, деленное на НОД (наибольший общий делитель). НОД же можно вычислить по алгоритму Евклида. Данный алгоритм можно сформулировать так. Из двух заданных натуральных чисел выбирается наибольшее число и меняется на разность между большим и меньшим значением. Так делается до тех пор, пока числовые значения не совпадут. На этом данные действия завершаются, а найденное итоговое значение и есть НОД двух заданных натуральных чисел. Однако это решение не единственное. Можно, например, выбрать из двух чисел наибольшее, записать его как предполагаемое НОК и проверить делится ли оно на меньшее значение. Если да, то оно и есть НОК. Если нет, то увеличить его на наибольшее значение из двух заданных чисел и снова проверить делится ли оно на меньшее число и так далее. Как только на очередном шаге остаток от деления будет равен нулю, то текущее значение и есть НОК двух заданных чисел.

Анализ заданий олимпиады СмолГУ по информатике показывает, что большая часть из них для учащихся занимающихся информатикой, и программированием в частности, действительно базируются на знаниях полученными ими на занятиях в школе. Одна из задач является, как правило, стандартной, три – повышенного уровня сложности и одна – высокого уровня сложности. Такое соотношение действует на многих олимпиадах не только по информатике, но и другим учебным дисциплинам. В тоже время более успешными на олимпиаде по информатике оказываются ученики со специальной подготовкой, обучающиеся в профильных физико-математических классах или классах с профилем по информатике. Тем не менее, ученики, для которых предмет информатики является общеобразовательным, также могут найти на олимпиаде свои задачи и попробовать получить дополнительные баллы-бонусы для поступления в вуз.

Обобщая данные участия в муниципальном этапе олимпиады по информатике и олимпиады по информатике для школьников, поступающих в СмолГУ, можно отметить еще один немаловажный факт. Среди участников этих двух олимпиад набрали больше баллов те учащиеся 10 и 11 классов, кто сдавал в 9 классе ГИА (ОГЭ) по информатике и ИКТ. Во всех тестовых заданиях трех частей ГИА (ОГЭ) по информатике и ИКТ для учащихся 9 классов присутствуют задачи по программированию [4, 5, 6]. При этом в 9 классе на ГИА по информатике эти ученики стабильно показывают высокие результаты. Это говорит о том, что олимпиады по информатике, как и по другим предметам, требуют специальной подготовки. Они позволяют выявить наряду с другими формами учебной и внеучебной работы одаренных учащихся, интересующихся предметной областью информатики на углубленном уровне [7, 8].

Интересно также и распределение мест между призерами и победителями этих олимпиад. Если на муниципальной олимпиаде по информатике за редким исключением это учащиеся 11 классов. То на олимпиаде по информатике СмолГУ среди победителей есть один-два ученика 10 класса, а между призерами они и вовсе делятся пропорционально с учениками 11 класса. Это говорит о том, что заниматься на профильном уровне программированием предметной области информатики, не говоря уже о других областях школьного предмета, можно не обязательно с классов средней школы, а начиная в старшей школе с 10 класса. Тем не менее, эта подготовка должна носить целенаправленный и систематический характер. Так, например, заинтересовать учащихся занятиями по программированию, можно привлечением к участию в школьных, городских и областных днях науки, а также в предметных конкурсах по информатике и современным информационным технологиям [9]. В частности можно совместно с учащимися проектировать и разрабатывать программные оболочки различной направленности от методического характера до прикладных игр [10].

Следует также подчеркнуть еще один немаловажный факт. Если задания рассматриваемых олимпиад по информатике сопоставимы по тематике и уровню сложности, то олимпиадные задачи городского, областного и особенно всероссийского этапов требуют специальной подготовки. В задачах городского этапа необходимо знание и умение запрограммировать, как правило, рекурсивные и простейшие виды переборных алгоритмов. На областном этапе решение отдельных задач предполагает знание понятий «список», «стек» и «очередь». Особенно важно понимать их назначение и уметь программировать данные структуры, если они не являются встроенными в язык программирования, который использует учащийся для решения поставленной задачи. Также ежегодно на областном уровне встречаются задачи на клеточной карте.

Еще одной из особенностей является умение организовывать чтение входных данных из файла и запись выходных данных в файловую структуру. В заданиях анализируемых школьного этапа муниципальной олимпиады и олимпиады для абитуриентов при поступлении в вуз данные можно считывать как с клавиатуры, так и из файла. Решение задачи не предполагает знание последнего факта. Важен собственно алгоритм решения задачи. На олимпиадах более высокого уровня, начиная с областного этапа, чтение и запись файловых данных прямо оговорена в условии задания, другие варианты решения просто не проверяются и не оцениваются, даже при правильном алгоритме. В связи с этим для участия в таких олимпиадах необходима специальная подготовка, например, в рамках исследовательских кружков или олимпийских сборных по программированию задач на компьютере. В рамках этих занятий для достижения наилучших результатов целесообразно использовать в обучении инновационные адаптивные системы [11, 12, 13].

Итак, анализ особенностей олимпиадных заданий, проведенный в данной статье, показывает следующее. Начальные стадии всероссийской олимпиады школьников по информатике, как и профильные вузовские олимпиады для абитуриентов по предмету требуют знания основ программирования в объеме базового курса информатики и ИКТ. Последующие этапы всероссийской олимпиады школьников по информатике предполагает знания на профильном уровне, а заключительный этап – кроме прочего фундаментальную математическую подготовку и творческое мышление. Также и олимпиады по информатике для абитуриентов, поступающих в вуз, делятся по уровню значимости. Чем шире возможность представления результатов такой олимпиады по вузам, тем более фундаментальная требуется профессиональная подготовка.

Таким образом, необходимо вести разъяснительную профориентационную работу по предмету, заинтересовывать школьников изучением алгоритмических основ и обучением программированию в целом. Это можно и нужно делать при изучении базового курса информатики и ИКТ. При этом хорошая базовая подготовка может в последующем при участии в вузовской олимпиаде дать определенные преимущества при поступлении в учебное заведение. Для участия же в олимпиадах всероссийского уровня по информатике обязательна профильная подготовка школьника при изучении предмета на углубленном уровне.


Библиографический список
  1. Козлов С. В. Особенности обучения школьников информатике в профильной школе // Научно-методический электронный журнал «Концепт». – 2014. – № 1. – С. 31-35. ART 14006. – URL: http://e-koncept.ru/2014/14006.htm.
  2. Козлов С. В. Анализ результатов экспериментальной деятельности по изучению основ объектно-ориентированного программирования в школьном курсе информатики // Современные научные исследования и инновации. 2014. № 6-3 (38). С. 16.
  3. Козлов С. В. Организация обучения информатике в профильной школе с использованием инновационных образовательных систем // Инфокоммуникационные технологии в региональном развитии: Сборник трудов седьмой ежегодной межрегиональной научно-практической конференции. – Смоленск: СПЭК, 2014. – С.71-73.
  4. Козлов С. В. Анализ выполнения тестовых заданий части 1 ГИА (ОГЭ) по информатике и ИКТ в 2014 году в контексте организации профильного обучения // Современная педагогика. 2014. № 10 [Электронный ресурс]. URL: http://pedagogika.snauka.ru/2014/10/2756 (дата обращения: 28.10.2014).
  5. Козлов С. В. Анализ выполнения тестовых заданий части 2 ГИА (ОГЭ) по информатике и ИКТ в 2014 году в контексте организации профильного обучения // Современная педагогика. 2014. № 12 [Электронный ресурс]. URL: http://pedagogika.snauka.ru/2014/12/3173 (дата обращения: 07.01.2015).
  6. Козлов С. В. Анализ выполнения тестовых заданий части 3 ГИА (ОГЭ) по информатике и ИКТ в 2014 году в контексте организации профильного обучения // Современная педагогика. 2015. № 1 [Электронный ресурс]. URL: http://pedagogika.snauka.ru/2015/1/3295 (дата обращения: 14.01.2015).
  7. Кенжаев З. М., Баженов Р. И. О проблеме оценки проектной деятельности на кружке по информатике // Психология, социология и педагогика. 2014. № 12 [Электронный ресурс]. URL: http://psychology.snauka.ru/2014/12/4036 (дата обращения: 02.12.2014).
  8. Кузьменко О. В., Баженов Р. И. Применение системы дистанционного образования «Телешкола» при организации смешанного обучения в преподавании базового курса «Информатика и ИКТ» // Психология, социология и педагогика. 2014. № 11 [Электронный ресурс]. URL: http://psychology.snauka.ru/2014/11/3979 (дата обращения: 26.11.2014).
  9. Козлов С. В. Анализ результатов участия учащихся в дне науки по информатике в контексте организации профильного обучения // Гуманитарные научные исследования. – 2014. – № 4 (32). – С. 16.
  10. Козлов С. В. Структура, содержание и специфика вычислительной практики студентов математического профиля направления подготовки «Педагогическое образование» // Гуманитарные научные исследования. 2014. № 7 [Электронный ресурс]. URL: http://human.snauka.ru/2014/07/7387 (дата обращения: 31.07.2014).
  11. Козлов С. В. Актуальные вопросы использования адаптивных информационно-образовательных систем в профильной школе // Наука и образование в XXI веке: сборник научных трудов по материалам международной научно-практической конференции 30 сентября2013 г.: в 34 частях. – Ч. 21. – Тамбов: Бизнес-Наука-Общество, 2013. – С. 48-51.
  12. Козлов С. В. Особенности применения системы индивидуального тестирования «Комплекс измерения обученности» в школьном курсе информатики // Системы компьютерной математики и их приложения. – Смоленск: СмолГУ, 2008. С. 247-251.
  13. Козлов С. В. Методические рекомендации использования автоматизированной дидактической системы индивидуального тестирования // Психология, социология и педагогика. 2014. № 10 [Электронный ресурс]. URL: http://psychology.snauka.ru/2014/10/3702 (дата обращения: 23.10.2014).


Все статьи автора «Козлов Сергей Валерьевич»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: