Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

1

Programming Taskbook
Електронний задачник з програмування
2

Загальний опис
Задачник містить наступні глави завдань (у дужках вказано кількість завдань для
кожної глави):
• Begin - введення і виведення даних, оператор присвоєння (40)
• Integer - цілі числа (30)
• Boolean - логічні вирази (40)
• If - умовний оператор (30)
• Case - оператор вибору (20)
• For - цикл з параметром (40)
• While - цикл з умовою (30)
• Series - послідовності (40)
• Proc - процедури і функції (21)

Задачник Programming Taskbook надає учням наступні можливості:


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

Зауваження щодо формулювання завдань


В формулюваннях завдань не використовуються поняття та імена, специфічні для
конкретної мови програмування.
При описі елементів одномірних та двовимірних масивів використовується поняття
порядкового номера елемента, причому початковий елемент масиву A розміру N завжди
має порядковий номер 1 і позначається у формулюваннях завдань як A 1 , а кінцевий
елемент цього ж масиву має порядковий номер N і позначається як A N . Аналогічно,
початковий елемент двовимірного масиву B позначається як B 1,1 . Крім того, поняття
порядкового номера застосовується до рядків та стовпців двовимірних масивів (матриць):
початковий рядок та початковий стовпець матриці розміру M × N мають порядковий
номер 1, кінцевий рядок - номер M, а кінцевий стовпець - номер N. Подібний підхід не
залежить від вибору мови програмування та відповідає традиційній математичній
номенклатурі елементів векторів та матриць.
3
Введення та виведення даних, оператор присвоєння

Усі вхідні та вихідні дані у завданнях цієї глави є дійсними числами.

Begin 1°. Дана сторона квадрата a. Знайти його периметр P = 4 · a


Begin 2°. Дана сторона квадрата a . Знайти його площу S = a 2 .
Begin 3°. Дано сторони прямокутника a і b. Знайти його площу S = a · b та периметр
P = 2 · ( a + b) .
Begin 4°. Даний діаметр кола d. Знайти її довжину L = π · d. Як значення
π використовувати 3.14.
Begin 5°. Дана довжина ребра куба a. Знайти об'єм куба V = a 3 та площа його поверхні
S = 6 · a2 .
Begin 6°. Дані довжини ребер a, b, c прямокутного паралелепіпеда. Знайти його об'єм
V = a · b · c та площу поверхні S = 2 · (a · b + b · c + a · c).
Begin 7°. Знайти довжину кола L та площу круга S заданого радіуса R :
L = 2 · π · R, S = π · R 2 .
Як значення π використовувати 3.14.
a + b
Begin 8°. Дано два числа a і b. Знайти їх середнє арифметичне : .
2
Begin 9°. Дано два невід'ємні числа a і b. Знайти їх середнє геометричне, тобто квадратний
корінь їхнього добутку a · b.
Begin 10°. Дано два ненульові числа. Знайти суму, різницю, добуток і частку їх квадратів.
Begin 11°. Дано два ненульові числа. Знайти суму, різницю, добуток та частку їх модулів.
Begin 12°. Дано катети прямокутного трикутника a і b. Знайти його гіпотенузу c і периметр
P:

c= a 2 + b 2 , P = a + b + c.
Begin13°. Дано два круга із загальним центром і радіусами R 1 і R 2 (R 1 > R 2 ). Знайти площі
цих кругів S 1 і S 2 , а також площу S 3 кільця, зовнішній радіус якого дорівнює R 1 а
внутрішній радіус дорівнює R 2 :
S 1 = π · (R 1 ) 2 , S 2 = π · (R 2 ) 2 , S 3 = S 1 − S 2
Як значення π використовувати 3.14.
Begin 14°. Дана довжина L кола. Знайти її радіус R та площу S круга, обмеженого цим
колом, враховуючи, що
L = 2 · π · R , S = π · R2
Як значення π використовувати 3.14.
Begin 15°. Дана площа S круга. Знайти його діаметр D та довжину L кола, що обмежує цей
круг, враховуючи, що L = 2 · π · R, S = π · R 2 . Як значення π використовувати 3.14.
Begin 16°. Знайти відстань між двома точками із заданими координатами x 1 і x 2 на
числовій осі: |x 2 − x 1 |
Begin 17°. Дано три точки A, B, C на числовій осі. Знайти довжини відрізків AC та BC та
4
їхню суму.
Begin 18°. Дано три точки A, B, C на числовій осі. Точка C розташована між точками A та
B . Знайти добуток довжин відрізків AC та BC.
Begin 19°. Дано координати двох протилежних вершин прямокутника: (x 1 ; y 1 ), (x 2 ; y 2 ).
Сторони прямокутника паралельні до осей координат. Знайти периметр та площу даного
прямокутника.
Begin 20°. Знайти відстань між двома точками із заданими координатами
(x1 ; y1 ) та (x2 ; y2 ) на площині. Відстань обчислюється за формулою
(x 2 − x 1 ) 2 + (y 2 − y 1 ) 2
Begin 21°. Дано координати трьох вершин трикутника: (x 1 ; y 1 ), (x 2 ; y 2 ), (x 3 ; y 3 ). Знайти
його периметр і площу, використовуючи формулу відстані між двома точками на площині
(див. завдання Begin 20). Для знаходження площі трикутника зі сторонами
a , b , c використовувати формулу Герона :
S = p · ( p − a) · ( p − b ) · ( p − c ) ,
де p = (a + b + c) / 2 - напівпериметр.
Begin 22°. Поміняти місцями значення змінних A та B та вивести нові значення
A та B.
Begin 23°. Дано змінні A, B, C. Змінити їх значення, перемістивши вміст
A в B , B - в C , C — в A і вивести нові значення змінних A, B, C.
Begin 24°. Дано змінні A, B, C. Змінити їх значення, перемістивши вміст
A в C , C - в B , B — в A і вивести нові значення змінних A, B, C.
Begin 25°. Знайти значення функції y = 3x 6 − 6x 2 − 7 за даного значення x.
Begin 26°. Знайти значення функції y = 4 · (x − 3) 6 − 7 · (x − 3) 3 + 2 за даного
значення x.
Begin 27°. Дано число A. Обчислити A 8 використовуючи допоміжну змінну і три операції
множення. Для цього послідовно знаходити A 2 , A 4 , A 8 . Вивести всі знайдені ступені числа
A.
Begin 28°. Дано число A. Обчислити A 15 , використовуючи дві допоміжні змінні та п'ять
операцій множення. Для цього послідовно знаходити A 2 , A 3 , A 5 , A 10 , A 15 . Вивести всі
знайдені ступені числа A.
Begin 29°. Дано значення кута α у градусах (0 < α < 360). Визначити значення цього ж
кута в радіанах, враховуючи, що 180° = π радіанів. Як значення π використовувати 3.14.
Begin 30°. Дано значення кута α у радіанах (0 < α < 2 · π). Визначити значення цього ж
кута в градусах, враховуючи, що 180° = π радіанів. Як значення π використовувати 3.14.
Begin 31°. Дано значення температури T у градусах Фаренгейта. Визначити значення цієї ж
температури в градусах Цельсія. Температура за Цельсієм T C і температура за
Фаренгейтом T F пов'язані наступним співвідношенням :
TC = (TF − 32) · 5 / 9.
Begin 31°. Дано значення температури T у градусах Цельсія. Визначити значення цієї ж
температури в градусах Фаренгейта. Температура за Цельсієм T C і температура за
5
Фаренгейтом T F пов'язані наступним співвідношенням :
TC = (TF − 32) · 5 / 9.
Begin 33°. Відомо, що X кг цукерок коштує A карбованців. Визначити, скільки коштує 1 кг
та Y кг цих же цукерок.
Begin 34°. Відомо, що X кг шоколадних цукерок коштує A карбованців, а Y кг ірисок коштує
B карбованців. Визначити, скільки коштує 1 кг шоколадних цукерок, 1 кг ірисок, а також у
скільки разів шоколадні цукерки дорожчі за іриски.
Begin 35°. Швидкість човна у стоячій воді V км/год, швидкість течії річки U км/год (U < V).
Час руху човна озером T 1 год, а річкою (проти течії) — T 2 год. Визначити шлях S,
пройдений човном (шлях = час · швидкість). Врахувати, що при русі проти течії швидкість
човна зменшується на величину швидкості течії.
Begin 36°. Швидкість першого автомобіля V 1 км/год, другого - V 2 км/год, відстань між ними
S км. Визначити відстань між ними через T годин, якщо автомобілі віддаляються один від
одного. Ця відстань дорівнює модулю різниці початкової відстані й загального шляху,
пройденого автомобілями; загальний шлях = час · сумарна швидкість.
Begin 37°. Швидкість першого автомобіля V 1 км/год, другого - V 2 км/год, відстань між ними
S км. Визначити відстань між ними через T годин, якщо автомобілі рухаються один
назустріч одному. Ця відстань дорівнює модулю різниці початкової відстані й загального
шляху, пройденого автомобілями; загальний шлях = час · сумарна швидкість.
Begin 38°. Розв'язати лінійне рівняння A · x + B = 0, задане коефіцієнтами A та B
(Коефіцієнт A не дорівнює 0).
Begin 39°. Знайти корені квадратного рівняння A · x 2 + B · x + C = 0, заданого
коефіцієнтами A, B, C (Коефіцієнт A не дорівнює 0), якщо відомо, що дискримінант
рівняння додатний. Вивести спочатку менший, а потім більший зі знайдених коренів. Корені
квадратного рівняння знаходяться за формулою

