ІІ етап ІОІТ-2017.
Завдання 10-11 класу

Прочитати більше

Інформація, інструкції та рекомендації щодо виконання

ІІ етап Інтернет-олімпіади з інформаційних технологій у номінації "Інформаційні системи та бази даних" проводиться з 13 по 19 листопада 2017 року в заочній формі з використанням Інтернет-ресурсу itolymp.

Для успішного проходження ІІ етапу Вам потрібно до 19 листопада виконати запропоновані нижче завдання та надіслати їх на ресурс itolymp за допомогою Вашого облікового запису. В цілому вам потрібно: увійти, натиснути на змагання "ІІ етап ІОІТ-2017 у номінації "Інформаційні системи та бази даних" (10-11 клас)" - після цього ви побачите перелік завдань із посиланням для надсилання розв'язку для кожного з них.

В межах цього етапу до уваги учнів 10-11 класу пропонується чотири задачі, по одній на кожен з традиційних додатків Microsoft Office Word, PowerPoint, Access та Excel, поєднані однією темою - Математичні головоломки. Задачі розміщені в довільному порядку.

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

Впродовж виконання завдань забороняється використовувати зразки з умови завдання, додатки, не зазначені в умові завдання, а також програмувати окремі частини розв’язання мовою Visual Basic for Applications. Також строго забороняється використання під час розв’язання файлів розв’язань інших учасників. Будь-які дії, що порушують Правила проведення Інтернет-олімпіади з інформаційних технологій «ІОІТ-2017», а також вказівки журі та організаційного комітету можуть призвести до позбавлення учасника права на подальшу участь у змаганні.

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

Уважно читайте умови завдань. Пам’ятайте: правильне розуміння поставленої перед вами задачі – половина шляху до її розв’язання. Автори завдань та члени журі очікують на ваші запитання, які ви можете поставити за допомогою системи itolymp.

З побажаннями успіхів, організаційний комітет Інтернет-олімпіади

Математичні головоломки

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

ІС Головоломки (Access) Судоку (Excel) П'ятнашки (Word) Сапер (PowerPoint)

ІС Головоломки (Access)

Гогерчак Григорій Іванович, заступник голови журі

Завантажити заготовку access.xlsx (формат 2016) Завантажити заготовку access.xls (формат 2003) Завантажити архів зображень (формат 2003)

Доміно-пасьянс являє собою розкладений в вигляді певної фігури комплект з 28 кісток доміно, межі між якими стерті. Задача полягає в тому, щоб відмітити, де яка кістка доміно лежить. Зазвичай використовують фігуру у вигляді прямокутника 7×8.

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

Ваше завдання - створити інформаційну систему "Головоломки" та реалізувати інтерфейс гри доміно-пасьянс відповідно до інструкцій, поданих нижче.

Увага! Використання VBA заборонено!

І. Модель ІС Головоломки

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

В базі даних зберігається інформація про головоломки. Про кожну головоломку відомі її ідентифікатор та назва. Серед головоломок виділяють:

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

