Рекомендації щодо порядку використання матеріалів сайту

Дотримання рекомендацій, сподіваємося, дозволить так спланувати роботу учня, що високий результат навчання й участі в олімпіаді буде досягнуто без виснаження. Хоча працювати доведеться багато. На відміну від чистої математики, яку вивчають з 1 класу по кілька годин на тиждень, прикладну математику фактично не вивчають у загально освітній школі. А відповідальність за кожен крок розв'язання у ній істотно вища. Те, що може пробачити вчитель чи член журі, компілятор мови програмування не пропустить. Але саме тому й потрібно займатися прикладною математикою. З усіх навчальних предметів ніщо так швидко й переконливо не стимулює перехід зі стану безвідповідальності до майже дорослої відповідальності за кожен зроблений крок. Та й роботу кваліфікованих програмістів високо цінують у сучасному суспільстві в усьому світі.

Якщо неможливо виконати рекомендації дослівно (наприклад, 9-класник зненацька для себе потрапив на відбірково-тренувальні збори до того, як ознайомився зі вмістом сайту), то потрібно пам'ятати таке:

  1. У 6-7 класах успішно опанувати шкільний курс математики, додатково розв'язуючи складні логічні завдання. Наприклад ті, умови й демонстраційні розв'язання яких опубліковано на сайті: 1, 2, 3. Бажано використовувати лише умову. У разі неможливості — використати демонстраційне розв'язання, але намагаючись передбачити кожний наступний крок. Мета: досягти високого рівня спроможності (здатності) щодо мовлення, використання символьних записів й унаочнення, без чого опанування будь-яким навчальним предметом на високому рівні є неможливим.

  2. У 8-9 класах вивчити спеціальний курс «Прикладна математика» з обов'язковим розв'язуванням базових задач. Хоча б оглядово за рік, не розв'язавши усіх задач. Вказана програма розрахована на вивчення, узгоджене у часі з логічно послідовним викладом шкільного курсу математики. На жаль, у жодному загально освітному закладі України такого немає. Цю проблему кожен учень, свідомо чи несвідомо, має вирішити самостійно або з допомогою дорослих. І незалежно від того, чи буде він вивчати прикладну математику, чи ні. Лише поняття планіметрії та стереометрії можна можна відкласти до «кращих часів», тобто до вивчення цих понять на уроках математики. Мета:

    • зрозуміти зміст усіх понять, перелічених у програмі;
    • усвідомити поняття моделі, алгоритму, вхідних і вихідних даних;
    • навчитися уточнювати умову завдання.

    У цей самий час потрібно ознайомитися з Порядком проведення ІІ (районного) і ІІІ (міського) етапу Всеукраїнської учнівської олімпіади з інформатики, зрозуміти його повністю і у разі потреби звернутися електронним листом безпосередньо до голови організаційного комітету. Знайомство має бути не лише теоретичним, але й завершитися участю у ІІІ етапі. Якщо учень знає, як зчитувати дані з файлу та записувати їх у файл, знає базові типи, умовний оператор і оператори циклу, а серед задач він знайде таку, яка містить часткове розв'язання в умові або містить відповіді для часткових випадків (щонайменше одна з таких задач обов'язково буде), то він має високі шанси посісти призове місце. Мета: вивчити Порядок проведення настільки, щоб не втрачати у майбутньому жодного балу за недотримання цього самого Порядку.

    Бажано також ознайомитися з порядком проведення NetOI — інтернет-олімпіади з інформатики. Перемога у ній є єдиною альтернативою потрапити на IV (загальнодержавний) етапу Всеукраїнської учнівської олімпіади з інформатики в обхід відбірково-тренувальних зборів серед переможців ІІІ етапу. Ознайомитися і взяти участь. Хоча б з метою тренування. А у старших класах — з метою перемоги.

    Вивчення мов програмування достатньо обмежити вивченням базових понять та опрацюванням структурованих даних без основ подійно та об'єктно орієнтованого програмування. Наприклад, за розробками уроків. Лише використання мови С++ дає можливість отримати всі бали за довільне завдання олімпіади. Весь навчальний матеріал розробок, крім розробок 6, 7, 8, 19-31, потрібно опанувати до початку виконання наступного пункту.

  3. У 9-10 класах опанувати алгоритмами розв'язання задач відбірково-тренувальних зборів. Посилання на умови й ідеї розв'язання подано на сторінці Зміст. Опанувати означає здатність «з нуля» створити код, який успішно проходить всі тести, не використовуючи інформацію про вміст вихідних еталонних файлів і при тих самих обмеженнях на час і пам'ять, що й для авторського розв'язання. У зв'язку з неосвіченістю більшості учасників олімпіади і складністю завдань забезпечено можливість «при першому підході» працювати, маючи у своєму розпорядженні:

    • умову;
    • умову та вміст (опис) тестових файлів;
    • умову, вміст тестових файлів та опис ідеї розв'язання;
    • умову, вміст тестових файлів, опис ідеї розв'язання та код авторського розв'язання.

    Намагатися розв'язувати потрібно саме у такому порядку, максимально стимулюючи ініціативність щодо пошуку шляхів розв'язання. Але після знаходження (бажано свого) шляху, створення коду бажано довести до автоматизму (деякі завдання — за 20 хвилин). Мета: набути стійкі навички програмної реалізації відомих алгоритмів і структур даних, що найчастіше зустрічаються в умовах олімпіад чи турнірів, щоб гарантувати успішне розв'язання завдання при здатності розкласти нову задачу на вже відомі. Тематика завдань настільки щільно і з повторенням покриває тематику можливих завдань, що опанування ними на 2/3 гарантує призове місце на IV етапі олімпіади.

  4. У 10-11 класах ознайомитися (інколи до повного самостійного розв'язання) з різноманітними завданнями, використовуючи посилання на ресурси глобальної мережі — див. завершення сторінки Зміст. У першу чергу потрібно звернути увагу на завдання IV етапу та Міжнародної олімпіади. Мета: набути досвід швидкого вибору моделей і алгоритмів, що призводять до найефективнішого розв'язання задачі.

    Чинна й попередні навчальні програми з інформатики ніяк не відповідають практиці проведення олімпіад. Журі ІІІ (міського) етап намагається відстежити політику журі IV етапу. А на IV етапі часто використовують алгоритми, що зазвичай входять до курсу дискретної математики вищих навчальних закладів. І з цими алгоритмами та їхньою реалізацією з використанням динамічного розподілу пам'яті можна і потрібно знайомитися. Наприклад, за переліком, опублікованим на сайті, та розширивши пошук у глобальній мережі. Мета: підготуватися до розв'язування найскладніших завдань з використанням сучасних ефективних алгоритмів.

  5. Після закінчення навчання у школі ознайомитися з такими матеріалами:

    • лекції з математичної логіки й теорії множин;

    • описи аналізу статистичних даних і (переважно непараметричних) критеріїв прийняття гіпотез, авторської видавничої системи LaTeX, переносної системи алгебричних обчислень Reduce, початків теорії динамічних систем і фрактальної геометрії.

    Мета: підняти загальний рівень освіченості і розширити коло викорис­тання набутих навичок програмування, що слугуватиме успіху в науці й практиці.