Смекни!
smekni.com

Методические рекомендации по подготовке к олимпиадам по информатике в 9-11 классах далингер Алена Леонидовна

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ПОДГОТОВКЕ К ОЛИМПИАДАМ ПО ИНФОРМАТИКЕ В 9-11 КЛАССАХ

Далингер Алена Леонидовна,

(dalinger-alena@mail.ru),

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

МОУ «Черлакская муниципальная гимназия»

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

В примерной программе по информатике, в 9 классе, довольно большое количество часов уделено изучению программирования. В учебнике Семакина для 9 класса обучение программированию основано на языке Паскаль, у Угриновича примеры даны применительно к Visual Basic. Но, даже если применить дифференцированный подход к обучению школьников, вряд ли этих часов хватит для подготовки к олимпиадам отдельных школьников с "нуля".

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

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

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

- уметь работать с текстовыми файлами, уметь вводить и выводить информацию в текстовые файлы по заданному формату;

- уметь использовать процедуры и функции;

- знать, что такое рекурсия, и уметь применять ее в программировании;

Очень хорошо, если участник олимпиады областного уровня и выше:

- знаком с основой теорией графов

- умеет писать процедуры сложения, вычитания и умножения для работы с многоразрядными числами («длинная» арифметика);

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

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

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

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

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

на одном из разрешенных языков программирования – Pascal, C, С++, Java и Visual Basic.

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

Для того чтобы победить на олимпиаде, необходимо прежде всего быть «профессором», найти математическое решение задачи, а уж потом запрограммировать его одним из известных методов. Следует создавать библиотеки программ, оттачивать реализацию классических алгоритмов. Необходимо провести разбор основных тем (простые числа, комбинаторика, динамическое программирование, задачи на графы, структуры данных, жадные алгоритмы), разработать шаблоны алгоритмов.

Причина затруднения выполнения олимпиадных задач учащимися 9-х, 10-х классов состоит в недостаточной подготовке участников олимпиады. За то число часов, которое отводится подготовке учащихся общеобразовательных школ в учебном плане на тему «Алгоритмизация и языки программирования » недостаточно для качественной подготовки обучающегося к участию в олимпиадах по программированию. Такая подготовка реальна только за счет дополнительных часов и наличия квалифицированного специалиста по программированию в образовательном учреждении.

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

В мире сегодня существует множество сайтов с системами Online Judge. Зарегистрировавшись и получив пароль, можно решать задачу и код решения отправлять на автоматическую проверку. Через несколько секунд получаете один из ответов на ваше решение: Accepted (Задача решена верно), Time Limit (Ваше решение не прошло по времени, оно слишком долгое), Wrong Answer (Неверный ответ), Compile Error (Ошибка компиляции программы). Из сегодняшних таких страничек хочется отметить:

http://acm.timus.ru – Уральский университет.

http://acm.uva.es/problemset, http://acm.uva.es/contest – университет Вальядолид (Испания).

http://ace.delos.com/usacogate - Подготовка к школьным олимпиадам в США.

http://dl.gsu.unibel.by – Беларусский сайт дистанционного образования.

http://acm.baylor.edu – Официальный сайт ACM соревнований.

http://www.topcoder.com – еженедельные соревнования, США

http://acm.sgu.ru – Саратовский государственный университет

http://acm.zju.edu.cn - Университет ЖеЙанг, Китай

Особенно хочется обратить внимание на сайт
http://acmp.ru - "Школа программиста"

Данный проект создан для повышения у школьников Красноярского края уровня программирования и способностей, направленных на решение олимпиадных задач. Сайт содержит архив задач по олимпиадному программированию со встроенной проверяющей системой. Для участия в системе достаточно зарегистрироваться и перейти в раздел "Архив задач", где на текущий момент Вам будет предложено решить 500 задач различной сложности. Сложность задач определяется числом от 1 до 100, из этих значений сложности формируется рейтинг, отражаемый в разделе "Рейтинг".

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

Используемые в системе задачи взяты из различных источников: районные и краевые олимпиады по программированию, многие задачи составлены разработчиками самостоятельно, большая часть задач взята с сайта Интернет-олимпиад по программированию, г. Санкт-Петербург, также использовались задачи ресурсов http://acm.timus.ru и http://olympiads.ru. Ряд задач взят из книги Федора Меньшикова "Олимпиадные задачи по программированию".

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

Литература:

  1. http://acmp.ru - "Школа программиста"
  2. Информатика. Международные олимпиады. Вып. 1, - М.: Просвещение, 2009 г., 240 стр.
  3. Методика решения задач по информатике. Международные олимпиады. Школа (в соавторстве с Окуловым С.М.). - Издательство: Бином. Лаборатория знаний, 2007.
  4. http://www.informatics.ru/
  5. http://comp-science.narod.ru/
  6. http://algolist.manual.ru/
  7. http://comp-science.narod.ru/links.html
  8. http://ulm.uni.udm.ru/~pvv/
  9. http://comp-science.narod.ru/olimp.html
  10. http://www.olympiads.ru/
  11. http://acm.timus.ru/
  12. http://byoi.narod.ru/
  13. http://www.olymp.vinnica.ua/
  14. http://contest.ur.ru/
  15. http://inf777.narod.ru - сайт "Информатика в школе"