Внесіть у створену базу даних наступну інформацію (необхідні файли знаходяться в архіві зображень):

  • друковані головоломки Кросворд Уінна (завдання у файлі a2.png, відповідь у файлі a3.png, тип: кросворд) та Простий японський (завдання у файлі a4.png, відповідь у файлі a5.png, тип: японський кросворд);
  • усні головоломки Чотири козаки (завдання: Під одним козирком чотири козаки стоять., відповідь: Ніжки стола) та Загадка Білоуса (завдання: А відгадайте-но: що я таке? Всі хочуть, як народиться дитина, щоб я було красиве і дзвінке, бо носить все життя мене людина., відповідь: Ім'я);
  • механічну головоломку Кубик Рубика (опис: Механічна головоломка, яку винайшов 1974 року угорський скульптор, винахідник Ерньо Рубік., зображення у файлі a1.png);
  • головоломку з предметами 6 сірників та 2 трикутники (опис: Перекладіть 6 сірників так, щоб залишилось тільки 2 трикутники., завдання у файлі a6.jpg, відповідь у файлі a7.jpg, предмет: сірники);
  • головоломку Загадка Айнштайна, що не належить до жодного з типів.

ІІ. Інформаційна система

Система повинна відкриватися головним вікном відповідно до зразка:

Іконку вікна тут і далі відтворювати не потрібно.

Кнопка Головоломки повинна відкривати перелік головоломок з їх назвами та ідентифікаторами. Наступні чотири кнопки повинні відкривати перелік головоломок відповідного типу з їх назвами та відповідними цьому типу характеристиками.

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

Клацання на зображення таблиці або на напис "Доміно-пасьянс" повинне призводити до відкриття інтерфейсу гри доміно-пасьянс.

ІІІ. Доміно-пасьянс

Як зазначалось вище, доміно-пасьянс являє собою розкладений в вигляді певної фігури комплект з 28 кісток доміно, межі між якими стерті. Задача гравця полягає в тому, щоб відмітити, де яка кістка доміно лежить. Зазвичай використовують фігуру у вигляді прямокутника 7×8. Вам пропонується створити інтерфейс для генерування гри за заданими позиціями кісток доміно.

Користувачеві надається можливість для кожної кістки доміно вказати її розташування на прямокутній сітці 7х8 відповідно до наступного зразка:

У вищевказаному вікні користувач для кожної кістки доміно вказує координати знаходження її верхнього лівого кута (x - рядок, y - стовпець) та обирає один із чотирьох варіантів її розташування:

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

При цьому редагування самих кісток доміно для користувача недоступне.

У разі, якщо користувач вводить некоректні значення номеру рядка чи стовпця (поза діапазоном 1-7 та 1-8 відповідно), для зручності користувача відповідна комірка підсвічується відповідно до зразка:

У разі натискання на кнопку Згенерувати розкладку користувачеві відкривається заповнена сітка відповідно до заданої ним розкладки кісток доміно без вказання меж у відповідності до наступного зразка:

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

Вважайте, що користувач вводитиме розташування доміно без накладань кісток.

Для зручності у файлах до цього завдання подано розкладку, яка використовується у вищеподаних зразках.

Правильний розв'язок повинен точно відповідати поданим вище зразкам.

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

Судоку (Excel)

Гогерчак Григорій Іванович, заступник голови журі

Завантажити заготовку excel.xlsx (формат 2016) Завантажити заготовку excel.xls (формат 2003) Завантажити набір судоку та їх рішень (формат 2003)

Судоку — заснована на логіці японська головоломка з числами. В перекладі з японської мови «су» позначає слово «число», «доку» має безліч різних перекладів, але в цілому означає щось одне, одиничне, цілісне.

Прообраз сучасного судоку, так звані магічні квадрати знали ще в стародавньому Китаї. В Європі згадується щось подібне в XVIII столітті, коли сліпий швейцарський математик Леонард Ейлер (Leonhard Euler) з'ясував, що в матриці розміром 9?9 кожен ряд і кожну колонку можна заповнити цифрами від 1 до 9 в певному порядку і без повторення.

Вперше судоку в сучасному вигляді з'явилася в одному з американських журналів пазлів в 1979 році. Автором головоломки був громадянин США, 74 річний архітектор на пенсії Howard Garns. Видавець — журнал «Math Puzzles and Logic Problems» дав пазлу ім'я «Number Place», яке досі використовується у Сполучених Штатах. Справжню популярність головоломка завоювала в 2005, коли японський журнал Nikoli став регулярно друкувати її на своїх сторінках. 2004 року судоку почали друкувати англійські газети, звідки судоку-манія перекинулася на Європу і до Австралії.

Ігрове поле судоку складається з квадрата, розміром 9×9, розділеного на менші квадрати (їх ще називають «регіони») із стороною 3?3 клітинки. Таким чином, все поле налічує 81 клітинку. У деяких з них вже на початку гри розташовані числа (від 1 до 9). Залежно від того, скільки клітинок вже заповнено, конкретну судоку можна віднести до легких або складних.

Мета головоломки - необхідно заповнити вільні клітинки цифрами від 1 до 9 так, щоб в кожному рядку, в кожному стовпці і в кожному малому квадраті 3×3, кожна цифра зустрічалася лише один раз. Правильна головоломка має лише одне рішення.

Ваше завдання - створити інтерфейс гри судоку відповідно до інструкцій, поданих нижче.

Увага! Використання VBA та засобу запису макросів заборонено!

На єдиному аркуші Судоку заготовки у діапазоні C5:K13 необхідно створити поле 9×9 для гри в судоку.

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

Під час введення чисел в режимі заповнення умови комірки з цими числами повинні підфарбовуватися сірим кольором відповідно до наступного зразка:

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

Завдання гравця судоку полягає в тому, щоб в одному стовпці, рядку та «регіоні» із стороною 3×3 клітинки не було однакових чисел. Задля зручності користувача система повинна передбачати виділення червоним забарвленням тих комірок, значення в яких заважає виконанню правил гри (тобто клітинок, значення яких наявне принаймні двічі в тому ж стовпці, рядку чи «регіоні»). При цьому, звісна річ, комірки умови не можуть заважати виконанню правил судоку, а тому їх підфарбовувати не потрібно.

Якщо значення комірок, введені користувачем, конфліктують між собою, усі ці значення виділяються системою:

Якщо користувач намагається в режимі гри змінити значення комірок умови, система повинна відображати повідомлення про помилку відповідно до наступного зразка та не зберігати введене користувачем значення:

Якщо користувач правильно склав судоку (тобто усі комірки поля судоку заповнені та правила гри додержано), введені користувачем значення виділяються відповідно до наступного зразка:

Користувач системи повинен здійснювати маніпуляції виключно з діапазоном C5:K13 та перемикачами режимів. Усі інші частини системи повинні бути від нього приховані.

Відеозразок роботи системи:

Відеозразок роботи системи під час виграшу користувача:

Звук відтворювати не потрібно. Тіні згори та знизу вікна є частиною інтерфейсу YouTube.

Правильний розв'язок повинен точно відповідати поданим вище зразкам.

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

П'ятнашки (Word)

Гогерчак Григорій Іванович, заступник голови журі

До цього завдання файлів не передбачено

П'ятнашки (гра в п'ятнадцять, такен) — популярна головоломка, придумана у 1878 році Ноєм Чепменом. Складається з 15 однакових квадратних пластинок з нанесеними числами від 1 до 15. Пластинки поміщаються в квадратну коробку, довжина сторони якої в чотири рази більша довжини сторони пластинок, відповідно в коробці залишається незаповненим одне квадратне поле. Мета гри — переміщаючи пластинки по коробці добитися впорядковування їх по номерах (як зображено на рисунку), бажано зробивши якомога менше переміщень.

