28_11_2012_Тестування задач Печать
Добавил(а) Гісь Ігор Володимирович   
28.11.12 09:50

Єдиний спосіб вивчати нову мову програмування –

писати на ній програми.
Брайен Керніган

План роботи

1) Тематика вивчення курсу інформатики. Розподіл годин. Історичний аспект. Поглиблене вивчення.

2) Тематика вивчення курсу алгоритмізація і програмування. Базові структури алгоритмів. Методика складання алгоритмів. Візуальне програмування.

3) Олімпіадна інформатика. Правила проведення олімпіад і вимоги до виконання робіт. Аналіз завдань олімпіади.

4) Етапи розв’язування задач з використанням ЕОМ. Умова. Модель. Алгоритм. Програма. Середовище. Тестування.

.

Олімпіадна інформатика

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

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

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

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

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

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

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

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

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

Геометрія

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

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

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

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

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

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

Масиви

Математика

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

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

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

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

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

Сортування

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

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

Теорія ігор

Теорія чисел

Системи тестування

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

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

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

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

Список тестуючих систем

Назва

Сайт

Система

ejudge

ejudge.ru

Linux

PCMS2

посилання

Windows

Contester

contester.ru

Windows, Linux

Executor

acmtest.ru

Windows

PC2

посилання

Windows, Linux

olympiads.ru

посилання

Windows

DOMjudge

посилання

Linux

dudge

посилання

Кросс-платформенная (Java)

Список ресурсів

· http://vippolabinfo.16mb.com - сайт «Лабораторія інформатики сьогодні», методична підтримки напрямків роботи.

· http://vippoolimp.16mb.com – Волинська учнівська Інтернет олімпіада з програмування.

· http://schoololymp.byethost32.com – заочна школа роботи з обдарованими учнями з інформатики.


Завдання IІ етапу Всеукраїнської учнівської олімпіади

з інформатики 2012-2013 н.р.

Задача 1. «Число» (25 балів)

Ім’я файлу програми: NUMBER.*

Ім’я вхідного файлу: INPUT.DAT

Ім’я вихідного файлу: OUTPUT.ANS

Максимальний час роботи на одному тесті: 1с

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

Інструкція

1. Попросіть загадати три цифри (обов'язково цифри, а не числа).

2. Потім попросіть його помножити першу загадану цифру на 2 і додати до результату, що вийшов 3. Потім помножити це число на 5.

3. Потім до вже отриманого числа додав другу загадану цифру і помножити суму на 10.

4. До нового числа, що вийшло додайте третю задуману цифру.

5. Попросіть його назвати число, що вийшло.

6. Зробіть вигляд, що ви задумалися (тільки довго не думайте). Тим часом, відніміть від вимовленого вголос числа 150. Вийде, що перша, друга і третя цифри результату є задуманими цифрами гравця.

Вхідні дані. Вхідні дані містять рядок з числом, яке назвав учень.

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

INPUT.DAT

OUTPUT.ANS

747

5 9 7

Приклад файлів

Задача 2. «Фігура» (25 балів)

Ім’я файлу програми: figure.*

Ім’я вхідного файлу: INPUT.DAT

Ім’я вихідного файлу: OUTPUT.ANS

Максимальний час роботи на одному тесті: 5с

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

Вхідні дані. Вхідний текстовий файл містить чотири рядки по чотири цілих числа розділених пропусками, які задають координати початку та кінця чотирьох відрізків (|x,y|≤2147483647).

Вихідні дані. Вихідний текстовий файл містить єдиний рядок з назвою фігури з найвищим пріоритетом(див. таблицю).

Приклад файлів

Фігура

Пояснення

Пріоритет

INPUT.DAT

OUTPUT.ANS

square

Квадрат

4

0 0 0 4

0 4 4 4

4 4 4 0

4 0 0 0

square

rectangle

Прямокутник

3

trapezoid

Рівнобічна трапеція

2

quadrangle

Чотирикутник

1

Laman

Ламана

0

Завдання 3. «Коло» (25 балів)

Ім’я файлу програми: circle.*

Ім’я вхідного файлу: INPUT.DAT

Ім’я вихідного файлу: OUTPUT.ANS

Максимальний час роботи на одному тесті: 2 с

Дуже талановитий учень вмів від руки малювати ідеальні кола. За перерву він на дошці намалював велику кількість кіл. На початку уроку вчитель попросив учнів класу поміряти радіуси або діаметри кіл дерев’яною лінійкою в сантиметрах.

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

Технічні умови. Програма CIRCLE читає з першого рядка файлу кількість замірів N (1≤N≤1000000) та наступного рядка з N натуральних чисел, які задають розмір кіл (не більші 1000000). Числа розділено пропуском. Програма виводить на екран єдине число - шукану величину.

Приклад файлів

INPUT.DAT

OUTPUT.ANS

2

1 3

2

2

1 2

1

Задача 4. «Трикутник» (25 балів)

Ім’я файлу програми: triangle.*

Ім’я вхідного файлу: INPUT.DAT

Ім’я вихідного файлу: OUTPUT.ANS

Максимальний час роботи на одному тесті: 5с

Інший талановитий учень, після вивчення теореми Піфагора, перед наступним уроком намалював на дошці N прямокутних трикутників. Вчитель на початку уроку визначив довжини сторін трикутника дерев’яною лінійкою в сантиметрах і заокругливши до цілого записав числа в зошит. На початку уроку, закривши дошку, продиктував записані числа в довільному порядку та попроси визначити яку кількість прямокутних трикутників побудував «учень Піфагора».

Вхідні дані. Вхідний текстовий файл містить в першому рядку число N (3<=N<=100) , далі слідують 3*N рядків, у кожному одне натуральне число (a<=2147483647).

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

Приклади файлів

INPUT.DAT

OUTPUT.ANS

INPUT.DAT

OUTPUT.ANS

2

13

5

12

4

5

3

2

2

3

4

5

6

7

8

1

Сумарна кількість балів – 100