x1, 2 = −B ± D / (2 · A),
де D - дискримінант, рівний B 2 − 4 · A · C.
Begin 40°. Знайти розв'язок системи лінійних рівнянь виду
A1 · x + B1 · y = C1 ,
A2 · x + B2 · y = C2 ,
із заданими коефіцієнтами A 1 , B 1 , C 1 , A 2 , B 2 , C 2 якщо відомо, що дана система має
єдиний розв'язок. Скористатися формулами
x = (C 1 · B 2 − C 2 · B 1 ) / D, y = (A 1 · C 2 − A 2 · C 1 ) / D,
де D = A 1 · B2 − A 2 · B1
6
Цілі числа

Усі вхідні та вихідні дані у завданнях цієї глави є цілими числами. Усі числа, для яких
зазначено кількість цифр (двозначне число, тризначне число тощо), вважаються
додатними.

Integer 1°. Дана відстань L в сантиметрах. Використовуючи операцію ділення націло,


визначити кількість повних метрів у ньому (1 метр = 100 см).
Integer 2°. Дана маса M у кілограмах. Використовуючи операцію ділення націло, визначити
кількість повних тонн у ній (1 тонна = 1000 кг).
Integer 3°. Дано розмір файлу в байтах. Використовуючи операцію ділення націло, знайти
кількість повних кілобайтів, які займає даний файл. (1 кілобайт = 1024 байти).
Integer 4°. Дано цілі додатни числа A та B (A > B). На відрізку довжини A розміщено
максимально можливу кількість відрізків довжини B (Без накладань). Використовуючи
операцію ділення націло, визначити кількість відрізків B, розміщених на відрізку A.
Integer 5°. Дано цілі додатни числа A та B (A > B). На відрізку довжини A розміщено
максимально можливу кількість відрізків довжини B (Без накладань). Використовуючи
операцію взяття остачі від ділення націло, знайти довжину незайнятої частини відрізка A.
Integer 6°. Дано двозначне число. Вивести спочатку його ліву цифру (десятки), а потім його
праву цифру (одиниці). Для знаходження десятків використовувати операцію ділення
націло, для знаходження одиниць - операцію взяття остачі від ділення.
Integer 7°. Дано двозначне число. Знайти суму та добуток його цифр.
Integer 8°. Дано двозначне число. Вивести число, отримане перестановкою цифр даного
числа.
Integer 9°. Дано тризначне число. Використовуючи одну операцію ділення націло, вивести
першу цифру цього числа (сотні).
Integer 10°. Дано тризначне число. Вивести спочатку його останню цифру (одиниці), а потім
- його середню цифру (десятки).
Integer 11°. Дано тризначне число. Знайти суму та добуток його цифр.
Integer 12°. Дано тризначне число. Вивести число, отримане при прочитанні даного числа
справа наліво.
Integer 13°. Дано тризначне число. У ньому закреслили першу зліва цифру та приписали її
справа. Вивести отримане число.
Integer 14°. Дано тризначне число. У ньому закреслили першу справа цифру та приписали
її зліва. Вивести отримане число.
Integer 15°. Дано тризначне число. Вивести число, отримане при перестановці цифр
сотень та десятків даного числа (наприклад, 123 → 213).
Integer 16°. Дано тризначне число. Вивести число, отримане при перестановці цифр
десятків та одиниць даного числа (наприклад, 123 → 132).
Integer 17°. Дано ціле число, більше за 999. Використовуючи одну операцію ділення націло
та одну операцію взяття остачі від ділення, знайти цифру, що відповідає розряду сотень
цього числа.
Integer 18°. Дано ціле число, більше за 999. Використовуючи одну операцію ділення націло
та одну операцію взяття остачі від ділення, знайти цифру, що відповідає розряду тисяч
7
цього числа.
Integer 19°. З початку доби пройшло N секунд (N - ціле). Знайти кількість повних хвилин з
початку доби.
Integer 20°. З початку доби пройшло N секунд (N - ціле). Знайти кількість повних годин, що
пройшли з початку доби.
Integer 21°. З початку доби пройшло N секунд (N - ціле). Знайти кількість секунд, що
минули від початку останньої хвилини.
Integer 22°. З початку доби пройшло N секунд (N - ціле). Знайти кількість секунд, що
минули з початку останньої години.
Integer 23°. З початку доби пройшло N секунд (N - ціле). Знайти кількість повних хвилин,
що минули з початку останньої години.
Integer 24°. Дні тижня пронумеровані наступним чином: 0 – неділя, 1 – понеділок, 2 –
вівторок,..., 6 – субота. Дано ціле число K, що лежить у діапазоні 1-365. Визначити номер
дня тижня для K - го дня, якщо відомо, що цього року 1 січня було понеділком.
Integer 25°. Дні тижня пронумеровані наступним чином: 0 – неділя, 1 – понеділок, 2 –
вівторок,..., 6 – субота. Дано ціле число K, що лежить у діапазоні 1-365. Визначити номер
дня тижня для K - го дня, якщо відомо, що цього року 1 січня було четвергом.
Integer 26°. Дні тижня пронумеровані наступним чином: 1 - понеділок, 2 - вівторок,..., 6 -
субота, 7 - неділя. Дано ціле число K, що лежить у діапазоні 1-365. Визначити номер дня
тижня для K - го дня року, якщо відомо, що цього року 1 січня було вівторком.
Integer 27°. Дні тижня пронумеровані наступним чином: 1 - понеділок, 2 - вівторок,..., 6 -
субота, 7 - неділя. Дано ціле число K, що лежить у діапазоні 1-365. Визначити номер дня
тижня для K - го дня року, якщо відомо, що цього року 1 січня було суботою.
Integer 28°. Дні тижня пронумеровані наступним чином: 1 - понеділок, 2 - вівторок,..., 6 -
субота, 7 - неділя. Дано ціле число K, що лежить у діапазоні 1-365, і ціле число N, що
лежить у діапазоні 1-7. Визначити номер дня тижня для K - го дня, якщо відомо, що цього
року 1 січня було днем тижня з номером N.
Integer 29°. Дано цілі додатни числа A, B, C. На прямокутнику розміру A × B розміщено
максимально можливу кількість квадратів зі стороною C (Без накладань). Знайти кількість
квадратів, розміщених на прямокутнику, а також площу незайнятої частини прямокутника.
Integer 30°. Дано номер деякого року (ціле додатне число). Визначити відповідний номер
століття, враховуючи, що, наприклад, початком 20 століття був 1901 рік.
8
Логічні вирази

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

Boolean 1°. Дано ціле число A. Перевірити істинність висловлювання: «Число A є


