Інструкція (оператор) if. Визначення. Приклади
Зміст
- 1. Для чого використовується інструкція if (оператор if)
- 2. Які форми (різновиди) має інструкція if
- 3. Повна форма інструкції if (if-elif-else). Принцип виконання
- 4. Скорочена форма if. Принцип виконання
- 5. Скорочена форма if-else. Принцип виконання
- 6. Скорочена форма if-elif. Принцип виконання
- 7. Приклад, що демонструє використання конструкції if-elif-else (повна форма)
- 8. Приклад розв’язку квадратного рівняння з використанням інструкції if в інтерактивному режимі
- 9. Приклад розв’язку квадратного рівняння з використанням інструкції if у програмному режимі
- 10. Приклад використання інструкції if-elif. Визначення кількості днів у місяці та високосного року
- 11. Приклад використання вкладеної інструкції if-elif. Модифікований варіант програми визначення кількості днів у місяці з врахуванням високосного року
- 12. Приклад, що демонструє використання скороченої конструкції if. Пошук максимального значення між трома величинами
- Зв’язані теми
Пошук на інших ресурсах:
1. Для чого використовується інструкція if (оператор if)
Часто, при реалізації алгоритмів потрібно виконувати вибір ходу виконання програми в залежності від заданої умови. Для забезпечення цього сучасні мови програмування (Java, C#, C++ та інші) містять відповідні управляючі оператори (control statements), одним з яких є оператор розгалуження if. Мова програмування Python також має в своєму арсеналі інструкцію if, робота якої нічим не відрізняється від такої ж інструкції інших мов програмування.
Інструкцію if ще називають оператором if (statement if).
⇑
2. Які форми (різновиди) має інструкція if
Інструкція if має чотири форми:
- форма if-elif-else. Ця форма ще називається повна форма;
- скорочена форма if;
- скорочена форма if-else;
- скорочена форма if-elif.
⇑
3. Повна форма інструкції if (if-elif-else). Принцип виконання
У мові програмування Python загальна форма інструкції if має вигляд:
if вираз1 : набір1 elif вираз2 : набір2 ... elif виразN : набірN else: набірN+1
де вираз1, вираз2, виразN – відповідний умовний вираз, що перевіряється на справжність. Якщо умовний вираз справджується, то його значення рівне True (істина). У цьому випадку виконується відповідний набір (множина) операторів набір1, набір2, набірN, набірN+1.
Інструкція if працює наступним чином. Якщо вираз1 рівний True, то виконується набір1 операторів, у противному випадку відбувається перехід до перевірки умови вираз2. За таким самим принципом обробляються гілки вираз2, …, виразN. Якщо жоден з виразів вираз1, вираз2, …, виразN не справджується (рівний False), то виконується набірN+1 який слідує після ключового слова else.
⇑
4. Скорочена форма if. Принцип виконання
Скорочена форма інструкції if не містить блоків elif та else і має наступний вигляд
if вираз : набір
У цьому випадку набір операторів виконується якщо справджується вираз (вираз = True). У противному випадку, виконується наступнй після if оператор.
⇑
5. Скорочена форма if-else. Принцип виконання
Скорочена форма може мати загальний вигляд if-else
if вираз : набір1 else : набір2
Наведена вище форма оператора if працює за наступним принципом. Спочатку перевіряється значення вираз. Якщо вираз справджується (рівний True), то виконується набір1 операторів. У противному випадку (вираз рівний False) виконується набір2 операторів.
⇑
6. Скорочена форма if-elif. Принцип виконання
Скорочена форма if-elif може мати наступний вигляд
if вираз1 : набір1 elif вираз2 : набір2 ... elif виразN : набірN
У цій формі оператор if подібний до оператора switch в інших мовах програмування. Оператор if-elif працює за наступним принципом. Якщо значення вираз1 справджується (рівне True), то виконується набір1 і відбувається вихід з оператора if-elif. В противному випадку (значення вираз1 рівне False) відбувається перехід до наступної гілки оператора на перевірку вираз2. Таким чином, виконується та гілка оператора if-elif, значення виразу в якій рівне True. Якщо жоден з виразів вираз1, вираз2, …, виразN не справджується, тоді відбувається перехід до наступного після if-elif оператора.
⇑
7. Приклад, що демонструє використання конструкції if-elif-else (повна форма)
Задано цілочисельне значення n=1..3 та радіус r. За заданим значенням n обчислити:
- 1 – довжина кола;
- 2 – площа круга;
- 3 – об’єм кулі.
Текст програми в програмному режимі має наступний вигляд
n=2 # ввід даних r=5.5 pi=3.1415 # обчислення, оператор if if n==1: s=2*pi*r print("Довжина кола = ",s) elif n==2: s=pi*r*r print("Площа круга = ",s) elif n==3: s=4.0/3*pi*r*r*r print("Об'єм кулі = ",s) else: print("Невірно введені дані") print("----------------------")
У результаті виконання вищенаведеного коду буде отримано наступний результат
Площа круга = 95.03037499999999 ----------------------
⇑
8. Приклад розв’язку квадратного рівняння з використанням інструкції if в інтерактивному режимі
Нижче наведено приклад розв’язку квадратного рівняння для заданих коефіцієнтів a, b, c. У прикладі демонструється скорочена форма оператора if.
>>> a = 8 # задати початкові значення a,b,c >>> b = 3 >>> c = -2 >>> d = b*b-4*a*c # обчислити дискримінант >>> if d>=0: x1=(-b-(d**0.5))/(2*a) x2=(-b+(d**0.5))/(2*a) >>> x1,x2 (-0.7215002340823456, 0.34650023408234565) >>>
З допомогою нижченаведеного коду можна перевірити значення дискримінанту d та правильність результату
>>> d 73 >>> a*x1*x1+b*x1+c 0.0 >>> a*x2*x2+b*x2+c -4.440892098500626e-16 >>>
Як видно з результату, значення x1, x2 наближені до нуля, тобто розв’язок правильний.
⇑
9. Приклад розв’язку квадратного рівняння з використанням інструкції if у програмному режимі
У прикладі демонструється використання оператора if для знаходження розв’язку квадратного рівняння. Код наведений для програмного режиму. З допомогою функції print() виводиться результат обчислень та результат перевірки. Якщо значення дискримінанту d<0, то виводиться повідомлення “Рівняння не має коренів”.
a=2 # задати значення a,b,c b=5 c=-4 d=b*b-4*a*c # обчислити d if d>=0: # оператор if x1=(-b-(d**0.5))/(2*a) x2=(-b+(d**0.5))/(2*a) print("d = ",d) # вивід результату print("x1 = ", x1) print("x2 = ", x2) print print("Перевірка:") print("a*x1*x1+b*x1+c = ", a*x1*x1+b*x1+c) print("a*x2*x2+b*x2+c = ", a*x2*x2+b*x2+c) else: print("рівняння не має розв'язку")
Як видно з прикладу, якщо в інструкції if потрібно виконати декілька операторів підряд (згрупувати), то вони виділяються з допомогою відступу.
Після запуску на виконання, в середовищі Python буде отримано наступний результат:
>>> d = 57 x1 = -3.1374586088176875 x2 = 0.6374586088176875 Перевірка: a*x1*x1+b*x1+c = 0.0 a*x2*x2+b*x2+c = 0.0 >>>
⇑
10. Приклад використання інструкції if-elif. Визначення кількості днів у місяці та високосного року
Задано рік та місяць. Розробити програму, яка визначає:
- чи є заданий рік високосним;
- кількість днів у місяці даного року. У програмі врахувати високосний рік.
Текст програми наступний
year=2100 # встановити деякий рік month=2 # встановити деякий місяць # # визначення високосного року f_leap_year=True # на початку прийняти, що рік високосний if year%400==0: print("рік високосний") elif year%100==0: print("рік невисокосний") f_leap_year=False elif year%4==0: print("рік високосний") else: print("рік невисокосний") f_leap_year=False print("---------------------") # # визначення кількості днів у місяці print("Кількість днів у місяці:") nDays=31 # на початку кількість днів рівна 31 if (month==2)and(f_leap_year==True): nDays=29 elif (month==2)and(f_leap_year==False): nDays=28 elif (month==4)or(month==6)or(month==9)or(month==11): nDays=30 print(nDays)
У вищенаведеному коді додатково використано логічні операції and (логічне “і”) та or (логічне “або”).
У результаті виконання коду, буде отримано наступний результат
рік невисокосний --------------------- Кількість днів у місяці: 28 >>>
⇑
11. Приклад використання вкладеної інструкції if-elif. Модифікований варіант програми визначення кількості днів у місяці з врахуванням високосного року
У даному прикладі демонструється використання вкладеної інструкції if-elif для проведення розрахуноку кількості днів у місяці на основі таких вхідних даних:
- рік;
- номер місяця у році.
Важливо обчислити, чи є заданий рік високосним.
Текст програми наступний:
year=2108 # встановити деякий рік month=2 # встановити деякий місяць # # визначення високосного року f_leap_year=True # на початку прийняти, що рік високосний if year%400==0: print(year,"- рік високосний") elif year%100==0: print(year,"- рік невисокосний") f_leap_year=False elif year%4==0: print(year,"- рік високосний") else: print(year,"- рік невисокосний") f_leap_year=False print("---------------------") # # визначення кількості днів у місяці if month==2: if f_leap_year==True: # вкладений оператор if-else nDays=29 else: nDays=28 elif (month==4)or(month==6)or(month==9)or(month==11): nDays=30 else: nDays=31 print("Кількість днів у місяці:", month) print("nDays=", nDays)
При визначенні кількості днів для місяця 2 (лютий), використовується вкладена інструкція if-else. Вкладеність визначається з допомогою відступів
... if month==2: if f_leap_year==True: # вкладений оператор if-else nDays=29 else: nDays=28 elif ...
Після запуску на виконання програма видасть наступний результат:
2108 - рік високосний --------------------- Кількість днів у місяці: 2 nDays= 29 >>>
⇑
12. Приклад, що демонструє використання скороченої конструкції if. Пошук максимального значення між трома величинами
У прикладі демонструється використання скороченої інструкції if для пошуку максимального значення між трьома величинами a, b, c. Текст програми наступний:
# пошук максимуму між величинами a, b, c # встановити довільні значення a,b,c = 20,30,17 # пошук максимуму mx mx=a; if mx<b: mx=b if mx<c: mx=c print("Max = ", mx)
Після запуску на виконання буде отримано наступний результат
Max = 30 >>>
⇑
Зв’язані теми
- Оператор присвоєння. Форми присвоювання. Приклади. Позиційне присвоювання кортежів, списків
- Оператор while. Приклади
- Оператор for. Приклади