Тема 33(8): Складені умови. Пошук найбільшого та найменшого серед кількох значень
План вивчення теми:
Б
Д/з: опрацювати:
§6.8
веб-сторінку уроку 33(8)
Види розгалужень в Python :
Повне
Неповне
Багатоальтернативне
Багатоальтирнативне розгалуження:
if <логічний вираз 1>:
<послідовність команд 1>
elif <логічний вираз 2>:
<послідовність команд 2>
elif <логічний вираз 3>:
<послідовність команд 3>
...
else <логічний вираз N>:
<послідовність команд N>
Порядок виконання команди:
визначається значення логічного виразу 1;
якщо це значення істина, то виконується послідовність команд 1 і після цього виконується команда наступна за розгалуженням;
якщо це значення хиба, то обчислюється логічний вираз 2;
якщо це значення істина, то виконується послідовність команд 2 й після цього виконується команда наступна за розгалуженням;
якщо це значення хиба, то обчислюється значення наступного логічного виразу і т.д.
якщо всі вирази в команді мають значення хиба, то виконується послідовність команд N, розміщена після else, і після цього виконується команда наступна за розгалуженням.
#Код-шаблон
from tkinter import*
#підпрограма (процедура) для опрацювання даних
def click():
#
#
#
#створення вікна програми розміром 300на200 пікселів
root=Tk()
root.geometry("300x250")
#створення та налаштування поля №1 для введення x
e1=Entry()
e1.pack(pady=10)
#створення та налаштування поля №2 для введення y
e2=Entry()
e2.pack(pady=10)
#створення та налаштування напису №1 для виведення z
lab1=Label()
lab1.pack(pady=10)
#створення та налаштування кнопки №1 для запуску процедури
b1=Button(text='Виконати', command=click)
b1.pack(pady=10)
Увага! Під час роботи з комп'ютером дотримуйтеся вимог БДЖ та санітарно-гігієнічних норм.
Задача 1. Дано два числа. Визначити, чи рівні вони. Якщо ні, то яке з них більше.
Математична модель проєкту:
вхідні дані: два довільних числа х та у;
кінцеві результати: висновок: числа рівні, або перше число більше, або друге число більше;
Фрагмент програмного коду:
if x == y:
print(‘Числа рівні’)
elif x > y:
print(‘Перше число більше’)
else:
print(‘Друге число більше’)
Для перевірки правильності проєкту можна виконати його, наприклад, для таких наборів вхідних даних:
1) х = 3, у = 3;
2) х = 5, у = 2;
3) х = 4, у = 10.
#консольний режим
#x= int(input('x='))
#y= int(input('y='))
#if x == y:
# s='Числа рівні'
# elif x > y:
# s='Перше число більше'
# else:
# s='Друге число більше'
#print(s)
#режим створення програми з графічним інтерфейсом
from tkinter import*
def p():
x=int(e1.get())
y=int(e2.get())
if x == y:
s='Числа рівні'
elif x > y:
s='Перше число більше'
else:
s='Друге число більше'
lab3['text']=s
root=Tk()
root.geometry('300x300')
e1=Entry()
e1.pack(pady=10)
e2=Entry()
e2.pack(pady=10)
b1=Button(text='Порівняти', command=p)
b1.pack(pady=10)
Задача 2. Дано чотири нерівних між собою числа. Визначити найбільше з них.
Математична модель проєкту:
вхідні дані: чотири довільних числа х1, х2, х3, х4;
кінцеві результати: найбільше із цих чисел.
Для розв’язування цієї задачі визначимо спочатку більше з перших двох чисел і присвоїмо це значення деякій змінній, наприклад змінній max. А далі порівняємо кожне наступне число (третє і четверте) зі значенням цієї змінної. І якщо якесь число виявиться більше, ніж значення змінної max, замінимо значення цієї змінної на це число. Блок-схему алгоритму розв’язування цієї задачі наведено на малюнку.
Фрагмент програмного коду:
if x1 > x2: max = x1
else: max = x2
if x3 > max: max = x3
if x4 > max: max = x4
print(max)
Створений проєкт працюватиме правильно і в тому разі, коли серед цих чотирьох чисел будуть рівні між собою числа.
Перевірте це для чисел:
4, 4, 8, 2.
2, 2, 2, 2
Задача 3. Побудуйте математичну модель і створіть проєкт, у якому можна обчислити значення функції
Задача 4. Побудуйте математичну модель і створіть проєкт для визначення, чи можна з трьох відрізків із заданими довжинами утворити трикутник. Якщо так, то чи буде цей трикутник рівнобедреним, рівностороннім? Збережіть проєкт у папці з іменем Завдання 6.8.15, створеній у вашій папці. Запишіть у зошит вхідні дані, для яких ви тестували цей проєкт.