Сайт підготовки до олімпіади з інформатики

програмування в С++

Школа олімпійського резерву з інформатики
4. Завдання олімпіади PDF Печать E-mail
Добавил(а) Administrator   
03.10.12 08:39

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

Завдання олімпіади мають бути алгоритмічного характеру, тобто основними результатами роботи учасника має бути: алгоритм, що правильно та ефективно розв'язує поставлену задачу, та програма, що реалізує запропонований алгоритм.

Запропоновані задачі можуть бути такими:

1) Розробити програму, що за вхідним файлом визначеної структури буде отримувати вихідний, згідно з умовами задачі.

Задачі саме такого типу найчастіше пропонуються на олімпіадах в останні роки.

2) Розробити програму, що отримуватиме вхідні дані та повідомлятиме про результати їх обробки, інтерактивно взаємодіючи з бібліотекою журі.

Такий підхід зручний тоді, коли необхідно, щоб програма учасника не містила на початку роботи всієї інформації, а отримувала її шляхом звертання до бібліотеки. Наприклад, у такий спосіб можуть бути оформлені задачі-ігри. Задача такого типу «Нім» була запропонована на IV етапі Всеукраїнської олімпіади з інформатики у 1997 році.

3) За відомими вхідними даними отримати результати, що відповідають умові задачі.

У такому випадку необхідно здати не програму, а саме вихідний файл для кожного тесту. Звичайно, задача, що задається певними вхідними файлами настільки важка, що її розв'язок  важко знайти без комп'ютера.

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

Не рекомендується пропонувати задачі, розв'язання яких потребує використання архітектурних особливостей комп'ютерів, знань з області системного програмування, організації складного інтерфейсу користувача, використання нестандартних бібліотек.

При підготовці умов завдань необхідно звертати особливу увагу на обмеження  вхідних даних; формат вхідних та вихідних даних; імена файлів (назва файлу з вихідним текстом програми, який повинен здати учасник; назви вхідного та вихідного файлів); приклади вхідних та вихідних даних; описання функцій, що доступні у бібліотеці журі (для 3-го типу задач).

Основними категоріями олімпіадних задач є:

Геометрія

Графічні задачі

Динамічне програмування

Довга арифметика

Жадібний алгоритм

Задачі для початківців

Комбінаторика

Масиви

Математика

Математичне моделювання

Обробка рядків

Послідовності

Рекурсія, перебір

Логічні задачі

Сортування

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

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

Теорія ігор

Теорія чисел

 
Що таке олімпіадна інформатика? PDF Печать E-mail
Добавил(а) Administrator   
03.10.12 08:35

1. Що таке олімпіадна інформатика?

 

Що потрібне для успішної участі в олімпіадах по інформатиці? Як показує практика, тільки знання мови програмування для цього явно не достатньо. Взагалі, виявляється, що олімпіадні задачі по інформатиці лежать десь на стику математики і програмування. І дуже часто виявляється, що розв'язуючи задачі школярі не тільки вчаться програмувати, але і освоюють нові розділи математики.

Для успішної участі в олімпіаді по програмуванню школяр повинен не тільки володіти мовою програмування, але і уміти придумувати і реалізовувати алгоритми розв'язку задач, оцінювати час їх роботи, тестувати і налаштовувати свої програми.

Перші олімпіади 1934 рік. Олімпіади з інформатики насправді дуже відрізняються від олімпіад з інших предметів:

-                             По-перше, всі учасники (і 8, і 11 класи) розв'язують одні і ті ж задачі (як правило - 3-4)

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

Якщо з вивченням мови програмування у вас не повинно виникнути складнощів (величезна кількість книг по цій темі), то ось з алгоритмами доведеться складніше. Книг по цій темі теж немало, але вони, частіше всього, дуже переобтяжені теорією, а на олімпіадах потрібна тільки практика. З електронних джерел по алгоритмах можу порадити книгу С.М.Окулова і сайт algolist.manual.ru , який менш націлений на вивчення "олімпіадної інформатики", ніж книга Окулова, але містить велику кількість алгоритмів, яких немає в книзі, але які було непогано б знати.

 

Звикайте працювати в  нових 32-бітових компіляторах, що  не мають жорсткого обмеження в пам'яті і працюють істотно швидше.

 

Працюйте в он-лайн системах, які автоматично перевіряють та тестують Ваші розв'язки:

 

