Загрузка...
скачать
Реферат на тему:

Олимпиады по программированию



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

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

Олимпиады бывают личные и командные. В командных олимпиадах обычно участвует 3 человека и им на всё время олимпиады дается 1 компьютер для решения олимпиадных задач.

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

  • Районная олимпиада
  • Городская олимпиада
  • Региональная олимпиада
  • Всегосударственная олимпиада
  • Международная олимпиада

Участие в данных олимпиадах и хорошие результаты, показанные на них, могут давать некоторые привилегии при поступлении в вуз. Участие в олимпиаде по программированию считается успешным, если участники смогли составить программу и проверить её на ЭВМ на тестах, предоставленных жюри. Решение задачи считается правильным, если ЭВМ дает правильные результаты на (всех) тестах жюри. Алгоритм (программа) содержит ошибки, если на некоторых тестах ЭВМ дает сбои, отказы или неправильные результаты. Победители олимпиад составляют алгоритмы и программы практически без ошибок.

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

Крупнейшая международная студенческая командная олимпиада по программированию называется ACM International Collegiate Programming Contest. В 2004 году в ней участвовало 3150 команд из 75 стран.

Крупнейшее технологическое соревнование, кубок технологий Imagine cup организуется при поддержке компании Microsoft и других высокотехнологичных компаний. В 2007 году в конкурсе приняло участие более 100 тысяч студентов из 100 стран. Соревнование включает в себя 9 категорий: от программных проектов до алгоритмов, от соревнований в области IT до художественных конкурсов фотографии и короткометражных фильмов.

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


Задачи

На классических олимпиадах по программированию участникам предлагается некоторый набор задач различного уровня сложности. Решением задачи является программа, написанная на одном из допустимых языков программирования. Эта программа должна корректно считывать любые входные данные указанного формата из определённого входного потока, корректно обрабатывать их согласно условию задачи, и выводить в определённый выходной поток в указанном виде. Для ввода-вывода могут использоваться как стандартные консольные потоки, так и файловые (часто входной файл имеет имя «input.txt», а выходной — «output.txt»).

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

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

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

Пример классической простейшей задачи, часто используемой для пробного тура: A+B.

скачать

Данный реферат составлен на основе статьи из русской Википедии. Синхронизация выполнена 12.07.11 14:55:38

Похожие рефераты: Международная олимпиада по информатике, Всероссийская олимпиада школьников по информатике и ИКТ, Всероссийская олимпиада школьников по информатике, Логика в информатике, Список премий в информатике, Олимпиада-80, Олимпиада, Предметная олимпиада, Математическая олимпиада.

Категории: Соревнования по программированию.

Текст доступен по лицензии Creative Commons Attribution-ShareAlike.