Войти
Windows. Программы. Железо. Интернет. Безопасность. Мой компьютер
  • Как узнать, какая звуковая карта стоит на компьютере
  • Как восстановить сим карту МТС
  • Конструктор Arduino: новый взгляд сквозь SparkFun Pro Micro Arduino pro micro как работает
  • Ожидания и реалии в CRM-проектах Безапелляционный detail php id
  • Как узнать IMEI (серийный номер) iPhone?
  • Оптимизация OS X для продления жизни SSD
  • Программа индивидуальной подготовки к муниципальному этапу Всероссийской олимпиады школьников по предмету «Информатика и ИКТ. Подготовка школьников к олимпиадам по информатике в лицее Интернет-ресурсы с коллекциями олимпиадных задач

    Программа индивидуальной подготовки к муниципальному этапу Всероссийской олимпиады школьников по предмету «Информатика и ИКТ. Подготовка школьников к олимпиадам по информатике в лицее Интернет-ресурсы с коллекциями олимпиадных задач

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

    Олимпиада Всероссийская олимпиада по информатике Региональный этап пройдет 16 и 18 января 2020 года

    Состязание для школьников 5-11 классов. Победители и призеры финала получают льготы при поступлении в вузы

    Информатика

    Codeforces.com . Портал, объединяющий огромное количество участников соревнований по программированию по всему миру. На сайте регулярно проводятся онлайн-соревнования для школьников самого разного уровня: от начинающих до многократных чемпионов мира. Многие известные компании, в том числе ВКонтакте, Mail.Ru, Тинькофф Банк и AIM Tech проводят на платформе официальные соревнования.

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

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

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

    Олимпиады по информатике . Сайт, посвященный олимпиадам школьников по программированию в Санкт-Петербурге, официальный сайт Всероссийской командной олимпиады школьников (ВКОШП), индивидуальной олимпиады школьников по информатике и программированию (ИОИП). Одним из главных достоинств этого сайта является очень богатый архив проводимых в России мероприятий, в том числе Всероссийской олимпиады: сайт содержит презентации с разбором задач и результатами соревнований. Также здесь регулярно проводятся личные и командные соревнования для школьников.

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

    Книги

    Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы. Построение и анализ . Данная книга является классическим учебным пособием с подробным описанием алгоритмов и структур данных, а также базовыми сведениями из дискретной математики, необходимыми каждому программисту. Помимо этого книга содержит огромное количество упражнений различной сложности, которые будут интересны и самому искушенному читателю. В ней очень удачный стиль изложения, и хотя она ориентирована на студентов, большая часть материала будет доступна и школьникам.

    Методика подготовки к олимпиадам по информатике

    Актуальность темы

    В связи с актуализацией и активизацией олимпиадного движения все острее встает проблема подготовки учащихся к участию в олимпиадах. Подготовка «ученика-олимпиадника» начинается с подготовки учителя.

    Проблемы, встающие перед учителем:

    1. Изучение новых форм проведения олимпиад.

    2. Знание алгоритмов решения олимпиадных задач.

    3. Наличие самих задач.

    4. Знание языков программирования.

    5. Время на изучение, отладку и проверку задач.

    6. Обучение учащихся правильной организации деятельности на олимпиаде.

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

    Вот некоторые особенности подготовки школьников к олимпиадному программированию :

    · В школьной программе нет такого предмета «программирование» и даже такого раздела. То есть, обучаемый должен иметь собственную, довольно сильную мотивацию.

    · Действует ограничение, что при решении задач желательно использовать только один из языков программирования (СИ или ПАСКАЛЬ).

    · Постоянные тренировки идут почти на спортивном уровне.

    · Большие затраты времени, длительность олимпиады с разбором часто превышает 6 часов.

    · Алгоритмы и формулы, применяемые при решении большинства задач, изучаются только в ВУЗах.


    Разумеется, подготовка более высокого уровня необходима и учителям для работы с одаренными учащимися, участвующими в олимпиадах по программированию:

    · Возможно второе образование, профильный ВУЗ по программированию.

    · ИПК учителей, курсы по изучению языков программирования, по олимпиадному программированию.

    · Самостоятельная подготовка с использованием материалов из дополнительных источников.

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

    Педагогическая идея

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

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

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

    В 1964 г. В. Врум предложил «теорию ожиданий». Он считал, что стимул к эффективному и качественному труду зависит от сочетания трех факторов - ожиданий человека:

    1. Ожидание того, что усилия приведут к желаемому результату.

    2. Ожидание того, что результаты повлекут за собой вознаграждение.

    3. Ожидание того, что вознаграждение будет иметь достаточную ценность.

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

    · Теория ожидания указывает на то, что должны делать учителя, чтобы стимулы к учебе у учеников были сильными:

    o Учить учеников получать требуемые результаты и создавать для этого все необходимые условия;

    o Устанавливать непосредственную связь между результатами труда и оценкой учеников;

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

    · Исходя из этого, механизмы мотивации и основные факторы эффективности стимулирования можно выразить как:

    o Знание учителями потребностей, интересов, нужд учеников.

    o Установление справедливой непосредственной связи между результатами и вознаграждением.

    o Безотлагательность вознаграждения.

    o Степень удовлетворения ожиданий.

    Для подготовки к олимпиадам по программированию можно применить методику с использованием системы тестирования «NSUTS» , разработанной на базе НГУ, которая позволяет оперативно решать многие из этих пунктов.


    Технология использования системы « NSUTS »

    Система находится по адресу https://olympic. *****/nsuts-test/nsuts_new_login. cgi . При переходе по этой ссылке попадаем на страницу авторизации , где, введя свой логин и пароль, можно войти в систему.

    https://pandia.ru/text/78/392/images/image002_97.jpg" width="623" height="258 src=">

    В данном случае выберем, например, Школьные тренировки , после чего вы попадёте на страницу «Страница регистрации на Школьные тренировки », где регистрация проста и понятна. Только нужно учесть, что данные, вводимые вами, должны быть достоверными.

    https://pandia.ru/text/78/392/images/image004_80.jpg" width="623" height="306">

    На вкладке «Help » можно прочесть краткую инструкцию по работе в системе. Рассмотрим содержимое этой страницы.

    Система тестирования NSUTS. Очень краткое Описание.

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

    В разделе «Тур » вы можете выбрать текущий тур олимпиады.

    В разделе «Новости » вы можете прочитать объявления и комментарии от жюри и оргкомитета олимпиады. А так же узнать время начала и конца олимпиады. После начала олимпиады на этой странице появляются ссылки на условия задач.

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

    Ваши решения должны считывать входную информацию из файла input. txt и выдавать результат в файл output. txt . Запрещено читать из стандартного потока ввода, писать в стандартный поток вывода, стандартный поток ошибок. Программа участника не должна открывать, читать и модифицировать файлы, кроме input. txt и output. txt или иных, указанных в условии задачи. Доступ к файловой системе и другим ресурсам, кроме перечисленных в формулировке задачи, запрещен. Нарушение этого требования может быть основанием для дисквалификации команды. Ограничение на размер исходного кода - 100 килобайт. Формат вывода должен точно соответствовать требованиям, описанным в условии задачи.

    Участник может использовать любой компилятор из перечисленных в разделе «Сдать ».

    Опции компиляции:

    Visual C++ 6.0

    Visual C++ 2005

    cl. exe /EHsc /Ox task. cpp /link /STACK:

    MinGW 5.1.4 (GCC 3.4.5)

    c++.exe - Wall - Wl,--stack= - O2 task. cpp

    Freepascal 2.2.0

    ppc386.exe - O2 - Cs task. pas

    Java 1.6.0_07

    javac. exe Task. java

    Запуск Java

    java - Xmx480m - Xss32m - Djava. security. manager - Duser. language=en_US Task

    Borland Delphi 2006

    В секции «Результаты » вы можете просмотреть статус тестирования и результаты тестирования отправленных вами задач. В строке «Время » указано время на момент сдачи решения, язык программирования который вы указали, сдавая это решение. Ссылка «V iew source » покажет текст сданного решения.

    В строке «Результат » отображается результат тестирования:

    Queued - решение стоит в очереди на тестирование.

    Testing... - тестируется прямо в этот момент.

    Source code limit exceeded - превышено ограничение на исходный код программы.

    Compile Error - не удалось скомпилировать (причина указывается).

    Когда решение протестировано, статус принимает одно из следующих значений:

    ACCEPTED! - решение засчитано как верное.

    Wrong Answer - неверный ответ на тесте.

    Time limit exceeded - решение не уложилось в отведенное процессорное время.

    Timeout - решение не уложилось в отведенное время.

    Run-time Error - решение вернуло код ошибки, отличный от нуля.

    Memory limit exceeded - решение не уложилось в отведенное ограничение по памяти.

    No output file - отсутствует файл output. txt.

    Security violation - решение совершило действие запрещенное правилами.

    При этом указывается номер теста, на котором произошла ошибка (для олимпиад ACM).

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

    Штрафное время - это сумма штрафного времени по всем задачам. Штрафное время для одной задачи равно 0, если задача не сдана. Если же задача сдана, то её штрафное время считается по формуле:

    время_сдачи_правильного_решения + (количество_неудачных_попыток * 20).

    Cекция «Вопросы и ответы » предназначена для общения с Жюри олимпиады. Вы можете задать жюри вопросы по условиям задач или указать на неточность формулировки задач.

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

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

    На вкладке «Тур» выбираем необходимый нам тур по олимпиаде, например, «Подготовка к Всероссийской олимпиаде 2010.03.21 (Геометрия) » . После этого переходим на вкладку «Новости» и по ссылке «Условие тура» скачиваем файл формата MS Office Word, в котором находятся задачи, представленные к решению на данном туре.

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

    Основные классы задач, выдвигаемых на олимпиады по информатике

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

    1. В совершенстве владеть языком и средой программирования (в нашем случае - это Free Pascal), уметь строить и воплощать с помощью этого языка различные алгоритмы.

    2. Владеть необходимым математическим аппаратом.

    3. Знать алгоритмы решения основных классов задач, их оптимизацию.

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

    1. Задачи, использующие сложные структуры данных, такие, как массивы, очереди, стеки, связанные списки и деревья.

    2. Графы, как множество объектов с множеством связей.

    3. Задачи, использующие аналитическую геометрию и опирающиеся на понятие «вектор».

    4. Задачи динамического программирования.

    Рассмотрим данные классы задач подробнее.

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

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

    В действительности структуры данных в ЭВМ строятся на основе базовых типов данных, таких как «char», «integer», «real». На следующем уровне находятся массивы, представляющие собой наборы базовых типов данных. Затем идут записи, представляющие собой группы типов данных, доступ к которым осуществляется по одному из данных, а на последнем уровне, когда уже не рассматриваются физические аспекты представления данных, внимание обращается на порядок, в котором данные хранятся и в котором делается их поиск. По существу физические данные связаны с «машиной данных», которая управляет способом доступа к информации в вашей программе. Имеется четыре такие «машины»:

    1. очередь;

    3. связанный список;

    4. двоичное дерево.

    1) http://ru. wikipedia. org/wiki/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.

    2) http://valera. *****/delphi/struct/ocher. html.

    3) http://www. *****/informatika/pascal/struktury_dannyh.

    4) Т. Кормен. Алгоритмы. Построение и анализ. 2-е изд. Стр.255

    5) Задачи и решения http://*****/olimp/str_prb. php.

    Графы, как множество объектов с множеством связей.

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

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

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

    Есть несколько способов представления графа в памяти компьютера. Далее с теорией можно ознакомиться по ссылкам:

    1. http://*****/sng/index. shtml

    2. http://*****/sng/4/index. shtml

    3. https://sites. /site/vzsitgnovosibirsk/distancionnye-kursy/distancionnyj-kurs-graf

    4. http://book. *****/10/grap1021.htm

    5. http://ru. wikipedia. org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2

    6. Задачи и решения http://*****/olimp/gra_prb. php

    Задачи, использующие аналитическую геометрию и опирающиеся на понятие «вектор»

    Вычислительная геометрия - это раздел информатики, изучающий алгоритмы решения геометрических задач. Такие задачи возникают в компьютерной графике, проектировании интегральных схем, технических устройств и др. Исходными данными в такого рода задачах могут быть множество точек, набор отрезков, многоугольник и т. п. Результатом может быть либо ответ на какой-то вопрос (типа «пересекаются ли эти прямые»), либо какой-то геометрический объект (например, наименьший выпуклый многоугольник, содержащий заданные точки).

    В «Информатике» № 14 была опубликована статья одного из авторов, посвященная задачам вычислительной геометрии в олимпиадах по информатике. В частности, там был сформулирован ряд элементарных подзадач, на которые опирается решение большинства задач вычислительной геометрии. Однако занятия даже с математически хорошо подготовленными учащимися старших классов показали, что решение таких подзадач вызывает у них большое затруднение. Задача либо ставит их в тупик, либо выбранный «лобовой» способ решения настолько сложен, что довести его до конца без ошибок учащиеся не могут. Анализ результатов решения «геометрических» задач на всероссийских олимпиадах по информатике приводит к тем же выводам. По ссылкам ниже вы сможете изучить подходы к решению геометрических задач на плоскости, которые позволяют достаточно быстро и максимально просто получать решения большинства элементарных подзадач.

    1) http://*****/?page=lib_viewarticle&article_id=12.

    2) http://*****/article. asp? id_sec=1&id_text=1332.

    3) Задачи и решения http://*****/olimp/geo_prb. php

    Задачи динамического программирования.

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

    К счастью, для ряда задач, сходных по формулировке с проблемами, действительно требующими полного перебора вариантов, можно найти гораздо более эффективное решение. Чаще всего в таких случаях решение сводится к нахождению решений подзадач меньшей размерности, которые запоминаются в таблице и никогда более не пересчитываются, а подзадачи большей размерности используют эти уже найденные решения. Такой метод называется динамическим программированием, еще его называют табличным методом. В общей же форме под динамическим программированием понимают процесс пошагового решения задачи оптимизации, при котором на каждом шаге из множества допустимых решений выбирается одно, которое оптимизирует заданную целевую или критериальную функцию. Иногда, вместо оптимизационной, тем же методом решается задача подсчета количества допустимых решений. В этом случае на каждом шаге вместо выбора оптимального решения производится суммирование решений подзадач меньшей размерности, причем они по формулировке не всегда полностью совпадают с исходной задачей (соответствующие примеры будут рассмотрены ниже). В обоих случаях найденное на текущем шаге решение обычно заносится в таблицу. Как правило, связь задач и подзадач формулируется в виде некоторого “принципа оптимальности” и выражается системой уравнений (рекуррентных соотношений).

    Основы теории динамического программирования были заложены Р. Беллманом. Заметим, что слово программирование в приведенном названии (dynamic programming), также как и в “линейном программировании” (linear programming) не означает составление программ для компьютера.

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

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

    2) выписать рекуррентные соотношения (уравнения), связывающие оптимальные значения параметра для подзадач,

    3) вычислить оптимальное значение параметра для всех подзадач,

    4) построить самое оптимальное решение, используя полученную информацию.

    Если нас интересует только значение параметра, то шаг 4 в алгоритме не нужен (такая ситуация характерна, например, для задач подсчета количеств допустимых вариантов или некоторых конфигураций, в том числе и комбинаторных). Однако, в случае необходимости построения самого оптимального решения иногда приходится в процессе выполнения шага 3 алгоритма получать и хранить дополнительную информацию. Зачастую именно шаг 4 оказывается самым сложным при реализации подобных алгоритмов.

    1) http://*****/blogs/algorithm/113108/.

    2) http://www. *****/Olympiads/Rules_Olympiads/Rules21.htm.

    3) http://*****/tag/%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/

    4) Задачи и решения http://*****/olimp/rec_prb. php

    Подготовка учащихся к олимпиаде по информатике

    Не секрет, что уровень подготовленности по информатике городских и сельских школьников резко отличается. К середине 90-х годов сложилась такая практика, что призерами олимпиад областного уровня становились в основном ученики из городов области, прежде всего, из самого Белгорода. Причина этого – недостаточное оснащение компьютерной техникой , острая нехватка педагогических кадров на селе и недостаточная их квалификация. Учитель информатики сельской школы в 90% случаев совместитель (обычно учитель математики или физики), что приводит к перегрузке, и как следствие к невозможности уделять достаточно времени методике преподавания информатики и индивидуальной работе с учащимися. С другой стороны, сельские ученики часто не имеют возможности посещать кружки, занятия, курсы компьютерной грамотности вне школы.

    Подготовка к олимпиаде требует отбора детей с определённым уровнем мотивации. Каждый учитель начинает учебный год с поиска таких детей – поиска одарённых детей для участия в предметных олимпиадах.

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

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

    1. Как, среди уменьшающегося количества часов, выкроить время на подготовку?

    2. Как можно мотивировать учеников?


    3. И где найти силы учителю, который завален отчетами, документацией, должен вести воспитательную работу ?

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

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

    Чтобы подготовить учеников к олимпиаде приходиться использовать различные формы работы. Различные формы деятельность учащихся позволяют сократить время на подготовку к олимпиаде и изучение материала.

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

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

    Задачи, которые я ставлю перед собой при работе с одарёнными детьми:

    1. учесть степень и меру самораскрытия одарённых учащихся;

    2. удовлетворить их потребности в информатизации.

    Основные направления деятельности с одарёнными детьми:

    3. самообразование.

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

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

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

    Факультатив должен работать по определенной программе, которая не дублирует учебную.

    Факультативное занятие может проходить следующим образом:

    1. называется тема;

    2. перечисляются задания на данную тему;

    3. выбирается одна из наиболее популярных или интересных задач;

    4. устно совместно с ребятами обсуждается алгоритм решения;

    5. ребята в тетради оформляют решение (пишут программу), учитель фиксирует время, оценивает реализацию решений, помогает искать ошибки, указывает на недочёты по эффективности (количество операций, время решения);


    6. раздаётся материал для изучения новой темы следующего занятия.

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

    Для хорошей подготовки ученика важно, в первую очередь, «не только наполнить чашу знаний, но и зажечь факел».

    Так как ребята приходят с разным уровнем подготовки приходиться использовать индивидуальные и групповые формы работы. Индивидуальные формы работы зачастую сопряжены с самообразованием. Здесь учитель выступает в роли консультанта.

    Групповые формы работы используются для ребят с определённым багажом знаний.

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

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

    Мотивацию у учеников можно вызвать различными творческими заданиями и проектами.

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

    Олимпиады однозначно нужны детям как путь к самовыражению, к развитию. С одаренными детьми следует работать в течение всего года, нельзя понимать олимпиады как определенное мероприятие на 3 - 4 часа.

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

    Как же готовиться к все время усложняющимся олимпиадам?

    Я считаю наиболее правильной систему моих преподавателей.

    На факультативном занятии (научить решать олимпиадные задачи можно только на факультативе, где занимается не более 6-7 человек, иначе - бардак) преподаватель кратко объясняет теорию. Затем предлагает задачи по только что объясненной теме не объясняя (но отлично зная!) решения ни одной из них. Ученики предлагают свои идеи по поводу решения, т. е. занятие проходит в форме семинара под руководством преподавателя. В случае затруднения преподаватель может помочь ученикам, предложив некоторую идею. Затем, в случае если есть возможность написать программу за достаточно короткое время, программа реализуется на компьютере. Однако здесь есть свои трудности: в случае разного уровня подготовки учащихся, время, затрачиваемое на написание программы, сильно различается, что приводит к тому, что уже решившие задачу сидят и скучают (при этом постепенно теряют интерес к занятиям), а те, кто еще пишет нервничают, смотрят на тех кто скучает, завидуют и также теряют интерес к занятиям. Здесь надо найти золотую середину. Время от времени следует организовывать мини или полномасштабные олимпиады по информатике, с задачами уровня не ниже областной городской, но со сниженными требованиями к участникам (разрешается ходить по кабинеты, иногда общаться, пить чай и т. п.). Важной частью подготовки является разбор нерешенных задач с олимпиады (такие чаще всего остаются, особенно после олимпиад достаточно высокого уровня). Здесь учитель часто находится в равных условиях с учеником, так как и он сам не знает решения такой задачи. Домашнее задание следует давать в разумных количествах (лучше больше) и по теме или, при подготовке к олимпиаде (обычно за 2 недели) задачи с прошлых олимпиад. Те кто не сильно хочет заниматься информатикой задание все равно не сделают, а те, кто хочет - сделают все. Для любимого предмета каждый человек может найти время.

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

    1) Знать математику. Очень часто встречаются математические задачи.

    2) Уметь общаться. В ходе обсуждения рождается множество новых идей.

    3) Иметь способности. Я так и не научился играть на пианино:)

    4) Осознавать, что тебе это нужно. На самом деле олимпиадные задачи - всего лишь "массаж для мозгов", но если бы их не было, вы бы умели писать программы так хорошо?

    5) Сильно хотеть победить. Но не до умопомрачения.

    6) Научить других решать задачи. Не обязательно. Но когда объясняешь другим, начинаешь лучше понимать сам.

    7) (Самое главное) Быть хорошим человеком. Если вы плохой человек, то со всем вашим умение писать программы вы никому не нужны.

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

    ПОСТОЯННЫЕ ТРЕНИРОВКИ . Каждая решенная задача должна доставлять вам удовольствие, и чем дольше вы над ней сидели тем больше радости от успешного ее решения (главное не перегибать палку - после 10 бессонных ночей над задачей ее решение вряд ли доставит вам радость).

    Литература

    1. , ., Москвина преподавания основ программирования в процессе создания компьютерных игр. // Мат-лы междунар. конференции "Новые информационные технологии в университетском образовании". Новосибирск, 1995, с.145-147.

    2. Моя первая программа на Паскале: от компьютерных игр к профессиональному программированию. / и др. Вып. 1-3. Прилож. Новосибирск: НГУ, 1996.

    Подготовка школьников к олимпиаде

    Не секрет ни для кого, что только успех помогает человеку поверить в свои силы и стремиться преодолевать новые вершины. Для успешного участия в олимпиаде по программированию школьник должен:

    Владеть языком программирования (Pascal или Си/Си++)

    1. придумывать и реализовывать алгоритмы решения задач;

    2. оценивать время их работы;

    3. тестировать;

    4. отлаживать свои программы.

    Знать следующие алгоритмы:

    Алгоритмы целочисленной арифметики

    1. Поиск делителей числа. Простые числа 2. Разложение числа на простые множители 3. Поиск наибольшего общего делителя (НОД) и наименьшего общего кратного (НОК) 4. Представление чисел. Выделение цифр числа 5. Перевод чисел из одной системы счисления в другую 6. Делимость чисел 7. Действия с многозначными (большими) числами

    Рекуррентные уравнения и динамическое программирование

    1. Понятие задачи и подзадачи

    2. Понятие рекуррентного соотношения

    Задачи комбинаторики

    1. Перестановки

    2. Сочетания

    3. Размещения

    4. Подмножества

    5. Реализация перебора вариантов. Сокращение перебора

    10-11 класс

    Структуры данных

    1. Очереди

    Теория графов

    1. Основные понятия теории графов

    2. Смежность и инцидентность

    3. Представление графов

    4. Маршруты

    5. Маршруты в графах

    6. Поиск в ширину

    7. Поиск в глубину

    8. Исчерпывающий поиск с возвратом

    9. Алгоритм построения кратчайших путей

    10. Эйлеровы графы

    11. Основная теорема об эйлеровом графе

    12. Алгоритм построения эйлерова цикла

    Сортировка

    1. Понятие сортировки

    2. Сортировка простым обменом

    3. Квадратичные алгоритмы

    4. Алгоритмы порядка n log n

    5. Линейный поиск

    6. Бинарный поиск

    Геометрия

    2. Треугольник

    3. Площадь произвольного треугольника

    4. Замечательные линии и точки треугольника

    5. Многоугольник

    6. Выпуклый многоугольник

    7. Площадь простого плоского многоугольника

    Рекурсия

    1. Примеры рекурсивных программ.

    2. Рекурсивная обработка деревьев

    Проводя подготовку своих воспитанников к турниру, не забывайте дать им несколько советов:

    1. Если вы участвуете в турнире впервые, заранее посмотрите примеры предлагаемых на турнирных задач, например, в архивах олимпиад, представленных сайтах.

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

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

    4. Распространенной ошибкой является ситуация, когда после окончания работы программа ждет нажатия какой-либо клавиши. При автоматической проверке никто эту клавишу нажимать не будет, и программа будет считаться превысившей предел времени (то есть зависшей или неэффективной).

    5. Прежде всего, вы должны уметь работать с текстовыми файлами (считывать и записывать информацию).

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

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

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

    Задача. Даны целые числа A и B, по модулю не превышающие 32000. Найти их сумму.

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

    Дело в ограничении на целые типы в системах программирования Borland Pascal и Borland C++, которые довольно часто используются школьниками.

    Решение задачи (с разбором ошибок).

    Во входном файле a.in записаны два натуральных числа, каждое из которых не превышает 32000. Числа во входном файле разделяются пробелами и (или) символами перевода строки. В выходной файл a.out вывести сумму этих двух чисел.

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

    Задача А: Сумма двух чисел

    Имя входного файла: a.in

    Имя выходного файла: a.out

    Ограничение по времени: 1 сек

    Ограничение по памяти: 64Мбайт

    Воспользуемся стандартными файловыми переменными: Input и Output.

    Они автоматически закрываются после работы программы.

    Переменная Input по умолчанию связана с клавиатурой, a Output - с экраном дисплея

    Так как во входном файле записаны только числа, то для чтения воспользуемся командой read - она сама пропускает пробелы и переходы на новую строку

    Используя процедуру ASSIGN, переназначим идентификаторы ввода-вывода INPUT и OUTPUT и укажем имя входного и выходного файла:

    ASSIGN (INPUT, "a.in"); RESET (INPUT);

    ASSIGN (OUTPUT, "a.out"); REWRITE(OUTPUT);

    1. На диске С создадим папку С:OLIMPIAD

    var a,b,c:integer;

    assign(input,"a.in"); {Устанавливаем связь с файлом a.in}

    reset(Input); {Открываем файл для чтения}

    read(Input,a,b); {Считываем данные из файла}

    assign(Output,"a.out"); {Устанавливаем связь с файлом a.out}

    rewrite(Output); {Открываем файл для записи}

    writeln(Output,c); {Записываем данные в файл}

    2. Сохраним в ней исходник С: OLIMPIAD a.pas (Рисунок 2)

    Рисунок 2. Сохранение файла с исходным кодом

    3. Откроем блокнот.

    4. Занесём исходные данные через пробел (Рисунок 3)


    Рисунок 3. Внесение исходных данных

    5. Сохраним файл с исходными данными в папке OLIMPIAD под именем a. in

    6. В папке OLIMPIAD два файла: (Рисунок 4)


    Рисунок 4. Вид папки №1 OLIMPIAD

    7. Запускаем программу на выполнение (Рисунок 5)


    Рисунок 5. Запуск программы на выполнение

    8. В папке OLIMPIAD третий файл (Рисунок 6):


    Рисунок 6. Вид папки №2 OLIMPIAD

    9. Посмотрим результат (Рисунок 7)


    Рисунок 7. Вид окна с результатом

    Кажется, задача решена

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

    Несколько тестов прошло. На некоторых тестах происходит ошибка во время исполнения

    Так в чем же ошибки? Еще раз внимательно прочитаем условие и остановимся на ограничениях

    1. Числа натуральные, не превышающие 32000.

    2. Мы объявили переменные типа integer, диапазон значений переменных этого типа - от -32768 до 32767, так что кажется, что тут все правильно.

    3. Однако условию удовлетворяет тест, в котором оба числа равны 32000.

    4. Конечно, оба числа входят в тип integer, чего нельзя сказать об их сумме!

    5. Меняя в нашей программе тип integer на тип longint получаем уже действительно полное решение задачи

    6. Если сделать тип переменной c - longint, а a и b оставить типа integer, то программа работать все равно не будет - подумайте почему.

    var a,b,с:longint;

    assign(input,"а.in");

    assign(output,"а.out");

    rewrite(output);

    О методике решения олимпиадных задач

    Популярность крупных соревнований по информатике и программированию стремительно растет. Их спонсорами выступают такие крупные корпорации, как AT&T, Microsoft, IBM, Google. Естественно, появились исследования о том, как эффективно участвовать в соревнованиях, готовиться к ним, многочисленные советы и рассказы очевидцев

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

    По такому типу в марте 2011 года проходила и первая дистанционная олимпиада (см. выше, пункт 2.5) в Казахстане.

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

    ПОДГОТОВКА ШКОЛЬНИКОВ К ОЛИМПИАДАМ ПО ИНФОРМАТИКЕ С ИСПОЛЬЗОВАНИЕМ ВЕБ-САЙТА

    Образование, дистанционное обучение, олимпиада школьников, Красноярский край, Интернет-

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

    В 2010 году перечень общеобразовательных предметов, по которым проводится Всероссийская олимпиада школьников, насчитывал 19 предметов. Со временем перечень только увеличивается, что расширяет возможности учащихся в проявлении своих талантов в различных предметных областях. Первая олимпиада по информатике была проведена с 13 по 20 апреля 1988 года в Свердловске и носила название еще не Всероссийской, а Всесоюзной, в ней приняли участие 80 школьников из всех союзных республик. За всю историю своего развития олимпиадное движение по информатике испытывало определенные взлеты и падения, обусловленные разными факторами. На сегодняшний день бурное развитие ИКТ послужило причиной тому, что содержание школьного предмета «информатика» свелось к изучению информационных технологий при незначительном количестве времени, отводимого на изучение основ программирования. В связи с этим одаренные школьники, интересующиеся программированием, не имеют возможности получить должного уровня знаний, необходимого для успешного выступления на олимпиадах по информатике, которые фактически являются олимпиадами по программированию и имеют специфические особенности [Беляев, 2005, с. 129]. Для успешного выступления на олимпиадах высокого уровня (муниципальный, региональный и всероссийский) учащийся должен не только знать и применять при решении задач определенный набор алгоритмов, но и отлично владеть техникой программирования, то есть уметь быстро реализовать и отладить любой алгоритм в виде программного кода, владеть специальными приемами программирования.

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

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

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

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

    Именно реализация данных проектов послужила началом нового витка развития информатики в школе и олимпиадного движения по информатике в Красноярском крае. С 2007 года в организационную модель олимпиадной подготовки школьников Красноярского края активно встраиваются коммуникационные технологии. Одним из наиболее значимых проектов, реализованным в рамках данной программы, является проект отдела информационных технологий и телекоммуникаций КГБОУ ДОД «Красноярский краевой Дворец пионеров и школьников». В рамках данного проекта был разработан образовательный Интернет-ресурс «Школа программиста», расположенный в сети Интернет по адресу: http://acpm.ru. Главной целью данного ресурса являлось повышение у школьников Красноярского края уровня программирования и способностей, направленных на решение олимпиадных задач, посредством реализации технологии дистанционной подготовки школьников к олимпиадам по информатике.

    Данный Интернет-ресурс содержит следующие разделы (рис.):

    Архив задач по олимпиадному программированию;

    Система автоматической проверки решений;

    Раздел для проведения личных и командных олимпиад;

    Дистанционный курс олимпиадного программирования;

    Система общения участников с администратором и между собой;

    Разбор задач;

    Архив олимпиад.

    [новости] [гостевая книга] [форум] [чат] [регистрация] Логин: | Пароль: |С(|

    <# О школе <# Олимпиады > Фотоальбом > Архив 16 апреля 2010 г. в 7:30 (по москве) состоится Сибирский тур Всероссийской і олимпиады по информатике среди студентов педагогических ВУЗов. [Список і заявок] [Подать заявку] і Опубликован Протокол заседания жюри 11 (муниципального) этапа:Всероссийской олимпиады школьников Красноярского края по информатике, і Скачать: ргоІосоЮ 1 .рсіґ (220 Кб) II этап (районный) Всероссийской олимпиады школьников Красноярского края по информатике состоится 27-30 ноября 2009 года, который пройдет в 2 этапа і согласно расписанию, опубликованному в разделе "Олимпиады". Издано новое методическое пособие "Региональные олимпиады по: информатике - 2008/2009", содержащее описания, результаты, разбор и решения ізадач региональных олимпиад по информатике, проводимых на различных этапах в Красноярском крае в прошлом году. Подробнее... : Объявляется набор на курс Т"С++ для начинащих" в КДПиШ (г. Красноярск, іул. Конституции, 1). Предположительное время проведения занятий: вт., чт. 16:30- іУкажите лучший портал олимпиадного программирования neerc.ifino.ru/school/ і ^ olympiads.ru і г acm.timus.ru і г acm.sgu.ru і с programming-cMlenges.com і topcoder.com і

    ЗАДАЧНИК ~~Ш

    Архив задач + Состояние системы:<# Работа в системе Рейтинг * Разбор задач # Добавить задачу

    Ш МЕТОДИЧКА Ш

    #Новичкам:+ Алгоритмы I * Курсы КДПиШ > Курс олимлиадника # Дистрибутивы # Ссылки 1 Голосовать | ! Результаты Архив

    ■ поиск по сайту ш|

    ■ СЕЙЧАС В ONLINE ^™l|

    1 СТАТИСТИКА ш

    Педагогика

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

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

    Часть используемых в системе задач составлены разработчиками самостоятельно, остальные взяты из различных источников: муниципальные и региональные олимпиады по программированию; сайт Интер нет-олимпи ад по программированию г. Санкт-Петер бург [Олимпиады по информатике].

    Все задачи требуют работы с файлами input.txt и output.txt, предназначенными для чтения входных данных и вывода результата соответственно. Отправлять решения можно только зарегистрированным пользователям в виде исходного кода в файлах с расширениями *.pas, *.dpr, *.c, *.cpp, *.java, *.bas. Проверяющая система обрабатывает только программы, реализованные на языках Pascal, С++, Java и Basic, используя следующие компиляторы:

    Borland Delphi 7.0;

    Microsoft Visual C++ 7.1;

    Java 2 SDK 1.5;

    Microsoft QBasic 4.5.

    Каждое отправленное решение проходит на сервере проверку не менее чем на 10 тестах, специально составленных для анализа решений участников. Задача считается решенной только в случае прохождения всех тестов. В случае неверного решения процесс тестирования прерывается на тесте, определившем ошибку. Результаты тестирования задач можно видеть в разделе «Состояние систе мы», также там отображаются результаты других пользователей. Итогом проверки является сообщение системы и номера теста, вызвавшего ошибку (если таковая имела место). В разделе «Состояние систе мы» пользователи могут просматривать тексты своих отправленных программ, а также видеть ошибки компиляции в случае вердикта «Compilation Error». В этом же разделе представлена статистика прохождения данной программы детально по каждому тесту.

    Типы сообщений в системе соответствуют общему стандарту: «Accepted»; «Wrong an-swer»;«Time limit exceeded»; «Presentation error»; «Compilation error»; «Memory limit exce-eded»; «Runtime error»; «Compiling»; «Running» и «Waiting».

    Каждая представленная на сайте задача имеет раздел «Обсуждение», в котором участники могут общаться и обсуждать возможные алгоритмы решения конкретной задачи. Некоторые задачи имеют раздел «Решение», в котором находится разбор решения конкретной задачи для тех, кто не может самостоятельно ее решить. По каждой задаче ведется рейтинг лучших попыток.

    Помимо раздела для тренировок в разделе «Олимпиады» проводятся как личные, так и командные олимпиады различной сложности, являющиеся важной составляющей подготовки учащихся [Беляев, Лалетин, 2009]. Личные олимпиады предназначены для индивидуального участия, и в рейтинге здесь учитываются частичные решения, а время решения имеет меньший приоритет. В командных соревнованиях, как правило, принимают участие 3 человека и действуют правила АСМ-олимпиад, где зачет идет по числу абсолютно верно решенных задач и штрафным баллам по времени.

    В настоящее время созданная система развивается и постоянно дорабатывается. За три первые года работы ресурса можно отметить следующие статистические результаты:

    В базе задач имеется более 650 задач различного уровня сложности;

    Зарегистрировано более 10 000 пользователей;

    Проведено более 150 личных и командных олимпиад;

    Посещаемость ресурса составляет 400 посетителей в сутки;

    Автоматическая тестирующая система проверила более 500 000 решений участников.

    В заключение изложим основные результаты работы.

    1. Разработан образовательный Интернет-ресурс «Школа программиста», расположенный в сети Интернет по адресу: http://acmp.ru. Ресурс содержит архив из 650 задач и встроенную систему автоматической проверки решений. Интернет-ресурс активно используется не только для проведения командных и личных олимпиад по программированию, но и для подготовки школьников. Деление задач по уровню сложности обеспечивает соблюдение принципа доступности учебного материала и позволяет учащемуся самостоятельно выстраивать свою образовательную траекторию по принципу от простого к сложному.

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

    Библиографический список

    1. Беляев С.Н. Подготовка школьников к олимпиадам по информатике // Международный проект «Космос и одаренность»: разработки, доклады, информация. Красноярск: РИО КГПУ, 2005. Вып. 12. С. 129-131.

    2. Беляев С.Н., Лалетин Н.В. Методика проведения олимпиад по информатике с помощью вебсайта // Перспектива-2008: сб. ст. II Международной научно-практической Интернет-конференции. Железногорск, 2009. Вып. 2. С. 28-30.

    3. Олимпиады по информатике. Санкт-Петербург, Россия [Электронный ресурс] иЯЪ: http://ne-erc.ifmo.ru/school/, свободный. Загл. с экрана. Яз. рус.