You are on page 1of 7

3.

Запишіть основні математичні та тригонометричні функції мови


Python.

Лабораторна робота №5. Розгалуження

Мета: набути навичок створення програм на мові Python з використанням


розгалужень.
Час виконання: 2 год.
Короткі теоретичні відомості
Логічний (булівський тип). Оператори порівняння. Логічні оператори
Змінні логічного типу можуть отримувати одно з двох значень – True або
False. На мові Python логічний тип позначається як bool. Для приведення інших
типів до логічного використовується функція bool(), яка працює за такими
правилами:
–для рядків – порожній рядок означає False, непорожній рядок – True;
–числа: нульове число False, ненульове число – True;
–функції – завжди True.
Для роботи з логічними даними мова Python має такі оператори:
–> – більше;
–< – менше;
–== – дорівнює;
–!= – не дорівнює;
–>= – більше або дорівнює;
–<= – менше або дорівює.
З логічних змінних і виразів можна складати більш складні вирази за
допомогою операторів:
–not – заперечення, логічне НЕ;
–or – додавання, логічне АБО;
–and – множення, логічне І.
Таблиця 5.1
Таблиця істинності для логічних виразів
A B A and B A or B not A
True True True True False
True False False True False
False True False True True
False False False False True

Умовний оператор
В мові Python умовний оператор має вигляд:
if <логічний вираз>:
<інструкції, які виконуються, якщо логічний вираз набуває значення True>

26
У такій формі дії після двокрапки виконуються, якщо логічний вираз
істинний. Якщо він хибний, програма не виконує ніяких дій і переходить до
оператора, який слідує за if. Є
Якщо треба виконати різні дії, то використовується повна форма оператора
if:
if<логічний вираз>:
< інструкції, які виконуються, якщо логічний вираз набуває значення True
>
else:
<інструкції, які виконуються, якщо логічний вираз набуває значення False>
Якщо треба перевірити кілька умов, то використовується складне
розгалуження:
if<логічний вираз>:
< інструкції, які виконуються, якщо логічний вираз набуває значення True
>
elif<другий логічний вираз>:
<інструкції, які виконуються, якщо другий логічний вираз набуває
значення True>
elif<третій логічний вираз>:
<інструкції, які виконуються, якщо третійй логічний вираз набуває
значення True>

else:
<інструкції, які виконуються, якщо жоден з логічних виразів не набуває
значення True>
Блоків elif у конструкції вибору може бути безліч, проте завжди
виконується лише один блок коду. Якщо цей блок було виконано, то всі інші
умови не перевіряються.
Слід звернути увагу на те, що після двокрапки наступний рядок повинен
мати відступ. Частина коду, яка виділена відступами, називається тілом
оператора, а блок перед двокрапкою – заголовком.
Розглянемо приклади програм.
Приклад 4.1. Написати програму, яка обчислюватиме значення функції 𝑦 =
√𝑥 + 3.
Код програми:
import math
x=float(input("задайте х"))
y=0.0
if (x+3)>=0:
y=math.sqrt(x+3)
print("y=",y)
else:
print("Обчислення виразу неможливе")
Приклад 4.2. Написати програму, яка визначатиме більше з трьох чисел.
Код програми:
27
a=float(input("Введіть число a: "))
b=float(input("Введіть число b: "))
c=float(input("Введіть число c: "))
if a>b and a>c:
print("Число a більше")
elif b>c and b>a:
print("Число b більше")
else:
print("Число c більше")