позитивним».
Boolean 2°. Дано ціле число A. Перевірити істинність висловлювання: «Число A є
непарним».
Boolean 3°. Дано ціле число A. Перевірити істинність висловлювання: «Число A є парним».
Boolean 4°. Дано два цілих числа: A, B. Перевірити істинність висловлювання:
«Справедливі нерівності A > 2 та B ≤ 3».
Boolean 5°. Дано два цілих числа: A, B. Перевірити істинність висловлювання:
«Справедливі нерівності A ≥ 0 або B < −2».
Boolean 6°. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання:
«Справедлива подвійна нерівність A < B < C ».
Boolean 7°. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Число
B знаходиться між числами A та C».
Boolean 8°. Дано два цілих числа: A, B. Перевірити істинність висловлювання: «Кожне з
чисел A та B непарне».
Boolean 9°. Дано два цілих числа: A, B. Перевірити істинність висловлювання: «Хоча б
одне з чисел A та B непарне».
Boolean 10°. Дано два цілих числа: A, B. Перевірити істинність висловлювання: «Рівно
одне з чисел A та B непарне».
Boolean 11°. Дано два цілих числа: A, B. Перевірити істинність висловлювання: «Числа
A та B мають однакову парність».
Boolean 12°. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Кожне
з чисел A, B, C позитивне».
Boolean 13°. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Хоча
б одне з чисел A, B, C позитивне».
Boolean 14°. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Рівно
одне з чисел A, B, C позитивне».
Boolean 15°. Дано три цілих числа: A, B, C. Перевірити істинність висловлювання: «Рівно
два з чисел A, B, C є позитивними».
Boolean 16°. Дано ціле позитивне число. Перевірити істинність висловлювання: «Це число
є парним двозначним».
Boolean 17°. Дано ціле позитивне число. Перевірити істинність висловлювання: «Це число
є непарним тризначним».
Boolean 18°. Перевірити істинність висловлювання: «Серед трьох даних цілих чисел хоча б
одна пара збігається».
Boolean 19°. Перевірити істинність висловлювання: «Серед трьох даних цілих чисел є хоча
9
б одна пара взаємно протилежних».
Boolean 20°. Дано тризначне число. Перевірити істинність висловлювання: «Усі цифри
цього числа різні».
Boolean 21°. Дано тризначне число. Перевірити істинність висловлювання: «Цифри даного
числа утворюють зростаючу послідовність».
Boolean 22°. Дано тризначне число. Перевірити істинність висловлювання: «Цифри цього
числа утворюють зростаючу чи спадну послідовність».
Boolean 23°. Дано чотиризначне число. Перевірити істинність висловлювання: «Це число
читається однаково зліва направо і справа наліво».
Boolean 24°. Дано числа A, B, C (число A не дорівнює 0). Розглянувши дискримінант
D = B 2 − 4 · A · C, перевірити істинність висловлювання: «Квадратне рівняння
A · x 2 + B · x + C = 0 має дійсні корені.
Boolean 25°. Дано числа x, y. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить у другій координатній чверті».
Boolean 26°. Дано числа x, y. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить у четвертій координатній чверті».
Boolean 27°. Дано числа x, y. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить у другій чи третій координатній чверті».
Boolean 28°. Дано числа x, y. Перевірити істинність висловлювання: «Точка з
координатами (x, y) лежить у першій чи третій координатній чверті».
Boolean 29°. Дано числа x, y, x 1 , y 1 , x 2 , y 2 . Перевірити істинність висловлювання:
«Точка з координатами (x, y) лежить усередині прямокутника, ліва верхня вершина якого
має координати (x 1 , y 1 ), права нижня — (x 2 , y 2 ), а сторони паралельні координатним
осям».
Boolean 30°. Дано цілі числа a, b, c, що є сторонами деякого трикутника. Перевірити
істинність висловлювання: «Трикутник зі сторонами a, b, c є рівностороннім».
Boolean 31°. Дано цілі числа a, b, c, що є сторонами деякого трикутника. Перевірити
істинність висловлювання: «Трикутник зі сторонами a, b, c є рівнобедреним».
Boolean 32°. Дано цілі числа a, b, c, що є сторонами деякого трикутника. Перевірити
істинність висловлювання: «Трикутник зі сторонами a, b, c є прямокутним».
Boolean 33°. Дано цілі числа a, b, c. Перевірити істинність висловлювання: «Існує
трикутник зі сторонами a, b, c».
Boolean 34°. Дано координати поля шахової дошки x, y (цілі числа, що лежать у діапазоні
1–8). З огляду на те, що ліве нижнє поле дошки (1, 1) є чорним, перевірити істинність
висловлювання: «Дане поле є білим».
Boolean 35°. Дано координати двох різних полів шахової дошки x 1 , y 1 , x 2 , y 2 (цілі числа,
що лежать у діапазоні 1–8). Перевірити істинність висловлювання: «Дані поля мають
однаковий колір».
Boolean 36°. Дано координати двох різних полів шахової дошки x 1 , y 1 , x 2 , y 2 (цілі числа,
що лежать у діапазоні 1–8). Перевірити істинність висловлювання: «Тура за один хід може
перейти з одного поля на інше».
Boolean 37°. Дано координати двох різних полів шахової дошки x 1 , y 1 , x 2 , y 2 (цілі числа,
що лежать у діапазоні 1–8). Перевірити істинність висловлювання: «Король за один хід
10
може перейти з першого поля на друге».
Boolean 38°. Дано координати двох різних полів шахової дошки x 1 , y 1 , x 2 , y 2 (цілі числа,
що лежать у діапазоні 1–8). Перевірити істинність висловлювання: «Слон за один хід може
перейти з першого поля на друге».
Boolean 39°. Дано координати двох різних полів шахової дошки x 1 , y 1 , x 2 , y 2 (цілі числа,
що лежать у діапазоні 1–8). Перевірити істинність висловлювання: «Ферзь за один хід
може перейти з першого поля на друге».
Boolean 40◦. Дано координати двох різних полів шахової дошки x 1 , y 1 , x 2 , y 2 (цілі числа,
що лежать у діапазоні 1–8). Перевірити істинність висловлювання: «Кінь за один хід може
перейти з першого поля на друге».

Умовний оператор

If 1. Дано ціле число. Якщо воно є позитивним, додати до нього 1; інакше не змінювати
його. Вивести отримане число.
If 2. Дано ціле число. Якщо воно є позитивним, додати до нього 1; інакше відняти від нього
2. Вивести отримане число.
If 3. Дано ціле число. Якщо воно є позитивним, додати до нього 1; якщо негативним, то
відняти від нього 2; якщо нульовим, то замінити його на 10. Вивести отримане число.
If 4°. Дано три цілих числа. Знайти кількість позитивних чисел у даному наборі.
If 5. Дано три цілих числа. Знайти кількість позитивних та кількість негативних чисел у
даному наборі.
If 6°. Дано два числа. Вивести більше з них.
If 7. Дано два числа. Вивести порядковий номер меншого з них.
If 8°. Дано два числа. Вивести спочатку більше, а потім менше з них.
If 9. Дано дві змінні дійсного типу: A, B. Перерозподілити значення даних змінних так, щоб
в A опинилось менше значення, а B - більше. Вивести нові значення змінних A та B.
If 10. Дано дві змінні цілого типу: A та B. Якщо їх значення не рівні, то присвоїти кожній
змінній суму цих значень, а якщо рівні, то присвоїти змінним нульові значення. Вивести
нові значення змінних A та B.
If 11. Дано дві змінні цілого типу: A та B. Якщо їх значення не рівні, то присвоїти кожній
змінній більше з цих значень, а якщо рівні, то присвоїти змінним нульові значення. Вивести
нові значення змінних A та B.
If 12°. Дано три числа. Знайти найменше з них.
If 13. Дано три числа. Знайти середнє з них (тобто число, розташоване між найменшим та
найбільшим).
If 14. Дано три числа. Вивести спочатку найменше, а потім найбільше з цих чисел.
If 15. Дано три числа. Знайти суму двох найбільших із них.
If 16. Дано три змінні дійсного типу: A, B, C. Якщо їх значення упорядковано за
зростанням, то подвоїти їх; в іншому випадку замінити значення кожної змінної на
протилежне. Вивести нові значення змінних A, B, C.
If 17. Дано три змінні дійсного типу: A, B, C. Якщо їх значення впорядковано за
зростанням або спаданням, то подвоїти їх; в іншому випадку замінити значення кожної
11
змінної на протилежне. Вивести нові значення змінних A, B, C.
If 18. Дано три цілих числа, одне з яких відмінне від двох інших, рівних між собою.
Визначити порядковий номер числа, відмінного від інших.
If 19. Дано чотири цілих числа, одне з яких відмінне від трьох інших, рівних між собою.
Визначити порядковий номер числа, відмінного від інших.
If 20. На числовій осі розташовані три точки: A, B, C. Визначити, яка з двох точок
(B або C) розташована ближче до A, і вивести цю точку та її відстань до точки A.
If 21. Дано цілочисельні координати точки на площині. Якщо точка збігається з початком
координат, вивести 0. Якщо точка не збігається з початком координат, але лежить на осі
OX або OY, то вивести відповідно 1 або 2. Якщо точка не лежить на координатних осях,
то вивести 3.
If 22°. Дано координати точки, що не лежить на координатних осях OX та OY. Визначити
номер координатної чверті, де знаходиться дана точка.
If 23. Дано цілочисельні координати трьох вершин прямокутника, сторони якого паралельні
координатним осям. Знайти координати його четвертої вершини.
If 24. Для даного дійсного x знайти значення наступної функції f, що набуває значення
дійсного типу:

