Команда розгалуження:
повна і коротка форми
Умовний оператор (або
команда розгалуження) є одним із найпоширеніших засобів, що змінюють лінійний
порядок виконання операторів програми. Він може приймати одну з наступних форм:
- 1) повна форма;
- 2) коротка (скорочена) форма.
Перша або повна форма:
якщо
умова
то серія
команд 1
інакше серія
команд 2
все
Мовою блок-схем ця
команда записується у наступному вигляді:
Знаком «+»
позначається виконання умови, знаком «-» її невиконання.
На Puthon
if умова:
серія
команд 1
else:
серія
команд 2
Бачимо вже звичну для
нас двократку після умови. Зверніть увагу, що двокрапка ставиться і
після else.
Друга або коротка форма команди
розгалуження:
якщо умова
то серія
команд
все
Мовою блок-схем вона
записується так:
На Puthon
if умова:
серія команд
У повній формі
команди умовного переходу виконується серія команд 1, якщо умова
істинна, і серія команд 2, якщо вона хибна. В скороченій формі
- серія команд виконується тільки у випадку, якщо умова
істинна, у протилежному випадку команда розгалуження закінчується і виконується
наступний за нею оператор.
Серії команд пишуться з
відступами і тільки відступами
(ніяких
"операторних дужок" BEGIN - END (як у Pascal) або фігурних дужок(як у
C++)).
Пригадайте, що таке
умова.
Умова - це
вислів (речення), про який можна сказати виконується він чи ні.
Якщо умова
виконується, то говорять, що вислів істинний, правильним. Якщо ж умова не
виконується, то вислів є хибним, неправильним.
Наприклад, a>10 є
умовою, при конкретному значенні а вона або виконується, або ні.
Умова може бути простою або складеною.
Прості умови записуються
за допомогою операторів порівняння:
Оператори порівняння
|
Алгоритмічна мова
|
Python
|
більше
|
x>y
|
x>y
|
менше
|
х<у
|
х<у
|
не більше
(менше або дорівнює)
|
х≤у
|
х<=у
|
не менше (більше або дорівнює)
|
х≥у
|
x>=y
|
дорівнює
|
x=y
|
x==y
|
не дорівнює
|
x≠y
|
x!=y
|
Треба звикнути, що на
Python порівняння позначається знаком ==, а не =. Знак =
позначає «присвоїти значення», а не «порівняти на рівність».
Складені умови утворюються
з простих за допомогою логічних операцій and (та), or (або), not (не),
причому вочевидь, що службове слово or використовується, якщо
необхідно виконання хоча б однієї умови, а службове слово and -
якщо необхідно одночасне виконання всіх умов. Кожна проста умова у
складеній береться у дужки ( ).
Наприклад, мама
дозволила мені піти погуляти, якщо я "виконав уроки" та (англійською and)
"помив посуд". Тільки при виконанні обох умов мені дозволено
піти до друзів.
Другий приклад: якщо
сьогодні "вихідний" або (англійською or)
"святковий день" або "канікули" або "я хворий",
я не піду до школи. Виконання хоча б однієї з умов приведе до того, що я
залишусь вдома і не піду до школи. Зовсім не обов'язково, щоб одночасно було
свято, вихідний, канікули та ще й хвороба, щоб не треба було йти до школи.
У задачі про чергу
бабусь за пенсієї на n треба накласти умову: 0<n<=40.
Тобто одночасно n має
бути більше 0 і не перевищувати 40. Умова є складеною і записується так:
на алгоритмічній мові
|
на Python
|
(n>0) та (n≤40)
|
(n>0) and (n<=40)
|
чи
|
|
0<n<=40
|
Остаточно програма
про чергу бабусь виглядатиме так:
n=input('введіть
номер бабусі ')
if (n>0) and (n<=40):
res=(40-n)*92/60.0
print 'na', res, 'hvilin', n, 'бабуся отрмає пенсію раніше'
else:
print
'pomilka'
Немає коментарів:
Дописати коментар