Постановка завдання
1. Написати програму з використанням розгалужень.
2. Написати програму з використанням складних умов.
Варіанти завдань
Варіант 1
1. Написати програму, яка обчислюватиме значення функції у залежності
sin 𝑥 , 𝑥 ≥ 3
від значення аргументу: 𝑓(𝑥) = cos 𝑥 , 0 ≤ 𝑥 < 3
𝑡𝑔 𝑥, 𝑥 < 0
2. Користувач задає число від 1 до 4. Програма повинна вивести назву
пори року (зима, весна, літо, осінь) за номером. Якщо користувач ввів число
менше за 1 або більше за 4, програма повинна вивести повідомлення про
помилку.
Варіант 2
1. Написати програму, яка обчислюватиме значення функції у залежності
𝑥 + √𝑥 + √4𝑥 + 7, 𝑥 ≥ 3,7
від значення аргументу: 𝑓(𝑥) = 𝑡𝑔 𝑥 + 𝑥 , −1,5 < 𝑥 < 3,7
ln |𝑥| , 𝑥 ≤ −1,5
2. Написати програму, яка обчислить середнє число з трьох цілих чисел,
заданих з клавіатури.
Варіант 3
1. Написати програму, яка обчислюватиме значення функції у залежності
log 3𝑥 − 7√𝑥, 𝑥 ≥ 5,1
від значення аргументу: 𝑓(𝑥) = 𝑒 + 2𝑥 , −0,7 < 𝑥 < 5,1
𝑒 + sin(𝑥 + ) , 𝑥 ≤ −0,7
2. Користувач задає сторони квадрата, сторони якого паралельні осям
координат, а діагоналі перетинаються у початку координат, а також координати
точки на площині. Написати програму, яка визначить належність даної точки
квадрату.
Варіант 4

