Рекомендації
щодо проведення ІIІ-го етапу Всеукраїнської учнівської олімпіади з інформатики у 2003-2004 навчальному році

Обласна олімпіада з інформатики у Хмельницькій області відбудеться 7-8 лютого 2004 року. Відкриття олімпіади та проведення турів буде проводитися згідно НАКАЗУ Хмельницького державного університету № 12 від 16 січня 2004 року. Реєстрація 11-12 год в холі першого корпусу. Відкриття олімпіади - в аудиторія 210 першого корпусу 7 лютого о 12 год. Перший тур – з 13 год. до 17 год. 30 хв. в інформаційно-комп'ютерному центрі (ІКЦ) та 4 корпусі 5 поверх. Другий тур - 8 лютого з 9 год до 13 год. 30 хв.

Метою проведення Всеукраїнських учнівських олімпіад з інформатики є: стимулювання творчого самовдосконалення учнів, зацікавлення їх у якісному і поглибленому вивченні інформатики; виявлення та розвиток обдарованих учнів, сприяння розвитку алгоритмічного мислення у школярів, підвищення інтересу до програмування; формування команди для участі в Міжнародній олімпіаді з інформатики. Документом, що визначає завдання, структуру, технологію проведення Всеукраїнських олімпіад, є Положення про Всеукраїнські учнівські олімпіади з базових дисциплін, турніри, конкурси-захисти науково-дослідницьких робіт та конкурси Фахової майстерності (Наказ Міністерства освіти України N 305 від 18.08.98p).

Апаратне та програмне забезпечення практичного туру
Практичні тури доцільно проводити на комп'ютерах, сумісних з IBM, та операційних системах Windows 9x/NT/2000/XP. На комп'ютері бажано встановити файловий менеджер (наприклад, FAR manager), або заздалегідь повідомити про його відсутність учасникам. Бажано, на час проведення туру олімпіади, фізично відімкнути локальну мережу від комп'ютерів учасників. Рекомендуємо запропонувати учасникам олімпіади, на вибір, одну з мов програмування Pascal, C або C++, та систем програмування Borland Pascal 7.0, Borland C++ 3.1, Free Pascal 1.0.10 (чи новішої версії), GCC 1.3.2 (чи новішої версії"), Delphi 5.0 (чи новішої версії"), Visual C++ 6.0. Такі компілятори будуть використані на IV-му етапі. Звертаємо увагу на те, що чотири останні компілятори мають 32-ох бітну архітектуру. Внаслідок цього, програми, відкомпільовані ними, мають доступ до більшого об'єму оперативної пам'яті. На IV етапі не планується компенсації нестачі оперативної пам'яті тим учасникам, які оберуть Turbo Pascal 7.0 або Borland C++ 3.1. Також передбачається, що програми написані під Visual C++ та Delphi, будуть консольними доданками й не будуть надавати будь-якого інтерфейсу користувача або використовувати спеціальні компоненти та бібліотеки для роботи із системою та пристроями. Не рекомендується дозволяти учасникам користуватися власною літературою, друкованими або рукописними матеріалами, засобами комунікації (Інтернет, мобільні телефони і таке інше).

Завдання олімпіади

