Шановні учасники форуму! Скоро районна олімпіада по інформатиці. Допоможіть мені та іншим вчителям інформатикам, які погано розуміються на задачах олімпіадного рівня, підвищити свої знання в області програмування.
Увага! При публікуванні розв’язку обов’язково, окрім самої паскаль-програми писати математичну модель задачі і роз’яснювати ваш розв’язок максимально зрозуміло. Бо із самого тексту програм, не завжди все зрозуміло для пересічного інформатика.
[admin]Шановні форумчани!!!!! Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!![/admin]
Відбулась районна олімпіада з інформатики по Вінницькій області. Шановні форумчани, ви можете оцінити рівень складності завдань, диференційованість і т.д. На мою думку, планка складності цього року на порядок вища за попередній. Прошу оцінити більш досвідчених в області програмування колег. P.S. Ні авторських, ні учнівських варіантів розв’язку не маю. P.P.S. ІМХО, такі задачі потрібно давати на 3-й етап, буде в самий раз... https://netoi.org.ua/index_ua.php?lng=ua&cid=1944
Відбулась районна олімпіада з інформатики по Вінницькій області.
Всі задачі хоч і не дуже прості, але робляться в лоб, без знання спеціальних методів програмування. А на 3 етапі без знань останніх далеко не заїдеш! Так що все-таки це не є задачі рівня 3-го етапу. 1. Мені не подобається, що немає одної дуже легкої задачі, котру б зробили всі хто знає мову програмування. 2. Не знаю, чи добре це чи не добре, що задачі розділили по віку. У нас не ділять і ніколи не ділили. 3. Всі задачі середнього рівня. Включивши в голові логіку та знаючи мову - можна зробити. Але деякі зробити не просто. 4. Дуже добре, що є можливість після олімпіади протестувати свої розв'язки. Це велика перевага для роботи над помилками та гарна можливість потренуватися для таких як ми.
Тепер по задачах:
6-9 (1) Choice Знаходимо дві точки з однаковим х. Тепер х четвертої точки буде такий як х тої точки, що залишилася. Знаходимо дві точки з однаковим у. Тепер у четвертої точки буде такий як у тої точки, що залишилася. Задача робиться або двовимірним масивом 2х3, або кількома умовними операторами.
6-9 (2) Ln2018 Потрібно вміти виділити кожну цифру числа окремо. Це можна робити комбінаціями цілочисельного ділення та остачі від ділення, але я це люблю робити шляхом переведення числа у рядок. Потім додаємо цифри і шукаємо, чи добувається цілий корінь з цього числа. Наприклад, порівнюючи квадрат цілої частини кореня з самим числом. Для середніх класів може і за складна задача. Якщо вже поділили по віку - треба було дати простіші задачі для менших.
6-9 (3) Buses Як на мене задача посильна. Додаємо кількості людей у маршрутках. Перевіряємо, чи сума ділиться на 3. Якщо не ділиться - виводимо IMPOSSIBLE. В іншому випадку знаходимо третину суми і виводимо різницю між нею та кількістю людей у кожній маршрутці, попередньо вирахувавши та вставивши відповідний знак. Мінус буде автоматично, вставляти потрібно тільки плюс, якщо різниця додатна.
6-9 (4) Lady Здається це найлегша задача з усіх восьми. Дні з різнокольоровими зачісками - це просто менше число із двох. Дні з однаковими стрічками - різниця більшого і меншого поділена на 2 націло.
10-11 (1) Chess2018 Переводимо літерні координати у цифри. Перевіряємо всі клітинки які може бити кінь, чи вони вільні і не випадають за поле. Знаходимо їх кількість. Рахуємо кількість клітинок по горизонталі та вертикалі, які б'є Ферзь. Якщо впирається у коня - то рахуємо до коня не включно. Не забуваємо не враховувати двічі клітинки, котрі б'є кінь. Виходить досить багато перевірок умов.
10-11 (2) Rome Розрізання рядка на символи, перевірка і відповідне переведення у цифри. Починати потрібно із кінця. Потім сумуємо з умовою. Не дуже люблю такі задачі. А для дитини тим більше це складно.
10-11 (3) Zamint Якось ділити числа на групи по величині і рахувати кількість груп. Ще не придумав, як це зробити.
10-11 (4) Hotel Створюємо двомірний масив всієї території, берег 1, море 0. Починаємо з гори, рухаємося по горизонталі з ліва на право. Рахуємо кількість берегових клітинок підряд від лівої межі, щоразу записуючи це число замість 1 в поточну клітинку. В наступному рядку вже до кількості не нульових клітинок підряд додаємо число з попереднього рядка. Після проходу таблиці обчислюємо максимальне число в утвореній таблиці. Це і буде відповідь. Ну якось так.
Висновок. Я би не сказав, що підбір задач дуже поганий. Єдине побажання, це треба було поставити в кожному класі по 1 дуже простенькій задачі типу обчислити прощу круга по відомому радіусу для заохочення і відсутності нулів у підсумковому протоколі.
Не має диференційованості завдань, ось це дійсно є головним мінусом. В нас в районі було 5 учнів присутні із 40 шкіл! І думаю, що з цих 5-ти у 2-3 будуть абсолютні нулі. Мотивація до подальшої роботи пропадає повністю. Зрозуміло, що треба краще готуватись і т.д., але б чому б не дати 1 задачу на кшталт такої:
ЦитатаBandalak ()
4. Дуже добре, що є можливість після олімпіади протестувати свої розв'язки. Це велика перевага для роботи над помилками та гарна можливість потренуватися для таких як ми.
Під час олімпіади учні не мали змоги перевіряти свої програми.
Це як? Дивно чому їм не надали таку можливість при готовій онлайн перевірялці?
Не знаю, чому важко надати таку можливість районам. Якби минулого року була така можливість, то мій учень 9 класу гарантовано заняв би перше місце, тому що всі алгоритми були написані правильно, проблема була в командах read (readln). Про той прикрий випадок я писав близько року тому Цього року так само. Учні роблять у Free Pascal чи іншому середовищі, відповідно до мови яку вивчали, зберігають розв’язки у папці і на цьому до побачення.
А далі що? Члени журі вручну перевіряють, чи запускають на перевірялці? Хіба журі не бачать, що там не помилка, а штучний стоп за допомогою read (readln)?
У нас вже років 5 учні отримують умови, перевіряють та здають готові роботи самостійно на сервері, точно так як на 3 етапі!
А далі що? Члени журі вручну перевіряють, чи запускають на перевірялці? Хіба журі не бачать, що там не помилка, а штучний стоп за допомогою read (readln)?
Журі перевіряють на "перевірялці", на другий чи третій день появляється така можливість. Журі в нашому районі все бачуть, але строго дотримуються рекомендацій з області. Тобто якщо перевірялка видала 0, значить 0. І не важливо, правильний там алгоритм чи не правильний, є помилки в контрольних тестах, технічних умовах, чи не має. Для них програма тестуюча - це цар і Бог в одному образі. Крапка. В минулому році переконався, що щось комусь доводити - це лише втрата нервів і зусиль. Мав дуже хорошо учня, але в цьому році він втратив ентузіазм і охоту повністю, готуватись не захотів. Я то відправив його на олімпіаду, але "насильно мил не будеш".
10-11 (1) Chess2018 Переводимо літерні координати у цифри. Перевіряємо всі клітинки які може бити кінь, чи вони вільні і не випадають за поле. Знаходимо їх кількість. Рахуємо кількість клітинок по горизонталі та вертикалі, які б'є Ферзь. Якщо впирається у коня - то рахуємо до коня не включно. Не забуваємо не враховувати двічі клітинки, котрі б'є кінь. Виходить досить багато перевірок умов.
Дійсно цикл в циклі. Перед внутрішнім прапорець з 0 В плюсах навіть умови не об'єднував(якщо важко), а просто плюсував. Якщо ісиинність після перевірокперевірок то до лічильника +1. Умова коня abs((x1-x2)*(y1-y2))=2 Але це просто, якщо не враховувати що кінь стоїть на шляху ферзя.
Сьогодні відбулась міська олімпіада з програмування. Невже не можна нормально формулювати завдання, то котят їдять, то покланяються іноземцям. нормальною мовою неможливо?
Не розумію, чому задачі з програмування не формулюють чітко математично? Для чого ті казкові герої і всяка водичка? Адже програміст повинен вміти розробляти алгоритми, а не вгадувати що саме мав на увазі автор задачі!!!