28
1. Написати програму, яка обчислюватиме значення функції у залежності
𝑥+2 − √𝑥, 𝑥 ≥ 0
від значення аргументу: 𝑓(𝑥) = sin 2𝑥 + lg |𝑥| , −7,7 < 𝑥 < 0
cos 3𝑥 − , 𝑥 ≤ −7,7
2. Зовнішній і внутрішній радіуси кільця дорівнюють відповідно R1 і R2.
Користувач задає координати точки на площині. Програма повинна визначити
належність цієї точки кільцю.
Варіант 5
1. Написати програму, яка обчислюватиме значення функції у залежності
3 + ln 𝑥 + lg 𝑥 , 𝑥 ≥ 6
від значення аргументу: 𝑓(𝑥) = 𝑥 + sin 2𝑥 , −1 < 𝑥 < 6
2 + 2,7𝑥 , 𝑥 ≤ −1
2. Куля діаметром D розміщена у просторі так, що її центр співпадає з
центром координат. Користувач задає координати точки у просторі. Програма
повинна визначити належність точки заданій кулі.
Варіант 6
1. Написати програму, яка обчислюватиме значення функції у залежності
−9 + ln 𝑥 + √𝑥, 𝑥 ≥ 5
від значення аргументу: 𝑓(𝑥) = cos 𝑥 + sin 2𝑥 , −0,5 < 𝑥 < 5
| − 𝑥 + 2𝑥 |, 𝑥 ≤ −0,5
2. Куб з довжиною ребра х розміщено у просторі так, що його грані
паралельні координатним площинам, а точка перетину діагоналей співпадає з
центром координат. Користувач задає координати точки у просторі, а програма
повинна визначити належність точки цьому кубу.
Варіант 7
1. Написати програму, яка обчислюватиме значення функції у залежності
−6𝑥 + sin 𝑥 , 𝑥 ≥ −0,7
від значення аргументу: 𝑓(𝑥) = ln |𝑥 + sin 𝑥 | , −9,9 < 𝑥 < −0,7
12 + | sin 2𝑥 |, 𝑥 ≤ −9,9
2. Задано три цілих числа: х1, х2, х3. Користувач вводить ціле число у, а
програма повинна визначити, чи є число у спільним дільником чисел х1, х2, х3.
Варіант 8
1. Написати програму, яка обчислюватиме значення функції у залежності
log |𝑥 + 1| , 𝑥 ≥ 7,2
від значення аргументу: 𝑓(𝑥) = ln | cos 𝑥 |, −5,11 < 𝑥 < 7,2
𝑥 + 4|𝑥 − 4| + 𝑒 , 𝑥 ≤ −5,11
2. Задано три числа: а1, а2, а3. Користувач вводить число N. Програма
повинна визначити, чи є число N спільним кратним чисел а1, а2, а3.
Варіант 9
1. Написати програму, яка обчислюватиме значення функції у залежності
2,27𝑒 + 3, 𝑥 > 7
від значення аргументу: 𝑓(𝑥) = 0,64𝑥 ,
, 0,5 < 𝑥 ≤ 7
ln |𝑥 − 𝑒 |, 𝑥 ≤ 0,5
29
2. Точка М має координати (х; у). Користувач задає координати трьох
точок: А, В, С на площині. Програма повинна вивести на екран назву точки,
відстань від якої до точки М найменша.
Варіант 10
1. Написати програму, яка обчислюватиме значення функції у залежності
3 − 0,127𝑥 + ln |𝑥 + 2|, 𝑥 > 0,53
від значення аргументу: 𝑓(𝑥) = 2,35𝑒 + cos 𝑥 , −1,2 < 𝑥 ≤ 0,53
0,11√𝑥 + 03 cos 𝑥 , 𝑥 ≤ −1,2
2. Точка М має координати (х; у). Користувач задає координати трьох
точок: А, В, С на площині. Програма повинна вивести на екран назву точки,
відстань від якої до точки М найбільша.
Варіант 11
1. Написати програму, яка обчислюватиме значення функції у залежності
7 ln 𝑥 + log 𝑥 + lg 𝑥 , 𝑥 ≥ 1
від значення аргументу: 𝑓(𝑥) = sin 𝑥 − cos(𝑥 + 2 + ) , −10,3 < 𝑥 < 1
2,24𝑒 , ,
∙ 2 , , 𝑥 ≤ −10,3
2. Користувач задає координати на площині трьох точок: А, В, С. Програма
повинна вивести назву точки, відстань від якої до центра координат найменша.
Варіант 12
1. Написати програму, яка обчислюватиме значення функції у залежності
lg|𝑥 + 1| + 2,9𝑒 , , 𝑥 > 1
від значення аргументу: 𝑓(𝑥) = |𝑥| + √𝑥 − sin 𝑥 , −1,1 < 𝑥 ≤ 1
4𝑥 + 𝑒 − 4 |𝑥|, 𝑥 ≤ −1,1
2. Користувач задає координати на площині трьох точок: А, В, С. Програма
повинна вивести назву точки, відстань від якої до центра координат найбільша.
Варіант 13
1. Написати програму, яка обчислюватиме значення функції у залежності
𝑒 , | | , 𝑥 ≥ 5,2
від значення аргументу: 𝑓(𝑥) = cos 𝑥 + 𝑐𝑡𝑔 𝑥 + |𝑥 − 7.84|, 0,19 < 𝑥 < 5,2
sin|𝑥 − 0,7| + 3,33 ∙ 2 , 𝑥 ≤ 0,19
2. Користувач задає координати точок А, В, С на площині. Програма
повинна вивести назву точки, сума відстаней від якої до осей координат OX і
OY найбільша.
Варіант 14
1. Написати програму, яка обчислюватиме значення функції у залежності
2,25𝑥 + 𝑥 + lg |𝑥|, 𝑥 ≥ 3.86
від значення аргументу: 𝑓(𝑥) = 𝑒 + , 1,54 < 𝑥 < 3,86
ln|𝑥| − 𝑥 , 𝑥 ≤ 1,54
2. Користувач задає координати точок А, В, С на площині. Програма
повинна вивести назву точки, сума відстаней від якої до коордиантних осей
найменша, і відстань від цієї точки до початку координат.
Варіант 15
30
1. Написати програму, яка обчислюватиме значення функції у залежності
ln|𝑥 − 1| + lg |𝑥 , + 2|, 𝑥 > 12,1
від значення аргументу: 𝑓(𝑥) = 𝑒 ∙ 4𝑥 + 2 − √𝑥 , −5,7 ≤ 𝑥 ≤ 12,1
4,27𝑥 + 4,33𝑥 + sin(𝑥 + 1) , 𝑥 < −5,7
2. Дерев´яний брусок має розміри axbxc. Програма повинна визначити, чи
пройде брусок в прямокутний отвір розмірами mxn? Розміри бруска і отвору
задає користувач.
Варіант 16
1. Написати програму, яка обчислюватиме значення функції у залежності
(𝑥 − ln 𝑥 + lg(2𝑥) + 𝑒 ), 𝑥 ≥ 3
від значення аргументу: 𝑓(𝑥) = 6,53 ,
+ 0,11𝑥, 0,2 < 𝑥 < 3
5,3 + 𝑥𝑒 , 𝑥 ≤ 0,2
2. Користувач задає трицифрове число. Програма повинна вивести на
екран суму найбільшої і найменшої цифр. Цикл не використовувати.
Варіант 17
1. Написати програму, яка обчислюватиме значення функції у залежності
2,31 − ln|𝑥 − 6| , 𝑥 > 3
від значення аргументу: 𝑓(𝑥) = cos(𝑥 + 3) + sin(2𝑥 + ) , 0 ≤ 𝑥 ≤ 3
+ ,𝑥 < 0
2. Користувач задає чотирицифрове число. Програма повинна вивести на
екран добуток найбільшої і найменшої цифр. Цикл не використовувати.
Варіант 18
1. Написати програму, яка обчислюватиме значення функції у залежності
+ 2,31𝑒 , 𝑥 ≥ 1
від значення аргументу: 𝑓(𝑥) = arcsin(0,2𝑥 + 0,3) , −1 < 𝑥 < 1
cos(𝑥 + 0,4 ln |𝑥 + 0,2|) , 𝑥 ≤ −1
2. Користувач задає трицифрове число. Програма повинна обчислити суму
парних цифр числа. Цикл не використовувати.
Варіант 19
1. Написати програму, яка обчислюватиме значення функції у залежності
𝑒 − 2 + log (𝑥 + 6) , 𝑥 ≥ 2