Завдання олімпіади повинні бути алгоритмічного характеру, тобто основними результатами роботи учасника має бути: алгоритм, що правильно та ефективно розв'язує поставлену задачу, та програма, що реалізує запропонований алгоритм. Запропоновані задачі можуть бути такими:
1) Розробити та обгрунтувати алгоритм (теоретичний тур).
2) Розробити програму, що за вхідним файлом буде отримувати вихідний, згідно з умовами задачі.
Задачі саме такого типу найчастіше пропонуються на олімпіадах в останні роки.
3) Розробити програму, яка буде отримувати вхідні дані та повідомляти про результати, взаємодіючи з бібліотекою журі.
Такий підхід зручний, коли необхідно, щоб програма учасника не містила на початку роботи всієї інформації, а отримувала її шляхом звертання до бібліотеки Наприклад, у такий спосіб можуть бути оформлені задачі-ігри. Задача такого типу «Нім» була запропонована на IV етапі Всеукраїнської олімпіади з інформатики у 1997 році.
4) За відомими вхідними даними отримати результати, що відповідають умові задачі.
У цьому випадку необхідно здати не програму, а саме вихідний файл для кожного тесту. Звичайно, вхідні файли настільки великі, що розв'язки для них не можна знайти без комп'ютера. Задачі такого типу іноді пропонуються на міжнародній олімпіаді. Бажано, щоб задачі висвітлювали деякі з наступних тем: робота з великими числами; зберігання інформації в динамічній пам'яті; сортування та пошук; метод перебору варіантів, відсікання перебору; елементи обчислювальної геометрії; принцип динамічного програмування; жадібні алгоритми; алгоритми на графах; елементи лексичного та синтаксичного розбору. Не рекомендується пропонувати задачі, розв'язання яких потребує використання архітектурних особливостей комп'ютерів, знань з області системного програмування (переривання, системні виклики), організації складного інтерфейсу користувача (меню, графіка), використання нестандартних бібліотек. Час, витрачений учасником на розв'язок задачі, має приблизно співвідноситись як 2 (побудова алгоритму) до 1 (написання програми). На теоретичному турі можна не вимагати написання програми однією з перелічених вище мов. Замість цього бажано отримати від учасника обгрунтування правильності запропонованого алгоритму. При підготовці умов завдань бажано звернути особливу увагу на обмеження на вхідні дані; формат вхідних та вихідних даних; імена файлів (назва файлу з вихідним текстом програми, який повинен здати учасник; назви вхідного та вихідного файлів); приклади вхідних та вихідних даних; описання функцій, що доступні у бібліотеці журі (для 3-го типу задач).

Запитання по умовах завдань

Учасники олімпіади повинні мати змогу ставити запитання щодо умов задач. Як свідчить практика IV етапу Всеукраїнських та міжнародних олімпіад, бажано надавати цю можливість лише на протязі першої години кожного з турів. Якщо за цей час учасники знайдуть помилку або двозначність в умові, тоді до умови можна буде внести поправку, та вчасно оголосити про неї усім учасникам. Запитання, що їх ставить учасник, повинні передбачати відповідь «Так» або «Ні». Якщо на запитання не можна відповісти «Так» або <Ні», то відповідь на питання учасника міститься у явному вигляді в умові задачі; запитання стосується розв'язку задачі; відповідь на запитання вимагає обчислень, що можуть бути проведені учасником самостійно, виходячи з умов задачі, та загальних знань — член журі повинен відповідати: «Без коментарів». Бажано, щоб на запитання, які стосуються задачі, відповідала одна й та ж людина. У такому випадку учасники отримують однакові відповіді на однакові запитання.

Перевірка завдань

При перевірці завдань теоретичного туру для кожної задачі повинна бути розроблена єдина система оцінок, що їх отримають учасники за більш або менш ефективні розв'язки, відсутність або наявність доведення коректності застосованого методу, відсутність або наявність тексту відповідної програми (якщо це передбачено в умові). Завдання практичного туру рекомендується перевіряти за системою тестів. До кожної задачі необхідно підготувати набір тестових даних, які б дозволяли розрізнити правильні та неправильні розв'язки, а серед правильних — більш та менш ефективні. Програму учасника необхідно запустити на кожному тесті окремо. Якщо програма видає результат, що задовольняє вимогам задачі та працює не більше ніж час, виділений на цей тест, то учаснику нараховуються бали за цей тест. На міжнародній олімпіаді в останні роки практикується нарахування неповної кількості балів за тест, у разі, якщо програма видає неоптимальну відповідь (яка повністю задовольняє умовам задачі, та якщо час обчислення тесту не перевищує відповідне обмеження). На Всеукраїнських олімпіадах бали за тест можуть як нараховуватися, так і не нараховуватися. Рекомендована кількість тестів в наборі для однієї задачі — 10. Для більш складних задач це число можна збільшити до 15, для простих — зменшити до 7. Серед тестів мають міститися: декілька тестів невеликого розміру, виконання яких свідчить про правильність запропонованого алгоритму; тести, що перевіряють коректність роботи програми у спеціальних випадках (вироджені випадки, відсутність розв'язку); тести великого розміру, виконання яких свідчить про ефективність запропонованого алгоритму. Необхідно вимагати від учасників олімпіади суворого дотримання форматів введення та виведення даних. У разі порушення таких вимог (наприклад, зайвий пропуск у кінці рядка; зайве переведення рядка в кінці вихідного файлу; неправильна назва вхідного або вихідного файлу і таке інше), до учасників застосовуються санкції у вигляді відсотків штрафних балів або незарахування тесту чи задачі взагалі.

 

Завідувач ІМВ ХОІППО 

В. Ребрина 

м. Хмельницький
19 грудня 2003 року