Professional Documents
Culture Documents
Programming Task Book
Programming Task Book
Programming Taskbook
Електронний задачник з програмування
2
Загальний опис
Задачник містить наступні глави завдань (у дужках вказано кількість завдань для
кожної глави):
• Begin - введення і виведення даних, оператор присвоєння (40)
• Integer - цілі числа (30)
• Boolean - логічні вирази (40)
• If - умовний оператор (30)
• Case - оператор вибору (20)
• For - цикл з параметром (40)
• While - цикл з умовою (30)
• Series - послідовності (40)
• Proc - процедури і функції (21)
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
Цілі числа
Усі вхідні та вихідні дані у завданнях цієї глави є цілими числами. Усі числа, для яких
зазначено кількість цифр (двозначне число, тризначне число тощо), вважаються
додатними.
У всіх завданнях цієї глави потрібно вивести логічне значення TRUE якщо наведене
висловлювання для запропонованих даних є істинним, і значення FALSE в іншому випадку.
Усі числа, для яких вказано кількість цифр (двозначне число, тризначне число тощо),
вважаються цілими позитивними.
Умовний оператор
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).
Цикл з параметром
Вкладені цикли
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 (Без накладань). Знайти кількість
квадратів, розміщених на прямокутнику. Операції множення та ділення не використовувати.
Послідовності
Вкладені цикли
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
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 .