Величини в алгоритмах з розгалуженням
7
Величини в алгоритмах з розгалуженням
Розділ 4 § 4.3
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
У пункті 4.1 ви складали алгоритми і проекти для обчислення значення виразу, що містить дії:
Значення таких виразів можна обчислити при будь-яких значеннях змінних, що входять до цих виразів.
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Розглянемо тепер задачу на обчислення значення виразу, що містить дію ділення.
Задача 1. Обчислити значення виразу
(2*х + у) / (2*х-у),
де
довільні числа
х і у
в інформатиці позначають дію ділення
символом /
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Створимо математичну модель для розв'язування цієї задачі.
Ви вже знаєте, що дію ділення можна виконати не завжди. Тому і значення цього виразу можна обчислити не при будь-яких значеннях змінних х та у. Адже цей вираз містить дію ділення на вираз зі змінними, значення якого може дорівнювати нулю.
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Тобто якщо значення дільника,
2*х - у дорівнює нулю
2*х - у не дорівнює
то значення виразу
(2*х + у) / (2*х- у) обчислити не можна
то значення виразу
(2*х + у) / (2*х- у) обчислити можна
якщо х = 1 і у = 2, то значення цього виразу обчислити не можна
якщо, х = 3 і у = 4, то значення цього виразу обчислити можна.
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Це означає, що залежно від значення виразу:
2*х - у
в алгоритмі виконуватимуться різні команди:
якщо 2*х- у = 0
якщо 2*х - у ≠ 0
то повинна виконуватися команда виведення повідомлення, що значення виразу обчислити не можна
то повинні виконуватися команди для обчислення значення виразу
Тобто цей алгоритм має містити повне розгалуження
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Блок-схему алгоритму розв’язування цієї задачі подано на малюнку.
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Проілюструємо виконання цього алгоритму для двох наборів значень змінних. Ці два набори значень підберемо так, щоб проілюструвати хід виконання алгоритму для кожного з двох можливих результатів виконання команди перевірки умови.
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Команда
Результат виконання
Приклад 1
Увести значення змінних х та у
х = 5; у = 6
а := 2*х - у
а = 2*5 - 6 = 4
а = 0?
Ні
Ь :=2*х + у
Ь = 2*5 + 6= 16
с := Ь/а
с = 16/4 = 4
Повідомити значення змінної с
Повідомлення: с = 4
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Команда
Результат виконання
Приклад 2
Увести значення змінних х та у
х = 5; у= 10
а := 2*х - у
а = 2*5-10 = 0
а = 0?
Так
Повідомити: «Обчислити не можна: ділення на 0»
Повідомлення: «Обчислити не можна: ділення на 0»
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Відповідно до алгоритму розв’язування цієї задачі, складаючи проєкт у середовищі розробки та виконання проектів, потрібно створити 5 змінних:
х
у
а
b
c
І змінним х та у надати значення, для яких потрібно обчислити значення виразу.
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Потім слід обчислити значення дільника 2*х - у, запам’ятати його (змінна а) і порівняти це значення з нулем:
Якщо це значення дорівнює нулю
Інакше: тобто якщо це значення не дорівнює нулю
то вивести повідомлення, що обчислити значення виразу не можна
то потрібно обчислити значення діленого 2*х + у і запам'ятати його (змінна b)
Потім поділити ділене на дільник, запам’ятати результат (змінна с) і повідомити значення цієї змінної.
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Розглянемо проект розв’язування Задачі 1 у Python.
Повне розгалуження мовою Python має вигляд:
if команда_перевірка_умови:
послідовність команд 1
else:
послідовність команд 2
(англ. if – якщо, else – інакше).
Пропуск 4 символи
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Ці відступи в Python визначають блоки команд, які виконуються залежно від результату виконання команди перевірки умови.
Звертаємо вашу увагу, що послідовності команд 1 та 2 записано з відступом праворуч від лівої межі вікна.
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Як ви вже знаєте, відступи створюються автоматично під час натискання клавіші Enter після символа «:» або їх можна ставити самостійно, натиснувши клавішу Tab. Запис команд, які виконуються за межами блока, повинен починатися ближче до лівої межі вікна. Для зменшення відступу від лівої межі можна скористатися клавішею Backspace.
Backspace
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
У команді перевірки умови в Python можна використовувати оператори порівняння:
більше
>
менше
<
більше або дорівнює
>=
менше або дорівнює
<=
дорівнює, записують два символи « = » без пропуску
==
не дорівнює
!=
7
Обчислення значення виразу,�що містить дію ділення
Розділ 4 § 4.3
Вигляд проекту обчислення значення виразу
(2*х + у) / (2*х - у) наведено нижче.
х = float(input("Уведіть значення х: "))
у = float(input("Уведіть значення у: "))
а = 2 *х-у
if а == 0:
print("Обчислити не можна: ділення на нуль")
else:
b = 2*х + у
с = b / а
print("Результат обчислення =", с)
7
Розгадайте ребус
Розгалуження
Н=НН
Ш=Ж
Розділ 4 § 4.3
7
Дайте відповіді на запитання
Розділ 4 § 4.3
7
Домашнє завдання
Проаналізувати
§ 4.3, ст. 142-145
Розділ 4 § 4.3
7
Працюємо за комп’ютером
Розділ 4 § 4.3
Сторінка
148-150
7
Дякую за увагу!
7