четвер, 11 січня 2018 р.

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

Перевірка програм у режимі on-line через Internet
Інструкція
Для того, щоб мати змогу перевірити правильність роботи програми в режимі on-line, слід звернути увагу на правильність введення / виведення даних. Потрібно відразу зчитувати вхідні дані з клавіатури у вказаному в умові порядку, не виводячи попередньо підказку Write (‘введіть …’). Виводити результати також потрібно без будь-яких коментарів і в чітко вказаній послідовності.
Не можна використовувати модулі, зокрема Crt.
Програму слід зберігати під назвою, вказаною в умові задачі.

Розглянемо приклад.
Дано два числа х і у. Обчислити їх суму і частку. Результат має містити 3 знаки після коми (без округлення).

Початковий варіант програми Програма для перевірки в on-line
Program Syma;
 Var
    x, y , s, z : real;
Begin
   Write(‘x, y - ?’);
   Readln(x, y);
   s:= x+y;
   y:= x/y;
  Writeln(‘s=’, s:5:3);
  Writeln(‘z=’, z5:3);
  Readln;
End.
Program Syma;
 Var
     x, y , s, z : real;
Begin
   Readln(x, y);
   s:= x+y;
   y:= x/y;
   Write (s:5:3);
   Write (z:5:3);
End.
Набравши та відкомпілювавши програму, натисніть гіперпосилання ПЕРЕВІРИТИ ТУТ, яке є після кожної умови задачі.
 Відкриється нове вікно:   

Вводимо:
                    Задача: Syma (назва програми за умовою задачі)
          Мова програмування:  pas (якщо розв’язок на Pascal)
          Розв'язок натиснути кнопку Обзор… і обрати потрібний файл.

Після того, як заповнені всі поля в формі, натисніть кнопку Проверить.
 
  Тестування
 В кожній з тем обов’язково є розділ «Перевір свої знання (тестування)». До цього розділу варто переходити тоді, коли матеріал теми опрацьовано. Якщо ви використовуєте автономну (off-line) версію посібника, то, клацнувши по посиланню, ви потрапляєте на сторінку автоматизованого тестування: 

Вказавши відповіді на всі тести, натисніть кнопку РЕЗУЛЬТАТ. Ви миттєво отримаєте оцінку. Якщо ж ви працюєте в Інтернеті, посилання спрямує   вас  до системи тестування on-line. Вам там необхідно буде зареєструватися при першому звертанні, а тоді, користуючись отриманими правами доступу, проходити відповідний тест. При цьому  на сервері зберігається статистика, яка може бути використана учителем для виставлення офіційної оцінки.
Самостійна  перевірка розв’язків задач з цього  посібника в режимі on-line.
 Дана можливість, на жаль, не може бути реалізована в дисковій (off-line) версії посібника.  
Розв’язки  всіх задач з цього посібника  (і ще багатьох інших задач, зокрема задач Всеукраїнських інтернет-олімпіад з інформатики NetOI) можливо перевірити самостійно, в будь-який час, використавши сервіс «Перевірка задач в режимі on-line», що діє на сайті Всеукраїнських Інтернет-олімпіад http://www.olymp.vinnica.ua . Звичайно, для цього комп’ютер повинен бути підключений до  Інтернету.
Для успішної перевірки  потрібно запрограмувати розв’язок задачі однією з мов програмування (в нашому випадку мовою Pascal)Програми  НЕ БУДУТЬ перевірені,  якщо  вони виводять на екран будь-що, крім того, що вказано в умові, чекають  вводу з клавіатури, не  вказаного  в  умові,  працюють  з файлами  чи  звертаються  до  зовнiшнiх  пристроїв.  
   
         Якщо ви натисните посилання ПЕРЕВІРИТИ на сторінці самостійного розв’язування задач, то побачите:
