Тема
5
Елементи
математичної логіки. Оператор розгалуження
Теоретична
частина
У більшості програм на певному кроці їх виконання потрібно вибирати той чи
інший варіант подальших дій, тобто використовувати розгалуження. Умовою вибору
того чи іншого варіанту є виконання деякої умови. Сама умова повинна бути булівського
типу, тобто приймати лише два значення true (істина) або false (хиба). Сама умова записується одразу після оператора if, а після її через двокрапку записується
команда, які необхідно виконати. Якщо команд декілька, то вони відокремлюються
блоком, які мають однаковий відступ після оператора if. Відступ встановлюється клавішею Tab або пробілами. Якщо розгалуження
закінчилося, то наступні команди слід писати під оператором if. Саме відступи виконують роль фігурних
дужок на С++ або операторів begin … end на PASCAL. Наприклад,
if a>0:
print(“Дане число додатне”)
Якщо потрібно виконувати інші команди у разі
невиконання умови, їх слід писати після оператора else, не забуваючи також поставити
двокрапку. Наприклад,
if a>0:
print(“Дане число додатне”)
else:
print(“Дане число
недодатне”)
Якщо необхідно використати декілька
гілок розгалуження, то використовують оператор elif, що є скороченою формою операторів else: if, причому їх кількість
необмежена. Наприклад,
if a>0:
print(“Дане число додатне”)
elif a<0:
print(“Дане число
відʼємне”)
else:
print(“Дане число дорівнює
нулю”)
Зауваження: функцію print() можна писати в тому самому рядку, де і оператори if, elif чи else. Це можна робити,
коли команда, що відноситься до умови лише одна, а у випадку блоку команд краще
записувати з окремого рядка.
Розглянемо, які умови можна
використовувати
Назва
|
Позначення
|
Приклад
|
Рівність
|
==
|
а==25
|
Більше
|
>
|
a>25
|
Менше
|
<
|
a<25
|
Більше або дорівнює
|
>=
|
a>=25
|
Менше або дорівнює
|
<=
|
a<=25
|
Не дорівнює
|
!=
|
а!=25
|
Якщо умова складна, то прості умови
повʼязуються між собою службовими словами and, or та not()(логічне "і", логічне
"або" та логічне "ні"). На мові PYTHON у цих операцій найнижчий пріоритет серед
операцій, тому прості умови не беруться в дужки. Наприклад, розглянемо, в якій
координатній чверті знаходиться точка з координатами (x,y):
if x>0 and
y>0:
print(“І чверть”)
elif x<0 and
y>0:
print(“ІІ чверть”)
elif x<0 and
y<0:
print(“ІIІ чверть”)
elif x>0 and
y<0:
print(“ІV чверть”)
else:
print(“Точка лежить на
координатних вісях”)
Розглянемо ще один приклад перевірки
умови рівності дробу x/у нулю.
if x==0 and
not(y==0):
print(“Дріб дорівнює нулю”)
Зауваження. Цю саму умову
можна було записати і так:
if x==0 and y!=0:
Розглянемо кілька прикладів програм.
Приклад 1.
Дано одне натуральне число. Якщо воно
парне, то вивести слово «YES», а якщо непарне, то
– «NO»
Вхід
Вихід
34 YES
n=int(input())
if n%2==0:
print(“YES”)
else:
print(“NO”)
Приклад 2.
У двох рядках дано по одному цілому
числу. Вивести максимальне з цих двох чисел.
Вхід
Вихід
3
4
4
a=int(input())
b=int(input())
if a>b:
print(a)
else:
print(b)
Приклад 3.
У одному рядку через пробіл дано
три цілих числа. Вивести мінімальне з цих трьох чисел.
Вхід
Вихід
3 2 5
2
Програма:
a, b, c =
map(int, input().split())
m=a
if b<m:
m=b
if c<m:
m=c
print(m)
Приклад 4.
У одному рядку через пробіл дано
чотири цілих числа – перші дві є координатами шахового коня на шаховій дошці, а
інші два – координати короля протилежного кольору. Вивести слово «YES», якщо король перебуває під нападом з боку коня, або
слово «NO», якщо ні.
Вхід
Вихід
3 2 5
1
YES
Програма:
x1, y1, x2, y2 = map(int, input().split())
if
(abs(x1-x2)==1 and abs(y1-y2)==2) or (abs(x1-x2)==2 and abs(y1-y2)==1):
print(“YES”)
else:
print(“NO”)
Практична
частина
Завдання 5.1. Дано натуральне число. Виведіть YES, якщо воно кратне 3, або NO у іншому випадку.
Вхід
Вихід
23 NO
Завдання 5.2. У двох рядках дано по одному
натуральному числу. Виведіть YES,
якщо перше число є дільником другого, або NOу іншому випадку
Вхід
Вихід
13 YES
39
Завдання 5.3.
Дано натуральне число. Якщо воно парне, то виведіть його це число у квадраті,
якщо ж ні – то виведіть це число у кубі.
Вхід
Вихід
12 144
Завдання 5.4.
У двох рядках дано по одному натуральному числу. Виведіть менше з даних чисел
Вхід
Вихід
13 5
5
Завдання 5.5.
Дано натуральне число – номер року. Якщо він високосний, то вивести YES, а якщо ні – то вивести NO.
Вхід
Вихід
2017
NO
Завдання 5.6.
У одному рядку дано три натуральних числа. Виведіть максимальне з них
Вхід
Вихід
2 5 4
5
Автор видалив цей коментар.
ВідповістиВидалитиАвтор видалив цей коментар.
ВідповістиВидалитикласний сайт, мены сподобався я так багато дызнався
ВідповістиВидалитику всем
ВідповістиВидалитикак дела?
ку ку кто тут
ВідповістиВидалитидааааааррррооооооооова
Видалитиех некого тут нет
ВідповістиВидалитипривет
ВідповістиВидалитикак дела
Видалитиотлично
Видалитиу меня тоже
Видалитикрутаааа
Видалитипрувет
ВідповістиВидалитика дила?
ВідповістиВидалития максим
ВідповістиВидалитину вопше максимилиан
Видалитипривет
ВідповістиВидалитикак дела!
ВідповістиВидалитибодя *** красава
ВідповістиВидалитименя Бодя алкаш добавил в чат
ВідповістиВидалитиахахххахаххахахахахха
Видалитиhttps://pythonforschool.blogspot.com/2017/11/5.html?showComment=1574408028344#c2745135369280631240
ВідповістиВидалитиммммммммммммммммммммммммммммммммммммм
ВідповістиВидалитикомментаторы топ, желаю всем поскорее закончить 3-ий класс
ВідповістиВидалитими 8
Видалитихто в сети
ВідповістиВидалития
ВідповістиВидалити/000010000010110101101000000100001000010010101010110100101010100101010100000010100101001111010101000101010010101010100101001001100000000000000000010000000101111101010101001010101111011010010101010000000000000100000000010100000
ВідповістиВидалити))0)))00000)))))0)00
Видалити