f ( x) =
2 · sin(x), якщо x > 0,
6 − x, якщо x ≤ 0.
If 25. Для даного цілого x знайти значення наступної функції f, що набуває значення цілого
типу:

f ( x) =
2 · x, якщо x < − 2 або x > 2,
−3 · x, інакше.
If 26°. Для даного дійсного x знайти значення наступної функції f, що набуває значення
дійсного типу:
− x, якщо x ≤ 0,
f ( x) = x 2 , якщо 0 < x < 2,
4, якщо x ≥ 2.
If 27. Для даного дійсного x знайти значення наступної функції f, що набуває значення
цілого типу:
0, якщо x < 0,
f ( x) = 1, якщо x належить [0, 1), [2, 3),...,
-1, якщо x належить [1, 2), [3, 4),....
If 28. Дано номер року (позитивне ціле число). Визначити кількість днів цього року з огляду
на те, що звичайний рік складається з 365 днів, а високосний — 366 днів. Високосним
вважається рік, що ділиться на 4, за винятком тих років, які діляться на 100 і не діляться на
400 (наприклад, роки 300, 1300 і 1900 є високосними, а 1200 і 2000 - є).
If 29. Дано ціле число. Вивести рядок-опис виду «негативне парне число», «нульове
число», «позитивне непарне число» тощо.
If 30. Дано ціле число, що лежить у діапазоні 1-999. Вивести рядок-опис виду «парне
двозначне число», «непарне тризначне число» тощо
12
Оператор вибору

Case 1. Дано ціле число у діапазоні 1–7. Вивести рядок - назву дня тижня, що відповідає
даному числу (1 - "понеділок", 2 - "вівторок" і т. д.).
Case 2. Дано ціле число K. Вивести рядок-опис оцінки, що відповідає числу K (1 - "погано",
2 - "незадовільно", 3 - "задовільно", 4 - "добре", 5 - "відмінно"). Якщо K не лежить у
діапазоні 1–5, то вивести рядок «помилка».
Case 3. Даний номер місяця - ціле число в діапазоні 1-12 (1 - січень, 2 - лютий і т. д.).
Вивести назву відповідної пори року («зима», «весна», «літо», «осінь»).
Case 4°. Даний номер місяця - ціле число в діапазоні 1-12 (1 - січень, 2 - лютий і т. д.).
Визначити кількість днів цього місяця для невисокосного року.
Case 5. Арифметичні дії над числами пронумеровані таким чином: 1 - додавання, 2 -
віднімання, 3 - множення, 4 - ділення. Дано номер дії N (ціле число в діапазоні 1–4) та
дійсні числа A та B (B не дорівнює 0). Виконати над числами вказану дію та вивести
результат.
Case 6. Одиниці вимірювання довжини пронумеровані так: 1 — дециметр, 2 — кілометр, 3
— метр, 4 — міліметр, 5 — сантиметр. Дано номер одиниці вимірювання довжини (ціле
число в діапазоні 1–5) та довжина відрізка в цих одиницях (дійсне число). Знайти довжину
відрізка в метрах.
Case 7. Одиниці вимірювання маси пронумеровані так: 1 — кілограм, 2 — міліграм, 3 —
грам, 4 — тонна, 5 — центнер. Дано номер одиниці вимірювання маси (ціле число в
діапазоні 1-5) і маса тіла в цих одиницях (дійсне число). Знайти масу тіла в кілограмах.
Case 8. Дано два цілих числа: D (день) та M (місяць), що визначають правильну дату
невисокосного року. Вивести значення D та M для дати, попередньої до даної.
Case 9°. Дано два цілих числа: D (день) та M (місяць), що визначають правильну дату
невисокосного року. Вивести значення D та M для дати, наступної після даної.
Case 10. Робот може переміщатися в чотирьох напрямках («Н» — північ, «З» — захід, «Д»
— південь, «С» — схід) та приймати три цифрові команди: 0 — продовжувати рух, 1 —
поворот ліворуч, −1 — поворот праворуч. Дано символ C - початковий напрямок робота і
ціле число N - Надіслана йому команда. Вивести напрямок робота після виконання
отриманої команди.
Case 11. Локатор орієнтований на одну зі сторін світу («Н» — північ, «З» — захід, «Д» —
південь, «С» — схід) і може приймати три цифрові команди повороту: 1 — поворот ліворуч,
−1 — поворот праворуч, 2 - поворот на 180°. Даний символ C - початкова орієнтація
локатора і цілі числа N 1 і N 2 - дві послані команди. Вивести орієнтацію локатора після
виконання цих команд.
Case 12. Параметри кола пронумеровані таким чином: 1 - радіус R, 2 - діаметр D = 2 · R, 3
- довжина L = 2 · π · R, 4 - площа круга S = π · R 2 . Дано номер одного з цих параметрів та
його значення. Вивести значення інших параметрів цього кола (у тому ж порядку). Як
значення π використовувати 3.14.
Case 13. Параметри рівнобедреного прямокутного трикутника пронумеровані наступним
чином: 1 - катет a, 2 - гіпотенуза c = a · 2, 3 - висота h, опущена на гіпотенузу (h = c / 2), 4
- площа S = c · h / 2. Дано номер одного з цих параметрів та його значення. Вивести
13
значення інших параметрів даного трикутника (у тому ж порядку).
Case 14. Параметри рівностороннього трикутника пронумеровані наступним чином: 1 —
сторона a, 2 — радіус R 1 вписаного кола (R 1 = a · 3 / 6), 3 - радіус R 2 описаного кола
(R2 = 2 · R1 ), 4 — площа S = a 2 · 3 / 4. Даний номер одного з цих параметрів та його
значення. Вивести значення інших параметрів даного трикутника (у тому ж порядку).
Case 15. Мастям гральних карт присвоєно порядкові номери: 1 - піки, 2 - трефи, 3 - бубни,
4 - черви. Значенням карт, старших за десятки, присвоєно номери: 11 — валет, 12 — дама,
13 — король, 14 — туз. Дано два цілих числа: N - значення (6 ≤ N ≤ 14) та M - масть
карти (1 ≤ M ≤ 4). Вивести назву відповідної карти виду «шістка бубон», «дама черв»,
«туз треф» тощо.
Case 16. Дано ціле число в діапазоні 20-69, що визначає вік (у роках).
Вивести рядок-опис зазначеного віку, забезпечивши правильне узгодження числівника зі
словом «рік», наприклад: 20 – «двадцять років», 32 – «тридцять два роки», 41 – «сорок
один рік».
Case 17. Дано ціле число в діапазоні 10-40, що визначає кількість навчальних завдань з
певної теми. Вивести рядок-опис зазначеної кількості завдань, забезпечивши правильне
узгодження числівника зі словами «навчальне завдання», наприклад: 18 – «вісімнадцять
навчальних завдань», 23 - "двадцять три навчальні завдання", 31 - "тридцять одне
навчальне завдання".
Case 18. Дано ціле число в діапазоні 100-999. Вивести рядок-опис даного числа,
наприклад: 256 - "двісті п'ятдесят шість", 814 - "вісімсот чотирнадцять".
Case 19. У східному календарі прийнято 60-річний цикл, що складається з 12-річних
підциклів, що позначаються назвами кольору: зелений, червоний, жовтий, білий і чорний. У
кожному підциклі роки носять назви тварин: щура, корови, тигра, зайця, дракона, змії, коня,
вівці, мавпи, курки, собаки та свині. За номером року визначити його назву, якщо 1984 -
початок циклу: "рік зеленого щура".
Case 20. Дано два цілих числа: D (день) та M (місяць), що визначають правильну дату.
Вивести знак Зодіаку, який відповідає цій даті: "Козеріг": (22.12-20.01), "Водолій": (21.01-
18.02), "Риби": (19.02-20.03), "Овен": (21.03-20.04), "Тілець": (21.04-21.05), "Близнюки":
(22.05-21.06), "Рак": (22.06-22.07), "Лев": (23.07-23.08), "Діва": (24.08-23.09), "Терези":
(24.09-23.10), "Скорпіон": (24.10-22.11), "Стрілець": (23.11-21.12).