>
В лівій частині екрану – посилання на умови задач, що «сховані» в випадаючих меню та згруповані по роках проведення олімпіад. При звертанні ви отримаєте в новому вікні браузера умову задачі, яка вас цікавить.
 Якщо розв’язок готовий і зберігається на вашому комп’ютері у вигляді текстового файлу, ви можете розпочати перевірку. В віконце «Ваш код»впишіть універсальний код доступу до системи pmg17 , в стрічку «Код задачі» – її кодову назву, наприклад, rosen ), в стрічку «Мова програмування» - pas (якщо розв’язок на Pascal), C, СPP чи PY (відповідно для мов С,  С++  чи Python). При допомозі кнопки «Знайти» чи вручну заповніть стрічку «Текст розв’язку», вказавши ПОВНЕ ім’я файлу з розв’язком. Тут варто ще раз нагадати, що це повинен бути ТЕКСТОВИЙ файл, а не бінарний модуль, що утворився в результаті роботи вашого середовища програмування. Якщо всі поля форми заповнено, можна натискати кнопку «Перевірити», і через деякий час у вас на екрані з’явиться щось подібне зображеного на малюнку А.2. Ще раз наголошуємо, що для перевірки слід відправляти текстовий файл з розв’язком, який  СТОВІДСОТКОВО ВІДПОВІДАЄ ТЕХНІЧНИМ УМОВАМ ЗАДАЧІ, а не відкомпільовану програму!
 Таку «картинку» ви отримаєте, коли ваш розв’язок компілюється, тобто  він не містить синтаксичних помилок.   В іншому випадку ви побачите повідомлення компілятора про помилку. Виправте помилку та повторіть перевірку.
В графі «Результат» можливі такі повідомлення:

PASSED – тест пройдено успішно;
TIME OUT – виконання тесту припинене через перевищення ліміту часу, що відведений на виконання цього тесту;
WRONG ANSWER – результат тесту неправильний;
BAD DATA   - неправильний формат виведення результату або  помилка  під час виконання програми.
Повідомлення, що з’являються в інших колонках, зрозумілі без пояснень.
Якщо ви помилились в заповненні форми (наприклад, неправильно вказали код задачі), ви отримаєте повідомлення про те, що сталася технічна помилка. Виправте її і повторіть перевірку.



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



Завдання для самостійного створення алгоритмів мовою Pascal
Задача Quadrat.
Створіть і реалізуйте алгоритм, який знаходить можливість повного перекриття квадратом зі стороною a см кругу, радіусом r см.
Вхідні дані
Ви вводите з клавіатури два цілих числа 
a і r.
Вихідні дані
Ви виводите на екран:
 «1», якщо можна, «0», якщо не можна.
Приклад вхідних і вихідних даних
Вхід: 4    8
Вихід: 0

Задача Speed.
Пішоход пройшов першу половину шляху зі швидкістю v  км/год. Створіть і реалізуйте алгоритм, який знаходить, з якою швидкістю він повинен рухатись другу половину шляху, щоб його середня швидкість на всьому шляху дорівнювала c км/год.
Вхідні дані
Ви вводите з клавіатури два дійсних числа 
v і c.
Вихідні дані
Ви виводите на екран
величину швидкості на другій половині відрізку.
Приклад вхідних і вихідних даних
Вхід: 5    5
Вихід: 5


Задача Сountmod.
Створіть і реалізуйте алгоритм, який знаходить кількість n-цифрових чисел, які діляться на ціле число k без остачі.
Вхідні дані
Ви вводите з клавіатури два цілих числа 
n і k.
Вихідні дані
Ви виводите на екран
 кількість n-цифрових чисел.
Приклад вхідних і вихідних даних
Вхід:
1    20
Вихід:
0.


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

Вхідні дані
Ви вводите з клавіатури три
дійсних числа m, n і k.
Вихідні дані
Ви виводите на екран
три числа через пропуск: час заповнення 1-ою трубою, час заповнення 2-ою трубою, час заповнення 3-ою трубою.
Приклад вхідних і вихідних даних
Вхід: 2    
2  2
Вихід: 4  4  4
.