Ваше завдання - створити інтерфейс гри п'ятнашки відповідно до інструкцій, поданих нижче.

Увага! Використання VBA заборонено!

В наших п'ятнашках в полі 4x4 користувач певним чином розташовує числа від 1 до 15 в шістнадцятковій системі числення (тобто замість чисел 10, 11, 12, 13, 14 та 15 будуть розташовані літери A, B, C, D, E та F відповідно) і замість незаповненого поля вводить літеру X відповідно до наступного зразка (користувач може ввести значення в довільному порядку):

Після цього за допомогою кнопок в панелі швидкого доступу він може рухати незаповнене поле «X» вправо, вниз, вгору чи вліво відповідно:

Колір та форма стрілок можуть бути довільними. Обов'язковим є тільки оформлення відповідних елементів керування у вигляді стрілок.

Наприклад, після натискання другої з вищепоказаних кнопок («вниз») раніше продемонстроване поле повинно змінитися на наступне («X» та «9» обмінюються місцями):

Далі, після натискання останньої з вищепоказаних кнопок («вправо») поле повинно змінитися на наступне («X» та «F» обмінюються місцями):

Далі, після натискання третьої з вищепоказаних кнопок («вгору») поле повинно змінитися на наступне («X» та «6» обмінюються місцями):

Далі, після натискання першої з вищепоказаних кнопок («вліво») поле повинно змінитися на наступне («X» та «9» обмінюються місцями):

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

Сапер (PowerPoint)

Гогерчак Григорій Іванович, заступник голови журі

Завантажити зображення міни (PNG)

Історія гри-головоломки «Сапер» веде в далекі 50-ті роки XX століття. В той час ігрове поле являло собою тришаровий паперовий панчборд. У верхньому його шарі були отвори, в які потрібно було вдаряти молоточком в другий шар, який в свою чергу був захисною плівкою і приховував під собою третій шар, на якому були зображені міни та цифри рівно під кожним отвором першого шару. Якщо гравець пробивав усі отвори, під якими не було мін, то він міг отримати від виробника приз - ще одну таку ж гру.

З ерою появи персональних комп'ютерів «Сапер» отримав ще більшу популярність. Зокрема з появою операційної системи Windows в цю гру почали грати в усіх куточках світу.

Принцип цієї гри наступний. Плоске ігрове поле розділене на квадрати, деякі з яких «заміновані»; кількість «замінованих» комірок заздалегідь відоме. Ціллю гри є відкриття всіх комірок, що не містять мін.

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

Ваше завдання - створити інтерфейс гри «Сапер» для вказаної нижче конфігурації поля відповідно до інструкцій, поданих нижче.

Увага! Використання VBA заборонено!

На початку роботи системи поле повністю закрите:

Користувач може натискати на закриті комірки поля, таким чином відкриваючи їх. Якщо в комірці міна, після натиснення на неї користувачеві відображаються усі міни на полі та повідомлення «Ви програли!». В протилежному випадку користувачеві відображається цифра - кількість мін в восьми суміжних з відкритою комірках. Якщо під сусідніми комірками теж немає мін, то відкривається вся «незамінована» область до комірок, в яких є цифри (включно з ними).

Відеозразок роботи системи:

Звук відтворювати не потрібно. Тіні згори та знизу вікна є частиною інтерфейсу YouTube.

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

Клацання на відкриті комірки, а також на області поза полем гри та кнопкою «Заново» не повинні призводити до будь-яких змін.