Цикл з параметром

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

For 1. Дано цілі числа K та N (N > 0). Вивести N разів число K.


For 2. Дано два цілих числа A та B (A < B). Вивести в порядку зростання всі цілі числа,
розташовані між A та B (включаючи самі числа A і B), а також кількість N цих чисел.
For 3. Дано два цілих числа A та B (A < B). Вивести в порядку зменшення всі цілі числа,
розташовані між A та B (не включаючи числа A і B), а також кількість N цих чисел.
For 4. Дано дійсне число - ціна 1 кг цукерок. Вивести вартість 1, 2, ..., 10 кг цукерок.
For 5°. Дано дійсне число - ціна 1 кг цукерок. Вивести вартість 0.1, 0.2, ..., 1 кг цукерок.
For 6. Дано дійсне число - ціна 1 кг цукерок. Вивести вартість 1.2, 1.4, ..., 2 кг цукерок.
14
For 7. Дано два цілих числа A та B (A < B). Знайти суму всіх цілих чисел від A до B
включно.
For 8. Дано два цілих числа A та B (A < B). Знайти добуток усіх цілих чисел від A до B
включно.
For 9. Дано два цілих числа A та B (A < B). Знайти суму квадратів усіх цілих чисел від
A до B включно.
For 10. Дано ціле число N ( > 0). Знайти суму
1 + 1 / 2 + 1 / 3 + ... + 1 / N
(дійсне число).
For 11. Дано ціле число N ( > 0). Знайти суму
N 2 + (N + 1) 2 + (N + 2) 2 + ... + (2 · N) 2
(ціле число).
For 12°. Дано ціле число N ( > 0). Знайти добуток 1.1 · 1.2 · 1.3 · ... (N співмножників).
For 13°. Дано ціле число N ( > 0). Знайти значення виразу 1.1 − 1.2 + 1.3 − ... (N
доданків, знаки чергуються). Умовний оператор не використовувати.
For 14. Дано ціле число N ( > 0). Знайти квадрат даного числа, використовуючи для його
обчислення таку формулу:
N 2 = 1 + 3 + 5 + ... + (2 · N − 1).
Після додавання до суми кожного доданка виводити поточне значення суми (в результаті
будуть виведені квадрати всіх цілих чисел від 1 до N).
For 15°. Дано дійсне число A і ціле число N ( > 0). Знайти A у ступені N:
A N = A · A · ... · A (число A перемножується N разів).
For16°. Дано дійсне число A і ціле число N ( > 0). Використовуючи один цикл, вивести всі
цілі ступені числа A від 1 до N.
For 17. Дано дійсне число A і ціле число N ( > 0). Використовуючи один цикл, знайти суму
1 + A + A 2 + A 3 + ... + A N
For 18. Дано дійсне число A і ціле число N ( > 0). Використовуючи один цикл, знайти
значення виразу
1 − A + A 2 − A 3 + ... + (− 1) N · A N
Умовний оператор не використовувати.
For 19°. Дано ціле число N ( > 0). Знайти добуток
N! = 1 · 2 · ... · N
(N-факторіал). Щоб уникнути цілочисельного переповнення, обчислювати цей
добуток за допомогою дійсної змінної та вивести його як дійсне число.
For 20°. Дано ціле число N ( > 0). Використовуючи один цикл, знайти
суму
1! + 2! + 3! + ... + N!
(Вираз N! — N-Факторіал — добуток всіх цілих чисел від 1 до N: N! = 1 · 2 · ... · N).
Щоб уникнути цілочисельного переповнення, проводити обчислення за допомогою змінних
дійсного типу і вивести результат як дійсне число.
15
For 21. Дано ціле число N ( > 0). Використовуючи один цикл, знайти суму
1 + 1 / (1!) + 1 / (2!) + 1 / (3!) + ... + 1 / (N !)
(Вираз N! — N-Факторіал — позначає добуток всіх цілих чисел від 1 до N:
N! = 1 · 2 · ... · N). Отримане число є наближеним до значення константи e = exp(1).
For 22. Дано дійсне число X і ціле число N ( > 0). Знайти значення виразу
1 + X + X 2 / (2!) + ... + X N / (N!)
(N! = 1 · 2 · ... · N). Отримане число є наближеним значенням функції exp у точці X.
For 23. Дано дійсне число X і ціле число N ( > 0). Знайти значення виразу
X3 X5 (− 1) N · X 2·N+1
X − + − ... +
3! 5! ( 2 · N + 1) !
(N! = 1 · 2 · ... · N). Отримане число є наближеним значенням функції sin у точці X.
For 24. Дано дійсне число X і ціле число N ( > 0). Знайти значення виразу
X2 X4 (− 1) N · X 2· N
1 − + − ... +
2! 4! (2 · N)!
(N! = 1 · 2 · ... · N). Отримане число є наближеним значенням функції cos у точці X.
For 25. Дано дійсне число X (|X| < 1) і ціле число N ( > 0). Знайти значення виразу
X2 X3 (− 1) N−1 · X N
X − + − ... +
2 3 N
Отримане число є наближеним значенням функції ln у точці 1 + X.
For 26. Дано дійсне число X (|X| < 1) і ціле число N ( > 0). Знайти значення виразу
X3 X5 (-1) N · X 2·N+1
X - + - ... +
3 5 2·N+1
Отримане число є наближеним значенням функції arctg у точці X.
For 27. Дано дійсне число X (|X| < 1) і ціле число N ( > 0). Знайти значення виразу
1 · X3 1 · 3 · X5 1 · 3 · ... · (2 · N − 1) · X 2·N+1
X+ + + ... +
2·3 2·4·5 2 · 4 · ... · (2 · N) · (2 · N + 1)
Отримане число є наближеним значенням функції arcsin у точці X.
For 28. Дано дійсне число X (|X| < 1) і ціле число N ( > 0). Знайти значення виразу
X 1 · X2 1 · 3 · X3 (− 1) N−1 · 1 · 3 · ... · (2 · N − 3) · X N
1 + − + − ... +
2 2·4 2·4·6 2 · 4 · ... · (2 · N)
Отримане число є наближеним до значення функції 1 + X.
For 29. Дано ціле число N ( > 1) і дві дійсні точки на числовій осі: A, B (A < B). Відрізок
[A, B] розбитий на N рівних відрізків. Вивести H - Довжину кожного відрізка, а також набір
точок
A, A + H, A + 2 · H, A + 3 · H, ... , B,
що утворюють розбиття відрізка [A, B].
For30. Дано ціле число N ( > 1) і дві дійсні точки на числовій осі: A, B (A < B). Відрізок
[A, B] розбитий на N рівних відрізків. Вивести H - Довжину кожного відрізка, а також
16
значення функції F (X) = 1 − sin (X) в точках, що розбивають відрізок [A, B]:
F(A), F(A + H), F(A + 2 · H), ... , F(B).
For 31. Дано ціле число N ( > 0). Послідовність дійсних чисел A K визначається
так:
A 0 = 2, AK = 2 + 1 / A K-1 , K = 1, 2, ...
Вивести елементи A 1 , A 2 , ..., A N .
For 32. Дано ціле число N ( > 0). Послідовність дійсних чисел A K визначається так:
A 0 = 1, AK = (A K-1 + 1) / K, K = 1, 2, ...
Вивести елементи A 1 , A 2 , ..., A N .
For 33°. Дано ціле число N ( > 1). Послідовність чисел Фібоначчі F K (Цілого типу)
визначається наступним чином:
F1 = 1, F2 = 1, FK = FK-2 + FK −1 , K = 3, 4, ...
Вивести елементи F 1 , F 2 , ..., F N .
For 34. Дано ціле число N ( > 1). Послідовність дійсних чисел A K визначається так:
A 1 = 1, A2 = 2, AK = (A K-2 + 2 · A K-1 ) / 3, K = 3, 4, ...
Вивести елементи A 1 , A 2 , ..., A N .
For 35. Дано ціле число N ( > 2). Послідовність цілих чисел A K визначається так:
A 1 = 1, A2 = 2, A3 = 3, AK = A K−1 + A K−2 − 2 · A K−3 , K = 4, 5,....
Вивести елементи A 1 , A 2 , ..., A N .