http://olymp.sumdu.edu.ua - Веб-ресурс підтримки та проведення шкільних та студентських олімпіад з інформатики

http://www.e-olimp.com.ua/Інтернет-портал організаційно-методичного забезпечення дистанційних олімпіад з програмування для обдарованої молоді навчальних закладів України

http://www.olymp.vinnica.ua/ - Центр підтримки та проведення олімпіад школярів з використанням можливостей Internet.

 
2. Як перевіряються розв'язки задач олімпіади PDF Печать E-mail
Добавил(а) Administrator   
03.10.12 08:36

2. Як перевіряються розв'язки задач олімпіади

Історично склалося так, що розв'язки на олімпіадах по програмуванню перевіряються автоматично. Ваше завдання написати програму, яка за заданими вхідними даними обчислює і виводить вихідні дані.

Програма повинна виводити відповідь строго в описаному в умові форматі (тобто, наприклад, якщо програма раптом виведе у відповідь два числа в переплутаному порядку або замість числа-відповіді надумає написати слово "відповідь" і потім вже сама відповідь, перевіряючим комп'ютером це буде сприйнято як повністю неправильний розв'язок - він не зможе, та і не намагатиметься шукати, а в чому ж ви помилилися).

Другий наслідок з автоматичної перевірки - як правило, тести по задачі складаються так, щоб "покрити" всі можливі випадки. У тому числі і максимальні. Тобто якщо, наприклад, в умові написано, що "у вхідному файлі записано N чисел і N не перевищує 1000", то тест на N=1000 (або дуже близьке до нього число) майже напевно буде.

Ще одна традиція олімпіадних задач, коректність вхідних даних. Тобто, якщо це особливо не написано в умові, не вимагається перевіряти коректність вхідних даних - вхідні дані повністю відповідатимуть описаному в умові формату і задовольнятимуть всім вказаним обмеженням.

Ваш розв'язок повинний читати вхідні дані з вхідного файлу (його ім'я звичайно вказано в умові задачі) в описаному форматі, розв'язати задачу, і виводити результат у вихідний файл (його ім'я теж звичайно вказується в умові). Програма повинна завжди завершуватися з кодом 0 (інакше тестуюча програма вважає, що в ході роботи відбулася помилці) - тобто командою halt(0); або просто дійти до кінця на Паскалі.

Програми-розв'язки рекомендується перевіряти за системою тестів. До кожної задачі необхідно підготувати набір тестових даних, які б дозволяли розрізнити правильні та неправильні розв'язки, а серед правильних - більш та менш ефективні.

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

На міжнародній олімпіаді в останні роки практикується нарахування неповної кількості балів за тест, у разі, якщо програма видає неоптимальну відповідь (яка повністю задовольняє умовам задачі та якщо час обчислення тесту не перевищує відповідне обмеження).

Рекомендована кількість тестів в наборі для однієї задачі - 10. Для більш складних задач це число можна збільшити до 20. Серед тестів повинні бути: декілька тестів невеликого розміру, виконання яких свідчить про правильність запропонованого алгоритму; тести, що перевіряють коректність роботи програми у спеціальних випадках (вироджені випадки, відсутність розв'язку); тести великого розміру, виконання яких свідчить про ефективність запропонованого алгоритму.

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

 
3. Апаратне та програмне забезпечення PDF Печать E-mail
Добавил(а) Administrator   
03.10.12 08:37

3. Апаратне та програмне забезпечення

Обидва тури олімпіади доцільно проводити з використанням комп'ютеризованих робочих місць з операційними системами Windows 2000/XP/Vista. На комп'ютері має бути встановлений файловий менеджер (наприклад, The FAR manager, Total Commander, тощо).

Учасникам олімпіади можуть вибирати мову програмування с заданого переліку: Pascal, C або C++. Система програмування Free Pascal 2.0 (чи новішої версії), GCC 4.2 (чи новішої версії), Turbo Delphi Explorer, Visual C++ 2008 Express). Такі компілятори будуть використані на IV-му етапі.

Програми, що створюються учасниками повинні відповідати стандарту мов програмування на яких вони написані, мають використовувати стандартні бібліотеки та не реалізовувати графічний інтерфейс, не використовувати системні ресурси, сторонні файли та бібіотеки які не передбачені завданням. Дана вимога стосується всіх доступних середовищ програмування в тому числі Visual Studio, Delphi, Turbo Delphi Explorer, тощо.

