Тема 68(10):  Алгоритми з розгалуженнями для опрацювання величин. 

План вивчення теми:

Д/з: опрацювати:

Повторення

Теоретичний матеріал

Під час розробки програмних кодів для завдань, у яких для їх виконання потрібно враховувати початковий стан (початковий набір даних), застосовують алгоритми з розгалуженнями.

Наприклад, створення проекту "Чек": якщо набрано товару на певну суму, то буде нарахована знижка на покупку, якщо не набрано - знижка не нараховується.

Розгалуження - це алгоритмічна конструкція, у якій в результаті перевірки логічного виразу виконується та чи інша дія.

Види розгалужень в Python :

68-Урок_12_Реалізація алгоритмів з розгалуженням.pdf

Повне розгалуження:

if <логічний вираз>:

 <послідовність команд 1>    

 else:

   <послідовність команд 2>

Порядок виконання команди:

Неповне розгалуження в Python:

if <логічний вираз>:

    <послідовність команд>

Порядок виконання команди:

Багатоальтирнативне розгалуження:

if <логічний вираз 1>:

<послідовність команд 1>

elif <логічний вираз 2>:

<послідовність команд 2>

elif <логічний вираз 3>:

<послідовність команд 3>

...

else <логічний вираз N>:

<послідовність команд N>

Порядок виконання команди:

 Зауваження* 

Послідовність команд, виконання яких залежить від значень логічних виразів, записують з відступом вправо відносно першої літери слів if, elif, else. Розмір відступу для кожної команди має бути однаковим.

Увага!   Під час роботи з комп'ютером дотримуйтеся вимог БДЖ та санітарно-гігієнічних норм.

Посилання на On-line-середовищe Python https://repl.it

Задача 1. Обчислити значення виразу (а + 2Ь) / (а - Зb), де а, b - дійсні числа.

Математична модель:

Вхідні дані: два довільних числа a та b;

Кінцеві результати: значення виразу k.

Додаткові змінні (проміжні результати)x, y – для обчислення чисельника та знаменника.

Формули (зв'язок між вхідними даними та результатом): k=(a+2*b) / (a-3*b).

a=float(input('a='))

b=float(input('b='))

x=a+3*b

y=a-3*b

if y==0:

    print('Вираз значення немає: ділення на 0')

else:

    k=x/y

    print(k)

Задача 2. Дано два числа. Визначити, чи рівні вони. Якщо ні, то яке з них більше. 

Математична модель проєкту:  

Фрагмент програмного коду:

if x == y: 

print(‘Числа рівні’) 

elif x > y: 

print(‘Перше число більше’) 

else: 

print(‘Друге число більше’) 

Для перевірки правильності проєкту можна виконати його, наприклад, для таких наборів вхідних даних: 

1) х = 3, у = 3; 

2) х = 5, у = 2; 

3) х = 4, у = 10. 

Задача 3. Якщо споживач за місяць спожив не більше як 100 кВт  год електроенергії, то за кожну кВт  год потрібно заплатити 0,9 грн, а за кожну кВт  год спожитої електроенергії, що понад 100, потрібно заплатити 1,68 грн. Побудуйте математичну модель і створіть проєкт для визначення, яку суму грошей має заплатити споживач за спожиту електроенергію. З