Вкладені цикли

For 36°. Дано цілі позитивні числа N та K. Знайти суму 1 K + 2 K + ... + N K .


Щоб уникнути цілочисельного переповнення, обчислювати доданки цієї суми за допомогою
дійсної змінної та виводити результат як дійсне число.
For 37. Дано ціле число N ( > 0). Знайти суму 1 1 + 2 2 + ... + N N .
Щоб уникнути цілочисельного переповнення, обчислювати доданки цієї суми за допомогою
дійсної змінної та виводити результат як дійсне число.
For 38. Дано ціле число N ( > 0). Знайти суму 1 N + 2 N−1 + ... + N 1 .
Щоб уникнути цілочисельного переповнення, обчислювати доданки цієї суми за допомогою
дійсної змінної та виводити результат як дійсне число.
For 39. Дано цілі позитивні числа A та B (A < B). Вивести всі цілі числа від A до B
включно; при цьому кожне число повинно виводитися кількість разів, яка дорівнює його
значенню (наприклад, число 3 виводиться тричі).
For 40. Дано цілі числа A та B (A < B). Вивести всі цілі числа від A до B включно; при
цьому число A має виводитись 1 раз, число A + 1 має виводитись 2 рази тощо.
17
Цикл з умовою

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

While 1°. Дано позитивні числа A та B (A > B). На відрізку довжини A розміщено
максимально можливу кількість відрізків довжини B (Без накладань). Не використовуючи
операції множення та ділення, знайти довжину незайнятої частини відрізка A.
While 2°. Дано позитивні числа A та B (A > B). На відрізку довжини A розміщено
максимально можливу кількість відрізків довжини B (Без накладань). Не використовуючи
операції множення та ділення, знайти кількість відрізків B, розміщених на відрізку A.
While 3. Дано цілі позитивні числа N та K. Використовуючи тільки операції додавання та
віднімання, знайти частку від ділення націло N на K, а також залишок від цього ділення.
While 4°. Дано ціле число N ( > 0). Якщо воно є ступенем числа 3, то вивести TRUE, якщо
не є вивести FALSE.
While 5. Дано ціле число N ( > 0), що є деяким ступенем числа 2: N = 2 K . Знайти ціле
число K - показник цього ступеня.
While 6. Дано ціле число N ( > 0). Знайти подвійний факторіал N :
N!! = N · (N − 2) · (N − 4) · ...
(останній співмножник дорівнює 2, якщо N - парне, і 1, якщо N - Непарне). Щоб уникнути
цілочисельного переповнення, обчислювати цей добуток за допомогою дійсної змінної та
вивести його як дійсне число.
While 7°. Дано ціле число N ( > 0). Знайти найменше ціле позитивне число K, квадрат
якого перевищує N : K 2 > N. Функцію взяття квадратного кореня не використовувати.
While 8. Дано ціле число N ( > 0). Знайти найбільше ціле число K, квадрат якого
вміщається в N : K 2 ≤ N. Функцію взяття квадратного кореня не використовувати.
While 9. Дано ціле число N ( > 1). Знайти найменше ціле число K, за якого виконується
нерівність 3 K > N.
While 10. Дано ціле число N ( > 1). Знайти найбільше ціле число K, за якого виконується
нерівність 3 K < N.
While 11°. Дано ціле число N ( > 1). Вивести найменше з цілих чисел K, для якого сума
1 + 2 + ... + K буде більше або дорівнює N і саму цю суму.
While 12°. Дано ціле число N ( > 1). Вивести найбільше з цілих чисел K, для якого сума
1 + 2 + ... + K буде менше або дорівнює N і саму цю суму.
While 13. Дано число A ( > 1). Вивести найменше з цілих чисел K, для якого сума
1 + 1 / 2 + ... + 1 / K буде більше A і саму цю суму.
While 14. Дано число A ( > 1). Вивести найбільше з цілих чисел K, для якого сума
1 + 1 / 2 + ... +1 / K буде менше A і саму цю суму.
While 15. Початковий внесок у банку дорівнює 1000 грн. Через кожен місяць розмір вкладу
збільшується на P відсотків від наявної суми (P - дійсне число, 0 < P < 25). За цим P
визначити, через скільки місяців розмір вкладу перевищить 1100 грн. і вивести знайдену
кількість місяців K (ціле число) та кінцевий розмір вкладу S (дійсне число).
While 16. Спортсмен-лижник розпочав тренування, пробігши першого дня 10 км. Щодня він
18
збільшував довжину пробігу на P відсотків від пробігу попереднього дня
(P - дійсне, 0 < P < 50). За цим P визначити, після якого дня сумарний пробіг лижника
за всі дні перевищить 200 км, та вивести знайдену кількість днів (ціле) та сумарний пробіг
S (дійсне число).
While 17. Дано ціле число N ( > 0). Використовуючи операції ділення націло і взяття
остачі від ділення, вивести всі його цифри, починаючи з правої (розряду одиниць).
While 18. Дано ціле число N ( > 0). Використовуючи операції ділення націло та взяття
остачі від ділення, знайти кількість та суму його цифр.
While 19. Дано ціле число N ( > 0). Використовуючи операції ділення націло та взяття
остачі від ділення, знайти число, отримане при прочитанні числа N справа наліво.
While 20. Дано ціле число N ( > 0). За допомогою операцій ділення націло та взяття
остачі від ділення визначити, чи є в записі числа N цифра "2". Якщо є, то вивести TRUE,
якщо ні – вивести FALSE.
While 21. Дано ціле число N ( > 0). За допомогою операцій ділення націло та взяття
остачі від ділення визначити, чи є в записі числа N непарні цифри. Якщо є, то вивести
TRUE, якщо ні – вивести FALSE.
While 22°. Дано ціле число N ( > 1). Якщо воно є простим, тобто немає позитивних
дільників, крім 1 і самого себе, то вивести TRUE, інакше вивести FALSE.
While 23°. Дано цілі позитивні числа A та B. Знайти їх найбільший спільний дільник (НСД),
використовуючи алгоритм Евкліда:
НСД(A, B) = НСД(B, A mod B), якщо B ≠ 0;
НСД(A, 0) = A.
While 24. Дано ціле число N ( > 1). Послідовність чисел Фібоначчі F K визначається так:
F1 = 1, F2 = 1, FK = FK-2 + FK −1 , K = 3, 4, ...
Перевірити, чи число N числом Фібоначчі. Якщо є, то вивести TRUE, якщо ні – вивести
FALSE.
While 25. Дано ціле число N ( > 1). Знайти перше число Фібоначчі, більше N. (Визначення
чисел Фібоначчі дано в завданні While 24).
While 26. Дано ціле число N ( > 1), що є числом Фібоначчі: N = F K (Визначення чисел
Фібоначчі дано в завданні While 24). Знайти цілі числа F K−1 та F K+1 — попереднє та
наступне числа Фібоначчі.
While 27. Дано ціле число N ( > 1), що є числом Фібоначчі: N = F K (Визначення чисел
Фібоначчі дано в завданні While 24). Знайти ціле число K - Порядковий номер числа
Фібоначчі N.
While 28. Дано дійсне число ε ( > 0). Послідовність дійсних чисел A K визначається так:
A 1 = 2, AK = 2 + 1 / A K−1 , K = 2, 3,....
Знайти перший із номерів K, для якого виконується умова
|AK − AK−1 | < ε
і вивести цей номер, а також числа A K−1 і A K .
While 29. Дано дійсне число ε ( > 0). Послідовність дійсних чисел A K
визначається так:
19
A 1 = 1, A2 = 2, AK = (A K −2 + 2 · A K−1 ) / 3, K = 3, 4, ...
Знайти перший із номерів K, для якого виконується умова
|AK − AK−1 | < ε
і вивести цей номер, а також числа A K−1 і A K .
While 30. Дано позитивні числа A, B, C. На прямокутнику розміру A × B розміщено
максимально можливу кількість квадратів зі стороною C (Без накладань). Знайти кількість
квадратів, розміщених на прямокутнику. Операції множення та ділення не використовувати.

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

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