від значення аргументу: 𝑓(𝑥) = 0,5𝑥 + + lg |𝑥|, −1 < 𝑥 < 2

⎩ , 𝑥 ≤ −1
2. Користувач задає чотирицифрове число. Програма повинна обчислити
добуток усіх непарних цифр цього числа. Цикл не використовувати.
Варіант 20
1. Написати програму, яка обчислюватиме значення функції у залежності
3,11 + lg(2𝑥) + log (𝑥 + 8) , 𝑥 > 9
від значення аргументу: 𝑓(𝑥) = + ,1 ≤ 𝑥 ≤ 9
6,23(𝑥 − 0,7 + 𝑒 ), 𝑥 < 1

31
2. Користувач задає чотирицифрове число. Програма повинна визначити,
чи буде це число паліндромом. Цикл не використовувати.
Контрольні питання
1. За допомогою яких операторів реалізується розгалуження в Python?
2. Які види розгалужень ви знаєте?
3. Що означає оператор elif?
4. Яких правил слід дотримуватися під час порівняння значень змінних?
5. Які оператори перетворення типів даних ви знаєте?
6. Як реалізувати конструкцію множинного вибору на мові Python?
7. Які перевірки слід прописувати у програмі для дробів, якщо їх знаменник
містить змінну?
Список джерел
1. Умовний оператор | Python Task. [Електронний ресурс]. – Режим доступу:
https://pythontask.pp.ua/3.%20%D1%83%D0%BC%D0%BE%D0%B2%D0%
BD%D0%B8%D0%B9%20%D0%BE%D0%BF%D0%B5%D1%80%D0%B0
%D1%82%D0%BE%D1%80/lecture-3-3-if-else-operator/
2. Умовні оператори та цикли в Python | Заняття 3. [Електронний ресурс]. –
Режим доступу: http://mikrotik.kpi.ua/index.php/courses-list/category-
python/82-conditional-operators-and-loops-in-python-session-3

32

You might also like