Задача GIRLS
Якщо на одну шальку терезів посадити Даринку, яка важить n кг, і Тетянку, яка важить на 5 кг більше, а на іншу насипати m кг цукерок, то скільки кілограм цукерок доведеться з’їсти дівчаткам, щоб шальки терезів врівноважились?

Вхідні дані
Ви вводите з клавіатури два цілих числа n і m.

Вихідні дані
Ви виводите на екран одне шукане число.

Приклад вхідних і вихідних даних
Вхід: 40 
  89
Вихід: 4


Задача MIRROR
У Несміяни кругле обличчя, радіус якого R см. Визначте, яку сторону повинно мати квадратне дзеркало, щоб, коли Несміяна милується собою, її відображення поміщалось у дзеркалі?

Вхідні дані
Ви вводите з клавіатури одне дійсне число R.

Вихідні дані
Ви виводите на екран одне дійсне число – сторону дзеркала. Результат містить 2 знаки після коми (без округлення).

Приклад вхідних і вихідних даних
Вхід: 7.6
Вихід: 15.20


Задача PUPIL
Учень-невдаха Сашко сів виконувати домашнє завдання і просидів за столом 2 години. З них х хвилин він чухав потилицю і дивився у вікно, у шукав у письмовому столі гумку, щоб стерти у підручнику з англійської мови карикатуру на свого товариша, на малювання якої він витратив перед цим z хвилин. Решту часу Сашко перекладав англійські слова. Скільки слів він встиг перекласти, якщо переклад одного слова у нього займав 5 хвилин?
Примітка. Використовувати цілочисельне ділення (команду div).

Вхідні дані
Ви вводите з клавіатури три цілих числа x, y, z.

Вихідні дані
Ви виводите на екран одне число – шукану кількість слів.

Приклад вхідних і вихідних даних
Вхід: 10   15   25
Вихід: 14


Задача CUBE
Дано довжину ребра куба. Знайти його об’єм та площу всієї поверхні.
Вхідні дані
Ви вводите з клавіатури одне ціле число.

Вихідні дані
Ви виводите на екран два цілих числа – об’єм та площу поверхні куба.

Приклад вхідних і вихідних даних
Вхід: 4
Вихід: 64   96


Задача SALARY
Визначити, яку заробітну платню одержить на фірмі сумісник за виконану роботу, якщо йому нараховано S грн., а податок становить 20%.

Вхідні дані
Ви вводите з клавіатури одне дійсне число S.

Вихідні дані
Ви виводите на екран одне дійсне число з двома знаками після коми (без округлення).

Приклад вхідних і вихідних даних
Вхід: 1000
Вихід: 800.00


Задача CIRCLE2
Дано довжину кола. Визначити площу круга, обмеженого цим колом.

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

Вихідні дані
Ви виводите на екран одне дійсне число (без округлення).

Приклад вхідних і вихідних даних
Вхід: 12
Вихід: 11.459


Задача SEGMENT
Знайти координати середини відрізка та довжину відрізка, заданого точками (х1, у1) і (х2, у2).

Вхідні дані
Ви вводите з клавіатури чотири цілих числа х1, у1, х2, у2.

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

Приклад вхідних і вихідних даних
Вхід: 10   12   10   -34
Вихід: 10.0000   -11.0000   46.0000


Задача TRIANGLE
Дано катет а і гіпотенузу с прямокутного трикутника. Обчислити площу вписаного в нього кола, якщо радіус кола , де a, b - катети, c - гіпотенуза.
Примітка: У Pascal для позначення числа  використовується константа рі. Наприклад, записується 2*рі.

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

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

Приклад вхідних і вихідних даних
Вхід: 12   15
Вихід: 28.274


Задача HEIGHTS
Дано сторони трикутника а, b, с. Знайти висоти трикутника, радіуси вписаного та описаного кіл.

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

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

Приклад вхідних і вихідних даних
Вхід: 23.000   34.000   43.000
Вихід: 33.813   22.873   18.086   21.619   7.777

Немає коментарів:

Дописати коментар