кількість елементів (зокрема, число N завжди більше за нуль). У завданнях на роботу з
кількома наборами чисел (Series 29 – Series 40) кількість наборів K також завжди є
ненульовою.

Series 1°. Дано десять дійсних чисел. Знайти їхню суму.


Series 2. Дано десять дійсних чисел. Знайти їхній добуток.
Series 3. Дано десять дійсних чисел. Знайти їхнє середнє арифметичне.
Series 4. Дано ціле число N та набір з N дійсних чисел. Вивести суму та добуток чисел з
даного набору.
Series 5. Дано ціле число N та набір з N позитивних дійсних чисел. Вивести у тому ж
порядку цілі частини всіх чисел з цього набору (як дійсні числа з нульової дробовою
частиною), і суму всіх цілих частин.
Series 6. Дано ціле число N та набір з N позитивних дійсних чисел. Вивести у тому ж
самому порядку дробові частини всіх чисел з цього набору (як дійсні числа з нульовою
цілою частиною), а також добуток всіх дробових частин.
Series 7. Дано ціле число N та набір з N дійсних чисел. Вивести в тому ж порядку
заокруглені значення всіх чисел з даного набору (як цілі числа), а також суму всіх
заокруглених значень.
Series 8. Дано ціле число N та набір з N цілих чисел. Вивести в тому ж порядку всі парні
числа з даного набору та кількість K таких чисел.
Series 9. Дано ціле число N та набір з N цілих чисел. Вивести в тому ж порядку номери
всіх непарних чисел з цього набору та кількість K таких чисел.
Series 10. Дано ціле число N та набір з N цілих чисел. Якщо в наборі є позитивні числа,
вивести TRUE; інакше вивести FALSE.
Series 11. Дано цілі числа K, N та набір з N цілих чисел. Якщо наборі є числа, менші K, то
вивести TRUE; інакше вивести FALSE.
Series 12. Дано набір ненульових цілих чисел; ознака його завершення – число 0. Вивести
кількість чисел у наборі.
Series 13. Дано набір ненульових цілих чисел; ознака його завершення – число 0. Вивести
суму всіх позитивних парних чисел із цього набору. Якщо необхідні числа в наборі відсутні,
20
вивести 0.
Series 14. Дано ціле число K та набір ненульових цілих чисел; ознака його завершення -
число 0. Вивести кількість чисел у наборі, менших за K.
Series 15°. Дано ціле число K та набір ненульових цілих чисел; ознака його завершення -
число 0. Вивести номер першого числа в наборі, більшого за K. Якщо таких чисел немає,
вивести 0.
Series 16°. Дано ціле число K та набір ненульових цілих чисел; ознака його завершення -
число 0. Вивести номер останнього числа в наборі, більшого за K. Якщо таких чисел
немає, вивести 0.
Series 17°. Дано дійсне число B, ціле число N та набір з N дійсних чисел, упорядкованих
за зростанням. Вивести елементи набору разом з числом B, зберігаючи впорядкованість
чисел.
Series 18. Дано ціле число N та набір з N цілих чисел, упорядкований за зростанням. Цей
набір може містити однакові елементи. Вивести у тому порядку всі неповторювані
елементи даного набору.
Series 19°. Дано ціле число N (> 1) і набір N цілих чисел. Вивести ті елементи в наборі, які
менші за свого лівого сусіда, і кількість K таких елементів.
Series 20. Дано ціле число N (> 1) і набір N цілих чисел. Вивести ті елементи в наборі, які
менші за свого правого сусіда, і кількість K таких елементів.
Series 21°. Дано ціле число N (> 1) і набір N дійсних чисел. Перевірити, чи утворює цей
набір зростаючу послідовність. Якщо утворює, то вивести TRUE, якщо ні – вивести FALSE.
Series 22. Дано ціле число N (> 1) і набір N дійсних чисел. Якщо даний набір утворює
спадну послідовність, то вивести 0; в іншому випадку вивести номер першого числа, що
порушує закономірність.
Series 23. Дано ціле число N (> 2) і набір N дійсних чисел. Набір називається зубчастим,
якщо кожен його внутрішній елемент або більше, або менше за обох своїх сусідів (тобто є
зубцем). Якщо даний набір є зубчастим, вивести 0; в іншому випадку вивести номер
першого елемента, що не є зубцем.
Series 24. Дано ціле число N та набір з N цілих чисел, що містить принаймні два нулі.
Вивести суму чисел з цього набору, розташованих між останніми двома нулями (якщо
останні нулі йдуть підряд, то вивести 0).
Series 25. Дано ціле число N та набір з N цілих чисел, що містить принаймні два нулі.
Вивести суму чисел з даного набору, розташованих між першим і останнім нулем (якщо
перший та останній нулі йдуть підряд, то вивести 0).

Вкладені цикли

Series 26. Дано цілі числа K, N та набір з N дійсних чисел: A 1 , A 2 , ..., A N . Вивести K-і
ступені чисел з даного набору:
A 1K , A2K , ..., AN
K

Series27. Дано ціле число N та набір з N дійсних чисел: A 1 , A 2 , ..., A N . Вивести наступні
числа :
21

(A1 ) 1 , (A2 ) 2 , ..., (AN-1 ) N-1 , (AN ) N


Series28. Дано ціле число N та набір з N дійсних чисел: A 1 , A 2 , ..., A N . Вивести наступні
числа :
(A1 ) N , (A2 ) N-1 , ..., (AN-1 ) 2 , (AN ) 1
Series29. Дано цілі числа K, N, а також K наборів цілих чисел по N елементів у кожному
наборі. Вивести загальну суму всіх елементів, що входять до даних наборів.
Series 30°. Дано цілі числа K, N, а також K наборів цілих чисел по N елементів у кожному
наборі. Для кожного набору вивести суму елементів.
Series 31. Дано цілі числа K, N, а також K наборів цілих чисел по N елементів у кожному
наборі. Знайти кількість наборів, що містять число 2. Якщо таких наборів немає, вивести 0.
Series 32. Дано цілі числа K, N, а також K наборів цілих чисел по N елементів у кожному
наборі. Для кожного набору вивести номер першого елемента, що дорівнює 2, або число 0,
якщо в цьому наборі немає двійок.
Series 33. Дано цілі числа K, N, а також K наборів цілих чисел по N елементів у кожному
наборі. Для кожного набору вивести номер його останнього елемента, що дорівнює 2, або
число 0, якщо в цьому наборі немає двійок.
Series 34. Дано цілі числа K, N, а також K наборів цілих чисел по N елементів у кожному
наборі. Для кожного набору виконати таку дію: якщо в наборі міститься число 2, вивести
суму його елементів; якщо в наборі немає двійок, вивести 0.
Series 35. Дано ціле число K, а також K наборів ненульових цілих чисел. Ознакою
завершення кожного набору є 0. Для кожного набору вивести кількість його елементів.
Вивести також загальну кількість елементів у всіх наборах.
Series 36. Дано ціле число K, а також K наборів ненульових цілих чисел. Кожен набір
містить щонайменше два елементи, ознакою його завершення є число 0. Знайти кількість
наборів, елементи яких зростають.
Series 37. Дано ціле число K, а також K наборів ненульових цілих чисел. Кожен набір
містить не менше двох елементів, ознакою його завершення є число 0. Знайти кількість
наборів, елементи яких зростають чи зменшуються.
Series 38. Дано ціле число K, а також K наборів ненульових цілих чисел. Кожен набір
містить щонайменше двох елементів, ознакою його завершення є число 0. До кожного
набору виконати таку дію: якщо елементи набору зростають, вивести 1; якщо елементи
набору спадають, вивести − 1; якщо елементи набору не зростають і не спадають, вивести
0.
Series 39. Дано ціле число K, а також K наборів ненульових цілих чисел. Кожен набір
містить не менше трьох елементів, ознакою його завершення є число 0. Знайти кількість
зубчастих наборів (визначення зубчастого набору дано в завданні Series 23).
Series 40. Дано ціле число K, а також K наборів ненульових цілих чисел. Кожен набір
містить не менше трьох елементів, ознакою його завершення є число 0. Для кожного
набору виконати таку дію: якщо набір є зубчастим (див. завдання Series 23), вивести
кількість його елементів; в іншому випадку вивести номер першого елемента, який не є
зубцем.
22
Функції з числовими параметрами

