Продовжуємо вивчати мову програмування Python. Вчимо вкладені розгалуження і як спосіб його реалізувати на практиці. Використовуємо практичні завдання із дистанційного курсу Оксани Пасічник. Є картка із завданнями для учнів.
Метою є формування таких компетентностей:
Спілкування державною мовою. Це вміння усно і письмово висловлювати й тлумачити поняття, думки, почуття, факти та погляди (через слухання, говоріння, читання, письмо, застосування мультимедійних засобів).
Спілкування іноземними мовами. Уміння належно розуміти висловлене іноземною мовою, усно і письмово висловлювати і тлумачити поняття.
Інформаційно-цифрова компетентність передбачає впевнене, а водночас критичне застосування інформаційнокомунікаційних технологій (ІКТ) для створення, пошуку, обробки, обміну інформацією. Інформаційна й медіа-грамотність, основи програмування, алгоритмічне мислення, навички безпеки в інтернеті та кібербезпеці. Розуміння етики роботи з інформацією (авторське право, інтелектуальна власність тощо).
Тип уроку: закріплення знань, умінь і навичок (уроки повторення).
Обладнання: комп’ютер, проектор, зошит, дидактичні картки.
Структура уроку
Задача 1. З клавіатури вводяться довжини сторін трикутника. Визначити чи він є різностороннім.
input("Введіть сторони трикутника ")
a=int(input("a="))
b=int(input("b="))
c=int(input("c="))
if (a!=b) and (a!=c) and (c!=b):
print("Трикутник із вказаними сторонами різносторонній")
else:
print("Трикутник односторонній або рівнобедрений")
Задача 2. З клавіатури вводяться довжини сторін трикутника. Визначити, чи є він прямокутним . Трикутник є прямокутним, якщо для нього виконується теорема Піфагора.
input("Введіть сторони трикутника ")
a=float(input("a="))
b=float(input("b="))
c=float(input("c="))
if (c**2==a**2+b**2) or (a**2==c**2+b**2) or (b**2==a**2+c**2):
print("Це прямокутний трикутник")
else:
print("Попробуйте ввести інші довжини сторін це не прямокутний трикутник")
Задача 3. З'ясуйте, чи може шахова тура за один хід потрапити з клітинки з координатами (x1,y1) у клітинку з координатами (x2,y2).
x1=int(input('Введіть координати першої клітинки '))
y1=int(input())
x2=int(input('Введіть координати другої клітинки '))
y2=int(input())
if (abs(x1-x2)==0) or(abs(y1-y2)==0):
print('Так')
else:
print('Ні')
2. Мотивація навчальної діяльності.
Дуже часто при розв’язуванні задач можуть виникати складні розгалуження, які передбачають перевірку декількох умов. Отже, нам потрібно навчитись реалізовувати вкладені розгалуження мовою програмування Python.
3. Повторення основних понять.
Для цього існує оператор elif, він не використовується самостійно, а є необов’язковою складовою конструкції if. Застосовується наступним чином:
if логічний вираз:
дії, які будуть виконуватися якщо логічний вираз буде мати значення True
elif логічний вираз:
дії, які будуть виконуватися якщо попередній логічний вираз має значення False, а даний логічний вираз буде мати значення True
…
else:
дії, які будуть виконуватися якщо всі логічні вирази будуть мати значення False
Оператор elif можна використовувати нескінченну кількість разів.
4. Повторення основних закономірностей, правил теми.
Щоб детальніше зрозуміти як використовувати оператор elif розв’яжемо наступну вправу: користувач вводить число із клавіатури, програма видає повідомлення чи число парне, непарне, чи це нуль.
a=float(input("Введіть число "))
if a<0:
print("число від'ємне")
elif a>0:
print("число додатнє")
else:
print("це нуль")
5. Виконання практичних завдань на повторення й закріплення основних умінь і навичок.
Для пояснення завдань можна використати презентацію із курсу дистанційного навчання Оксани Пасічник.
https://dystosvita.gnomio.com/mod/page/view.php?id=2974
Задача 1. Рахуємо гроші. До введеного числа додати напис "гривень", "гривня", "гривні" згідно з правилами української мови
x=int(input('Введіть суму '))
a=x%10
b=x//10%10
if(a==1) and (b!=1):
print (x, 'гривня')
elif ((a==2)or(a==3)or(a==4))and(b!=1):
print (x, 'гривні')
else:
print(x, 'гривень')
Задача 2. Дано температура. Виведіть стан, у якому знаходиться вода при цій температурі
if(a<0):
print ()
elif (a>100):
print ()
else:
print()
Задача 3. Дано вік людини. Напишіть програму, яка аналізує людину за її віком та відносить її до однієї з чотирьох груп: дошкільня, школяр, працівник, пенсіонер.
a=float(input("Скільки Вам повних років? "))
if 0<a<=6:
print("Ви-дошкільня")
elif 6<a<=16:
print("Ви - школяр")
elif 16<a<=65:
print("Ви - працівник")
else:
print("Ви - пенсіонер")
Задача 4. Гість знає номер квартири, а також знає, що у будинку на кожному поверсі розміщено по 3 квартири. На який поверх потрібно їхати ліфтом?
kvartyra=int(input('Введіть номер квартири '))
if (kvartyra%3==0):
p=kvartyra//3
else:
p=(kvartyra//3)+1
print ('Потрібен ',p,' поверх')
Задача 5. На жаль, ліфт зупиняється тільки на парних поверхах, тож якщо потрібен непарний поверх (окрім першого), потрібно їхати на поверх вище.
p=int(input('Введіть номер поверха '))
if (p==1):
lift=0
elif (p%2==1):
lift=p+1
else:
lift=p
print("Потрібно їхати на", lift," поверх")
Задача 6. Ситуація ще гірша: ліфт зупиняється лише на кожному третьому поверсі, тож варто їхати на ближчий поверх вище або нижче потрібного.
p=int(input('Введіть номер поверху '))
if (p==1):
lift=0
elif (p%3==1):
lift=p-1
elif (p%3==2):
lift=p+1
else:
lift=p
print("Потрібно їхати на", lift," поверх")
6. Домашнє завдання.
Задача Канаверал. Визначити поведінку космічного апарата, що стартує на екваторі, залежно від його початкової швидкості V.
Як ви знаєте з уроків фізики, тут можливі чотири випадки:
• при V<7,8 км/с апарат впаде на поверхню Землі;
• при 7,8≤V<11,2 км/с апарат стане супутником Землі;
• при 11,2≤V<16,4 км/с апарат стане супутником Сонця;
• при V≥16,4 км/с апарат покине Сонячну систему.
Щоб детальніше зрозуміти як використовувати оператор elif розв’яжемо наступну вправу: програма визначає чи введене число парне, непарне, чи це нуль.
a=float(input("Введіть число "))
if a<0:
print("число від'ємне")
elif a>0:
print("число додатнє")
else:
print("це нуль")
Задача 1. Рахуємо гроші. До введеного числа додати напис "гривень", "гривня", "гривні" згідно з правилами української мови. ( розмістити рядки коду у правильній послідовності.
if(a==1) and (b!=1):
print(x, 'гривень')
else:
b=x//10%10
print (x, 'гривні')
print (x, 'гривня')
a=x%10
elif ((a==2)or(a==3)or(a==4))and(b!=1):
x=int(input('Введіть суму '))
Задача 2. Дано температура. Виведіть стан, у якому знаходиться вода при цій температурі
Задача 3. Дано вік людини. Напишіть програму, яка аналізує людину за її віком та відносить її до однієї з чотирьох груп: дошкільня, школяр, працівник, пенсіонер.
Задача 4. Гість знає номер квартири, а також знає, що у будинку на кожному поверсі розміщено по 3 квартири. На який поверх потрібно їхати ліфтом?
Задача 5. На жаль, ліфт зупиняється тільки на парних поверхах, тож якщо потрібен непарний поверх (окрім першого), потрібно їхати на поверх вище. ( розмістити рядки коду у правильній послідовності.
p=int(input('Введіть номер поверха ')) , if (p==1): , elif (p%2==1): , lift=p , lift=p+1, lift=0, print("Потрібно їхати на", lift," поверх") , else:
Задача 6. Ситуація ще гірша: ліфт зупиняється лише на кожному третьому поверсі, тож варто їхати на ближчий поверх вище або нижче потрібного.