На час проведення турів олімпіади забезпечити неможливість взаємодії учасників олімпіади з використанням мережених технологій, в тому числі і бездротових.

Користуватися власною літературою, друкованими або рукописними матеріалами, засобами комунікації (Інтернет, мобільні телефони і таке інше) заборонено.


 
Шкільний курс інформатики і олімпіада з інформатики PDF Печать E-mail
Добавил(а) Administrator   
03.10.12 08:33

Шкільний курс інформатики  і олімпіада з інформатики

 

Шкільний курс інформатика крім уявлень про засоби сучасних інформаційних технологій,  повинний дати знання основних понять алгоритмізації, які є не менш важливими. Опановуючи  розділ алгоритмізації і програмування учні розвивають  свій   інтелект,  пам'ять, мислення, уяву, творчі здібності. Але важкість для засвоєння і цікавість учнів до даного розділу є проблематичним. Щоб розв'язувати задачі необхідно засвоїти не лише певну суму знань, а й сам шлях, метод розв'язування.

 

Для оволодіння розділом "Алгоритмізації і програмування" і участі в олімпіадах з інформатики необхідно:

-                                  засвоїти методи складання простих програм на використання базових структур і простих типів даних;

-                                   розглянути основні підходи до розроблення та аналізу алгоритмів, вибору оптимальних методів розв'язування задач;

-                                  ознайомити з розділами з методики складання алгоритмів;

-                                  навчити використовувати засоби програмування для самостійного розв'язання прикладних задач з математики, інформатики, фізики, для постановки комп'ютерних та обчислювальних експериментів.

 

Важливу роль, а можливо і вирішальну,  відіграє правильний підбір задач.

Задачі:

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

-                              визначають вміння записувати базові структури алгоритмів: слідування, розгалуження, цикл; визначають, чи учні знають певні задані числові ряди та різні способи їх подання;

-                              визначають рівень програмування учня, тобто вміння записувати програмний код розв'язку за описаним алгоритмом;

-                               дозволяють виявити вміння учнів підбирати і використовувати структуровані типи даних при розв'язуванні задач.

 

Для формування алгоритмічного мислення і успішної участі в олімпіадах з інформатики потрібно не тільки володіти мовою програмування, але і вміти придумувати і реалізовувати алгоритми розв'язку задач, знати певні підходи, методи розв'язування задач. Розглянемо такі методи і підходи на конкретних прикладах і програмних кодах реалізації розв'язку задач.

 
Заочна школа обдарованих дітей з інформатики 2012-2013 PDF Печать E-mail
Добавил(а) Administrator   
03.10.12 08:26

З метою виявлення творчо обдарованих учнів, пропагування алгоритмізації та покращення роботи з підготовки учнів до олімпіади з інформатики на базі ВІППО продовжить роботу заочна школа обдарованих дітей з інформатики.

Тематика занятть, заддачі та їх аналіз будуть розміщуватись потижнево на  на сайті http://schoololymp.byethost32.com.

Додаткову інформацію про роботу школи можна отримати на сайті http://schoololymp.byethost32.com і в методиста лабораторії інформатики Гіся Ігоря Володимировича (контактний телефон (0332) 242225, моб.0509163106, кабінет №26 ВІППО).

 
Призупинення роботи PDF Печать E-mail
Добавил(а) Administrator   
19.02.12 20:01

Навчання в школа обдарованих дітей з інформатики у 2012 році проводитись не буде.

Опрацьовуйте матеріал самостійно на сайті.

 
Готуємось до олімпіади з інформатики PDF Печать E-mail
Добавил(а) Administrator   
11.01.12 13:58

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

З метою підготовки до олімпіади прохання ознайомитись  з Рекомендаціями щодо проведення III-го етапу Всеукраїнської учнівської олімпіади з інформатики у 2011-2012 навчальному році та системою на сайті http://olymp.sumdu.edu.ua  - Веб-ресурс підтримки та проведення шкільних та студентських олімпіад з інформатики.

Також розв'язуйте та тестуйте завдання на сайті www.e-olimp.com.ua.
 


Страница 19 из 27

Статистика

Пользователей : 261
Статей : 225
Просмотрено статей : 105674

Вход/Регистрация

Нет