Proc16. Описати функцію Sign(X) цілого типу, що повертає для дійсного числа X наступні
значення :
−1, якщо X < 0;
Sign(X) = 0, якщо X = 0;
1, якщо X > 0.
За допомогою цієї функції знайти значення виразу Sign(A) + Sign(B) для даних дійсних
чисел A та B.
Proc17. Описати функцію RootsCount(A, B, C) цілого типу, що визначає кількість коренів
квадратного рівняння A · x 2 + B · x + C = 0 (A, B, C - дійсні параметри, A ≠ 0). З її
допомогою знайти кількість коренів для кожного із трьох квадратних рівнянь із даними
коефіцієнтами.
Кількість коренів визначатиме за значенням дискримінанта : D = B 2 − 4 · A · C.
Proc 18. Описати функцію CircleS(R) дійсного типу, що знаходить площу круга радіуса
R (R - дійсне). За допомогою цієї функції знайти площі трьох кругів із даними радіусами.
Площа круга радіуса R обчислюється за формулою S = π · R 2 . Як значення π
використовувати 3.14.
Proc19. Описати функцію RingS(R 1 , R 2 ) дійсного типу, що знаходить площу кільця,
обмеженого двома колами зі спільним центром та радіусами R 1 і R 2 (R 1 і R 2 - дійсні, R 1 >
R2 ). З її допомогою знайти площі трьох кілець, для яких дано зовнішні та внутрішні радіуси.
Скористатися формулою площі круга радіуса R : S = π · R 2 . Як значення π
використовувати 3.14.
Proc20. Описати функцію TriangleP(a, h), що знаходиться периметр рівнобедреного
трикутника по його основі a та висоті h, опущеної на основу (a і h - дійсні). За допомогою
цієї функції знайти периметри трьох трикутників, для яких дано основи та висоти. Для
знаходження бічної сторони b трикутника використовувати теорему Піфагора :
2
a
b2 = + h2.
2
Proc21°. Описати функцію SumRange(A, B) цілого типу, що знаходить суму всіх цілих
чисел від A до B включно (A і B - цілі). Якщо A > B, то функція повертає 0. За допомогою
цієї функції знайти суми чисел від A до B і від B до C, якщо дані числа A, B, C.
Proc22. Описати функцію Calc(A, B, Op) дійсного типу, що виконує над ненульовими
дійсними числами A і B одну з арифметичних операцій та повертає її результат. Вид
операції визначається цілим параметром Op : 1 - віднімання, 2 - множення, 3 - ділення,
інші значення - додавання. За допомогою Calc виконати для даних A і B операції, що
визначаються даними цілими N 1 , N 2 , N 3 .
Proc23. Описати функцію Quarter(x, y) цілого типу, що визначає номер координатною
чверті, у якій знаходиться точка з ненульовими дійсними координатами (x, y). За
допомогою цієї функції знайти номери координатних чвертей для трьох точок із даними
ненульовими координатами.
23
Proc24. Описати функцію Even(K) логічного типу, що повертає TRUE, якщо цілий параметр
K є парним, і FALSE у протилежному випадку. З її допомогою знайти кількість парних чисел
у наборі із 10 цілих чисел.
Proc25°. Описати функцію IsSquare(K) логічного типу, що повертає TRUE якщо цілий
параметр K ( > 0) є квадратом деякого цілого числа, та FALSE в іншому випадку. З її
допомогою знайти кількість квадратів у наборі із 10 цілих позитивних чисел.
Proc26. Описати функцію IsPower5(K) логічного типу, що повертає TRUE якщо цілий
параметр K ( > 0) є ступенем числа 5, і FALSE в іншому випадку. За її допомогою знайти
кількість ступенів числа 5 у наборі з 10 цілих позитивних чисел.
Proc27. Описати функцію IsPowerN(K, N) логічного типу, що повертає TRUE, якщо цілий
параметр K ( > 0) є ступенем числа N ( > 1), та FALSE в іншому випадку.
Дано число N ( > 1) та набір з 10 цілих позитивних чисел. За допомогою функції IsPowerN
знайти кількість ступенів числа N у цьому наборі.
Proc28. Описати функцію IsPrime(N) логічного типу, що повертає TRUE, якщо цілий
параметр N ( > 1) є простим числом, і FALSE у протилежному випадку (число, більше за
1, називається простим, якщо воно не має позитивних дільників, крім 1 і самого себе).
Даний набір із 10 цілих чисел, більших за 1. За допомогою функції IsPrime знайти кількість
простих чисел у цьому наборі.
Proc29. Описати функцію DigitCount(K) цілого типу, що знаходить кількість цифр цілого
позитивного числа K. Використовуючи цю функцію, знайти кількість цифр для кожного з
п'яти даних цілих позитивних чисел.
Proc30. Описати функцію DigitN(K, N) цілого типу, що повертає N-у цифру цілого
позитивного числа K (цифри в числі нумеруються справа наліво). Якщо кількість цифр у
числі K менше N, то функція повертає −1. Для кожного із п'яти даних цілих позитивних
чисел K 1 , K 2 , ..., K 5 викликати функцію DigitN з параметром N, що змінюється від 1 до 5.
Proc31. Описати функцію IsPalindrom(K), що повертає TRUE, якщо цілий параметр
K ( > 0) є паліндромом (тобто його запис читається однаково зліва направо і справа
наліво), і FALSE в іншому випадку. З її допомогою знайти кількість паліндромів у наборі з
10 цілих позитивних чисел. При описі функції можна використовувати функції DigitCount
та DigitN із завдань Proc29 та Proc30.
Proc32. Описати функцію DegToRad(D) дійсного типу, що знаходить величину кута в
радіанах, якщо дана його величина D у градусах (D - дійсне число 0 < D < 360).
Скористайтеся таким співвідношенням: 180° = π радіанів. Як значення π
використовувати 3.14. За допомогою функції DegToRad перевести із градусів у радіани
п'ять даних кутів.
Proc33. Описати функцію RadToDeg(R) дійсного типу, що знаходить величину кута в
градусах, якщо дана його величина R в радіанах (R - дійсне число, 0 < R < 2 · π).
Скористайтеся таким співвідношенням: 180° = π радіанів. Як значення π
використовувати 3.14. За допомогою функції RadToDeg перевести з радіанів у п'ять
градусів даних кутів.
Proc34. Описати функцію Fact(N) дійсного типу, що обчислює значення факторіала
N ! = 1 · 2 · ... · N, (N > 0 – параметр цілого типу)
(Значення, що повертається є дійсним для того, щоб уникнути цілочисельного
24
переповнення при великих значеннях N).
За допомогою цієї функції знайти факторіали п'яти даних цілих чисел.
Proc35. Описати функцію Fact2(N) дійсного типу, що обчислює подвійний факторіал:
N!! = 1 · 3 · 5 · ... · N, якщо N - непарне;
N!! = 2 · 4 · 6 · ... · N, якщо N - парне;
(N > 0 – параметр цілого типу)
(Значення, що повертається є дійсним для того, щоб уникнути цілочисельного
переповнення при великих значеннях N).
За допомогою цієї функції знайти подвійні факторіали п'яти даних цілих чисел.
Proc36. Описати функцію Fib(N) цілого типу, що обчислює N-й елемент послідовності
чисел Фібоначчі F K , яка описується наступними формулами :
F1 = 1, F2 = 1, FK = FK-2 + FK-1 , K = 3, 4, ...
Використовуючи функцію Fib, знайти п'ять чисел Фібоначчі з даними номерами
N1 , N 2 , ..., N 5 .

You might also like