1 of 30

Алгоритми і програми з розгалуженнями

Нова українська школа

Урок 33

Інформатика 6

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.

2 of 30

Повторюємо

У 5 класі ви познайомились із прийомами роботи в середовищі програмування мовою Python і правилами запису алгоритмів цією мовою.

Згадаємо: мова програмування — це штучна мова, призначена для запису алгоритмів у формі, придатній для їх виконання на комп’ютері.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

3 of 30

Повторюємо

Ви навчилися вести діалог в інтерактивному режимі в середовищі IDLE і створювати та зберігати програмний код для використання у вікні програми.

Робоче поле

Головне меню

Позначають позицію, у якій можна вводити команди мовою програмування Python

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

4 of 30

Повторюємо

Ви знайомі з поняттям величини в програмуванні та маєте уявлення про алгоритми роботи з величинами числового та рядкового типів. Ви знаєте, як мовою Python реалізувати базові алгоритмічні структури.

Слідування

Повторення

Розгалуження

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

5 of 30

Запитання

  1. Що таке мова програмування?
  1. Які види вікон існують у Python?
  1. Які повідомлення виводяться у вікні консолі?
  1. Назвіть базові алгоритмічні структури.
  1. Як відкрити вікно програми?
  1. Які математичні оператори використовуються в Python?

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

6 of 30

Складання алгоритмів і програм із розгалуженнями

Структура розгалуження дозволяє керувати ходом виконання програми.

Згадаємо правила виконання команд.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

7 of 30

Команда if

Команда if відповідає конструкції «неповне розгалуження»

Вона призначена для виконання деякої послідовності дій у випадку, якщо зазначена умова є істинною.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

8 of 30

Команда if

Синтаксис команди:

іf <умова>:

___ <Оператор>

де ___ — обов’язковий відступ від лівого краю.

Після запису умови слід поставити двокрапку : , яка показує, що далі має бути розташований блок дій.

Блок дій записується з обов’язковим однаковим відступом від лівого краю.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

9 of 30

Команда if

Пригадаємо, що умова — це логічний вираз.

Якщо умова набуває значення True (Істина)

Якщо ж умова приймає значення False (Хибність)

програма виконає блок дій, зазначених у частині <Оператор>

то блок <Оператор> пропускається, і керування передається оператору, що йде після команди іf

іf <Умова>:

___ <Оператор>

<Оператор>

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

10 of 30

Команда if

Проста умова утворюється логічними операціями порівняння:

Знак операції

Значення

Логічний вираз

Результат

==

Дорівнює

8==9

False

>

Більше

8>9

False

<

Менше

8<9

True

>=

Більше або дорівнює

5>=5

True

<=

Менше або дорівнює

5<=2

False

!=

Не дорівнює

2!=5

True

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

11 of 30

Команда if

Перевіримо, чи є значення змінної х додатним,

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

12 of 30

Команда if

Коли ж потрібно перевірити виконання декількох умов одночасно, використовують складену умову.

Складена умова — це кілька простих умов, з’єднаних логічними операціями:

AND

OR

NOT

(логічне і, інакше — логічний добуток)

(логічне або, інакше —

логічна сума)

(логічне заперечення – не)

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

13 of 30

Команда if

Нехай А і В — два логічні значення. Складена умова A and В істинна, тільки якщо й А, й В істинні. Складена умова A or В хибна, якщо й А, й В хибні.

Розглянемо приклади складених умов.

рівнозначне виразу а > 3;

not а <= 3

істинне тоді й тільки тоді, коли значення age розташовується в проміжку від 10 до 18 включно;

age >= 10

and

age <= 18

істинне для всіх значень age, які не належать проміжку від 10 до 18.

age < 10 or

age > 18

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

14 of 30

Команда if

Визначимо, чи належить точка з координатою х відрізку [10; 20]

Точка належить відрізку, якщо одночасно виконуються умови х >= 10 і х <= 20

if х >= 10 and х <= 20:

print('Точка належить відрізку від 10 до 20')

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

15 of 30

Команда if

Визначити за назвою дня тижня, чи є цей день вихідним:

day = input()

if day == 'Субота' or day == 'Неділя':

print('Вихідний')

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

16 of 30

Команда if ... else

Команда if ... else відповідає конструкції «повне розгалуження».

Призначена для виконання однієї дії у випадку, якщо деяка умова істинна, та іншої дії, якщо ця умова хибна.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

17 of 30

Команда if ... else

Синтаксис умовної команди в повній формі::

if <Умова> :

<Оператор 1>

else:

<Оператор 2>

Якщо умова істинна (True)

Якщо умова хибна (False)

програма виконає блок дій <Оператор 1>

виконується блок дій <Оператор 2>, який міститься після службового слова еlse

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

18 of 30

Команда if ... else

З’ясуємо, чи є значення змінної х додатним числом.

x = int(input())

if x >= 0: print("Число додатне")

else: print("Число від'ємне")

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

19 of 30

Команда if ... else

З курсу математики відомо, що модулем додатного числа та числа 0 є саме це число, а модулем від’ємного числа — протилежне йому число:

 

Запишемо код для знаходження модуля числа х:

x = int(input())

if x >= 0: y = x

else: y = -x

print(y)

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

20 of 30

Команда if ... else

Запишемо команду розгалуження для визначення, чи пройде м’яч діаметром d у кватирку заввишки х і завширшки у

if d<x and d<y:

print('TaK, пройде')

else: print('Hi, не пройде')

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

21 of 30

Команда if ... else

У програмі можуть послідовно виконуватись команди повного і неповного розгалуження.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

22 of 30

Команда if ... else

Складемо програму пошуку найбільшого з трьох чисел а, b, с. Фрагмент блок-схеми алгоритму наведено на рисунку.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

23 of 30

Команда if ... else

a = int(input("a = ? "))

b = int(input("b = ? "))

c = int(input("c = ? "))

if a>b:

m = a

else:

m = b

if c>m:

m = c

print('m = ', m)

Програмний код

Результат

a = ? 3

b = ? 12

c = ? 8

m = 12

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

24 of 30

Команда if ... else

Складемо програму, яка за введеним віком дитини визначає, який мультфільм запропонувати для перегляду,

vik = int(input('Скільки дитині років?'))

if vik<=3: print('Жирафа Афа')

if vik>3 and vik<=6: print('Котигорошко')

if vik>6: print('Як козаки сіль купували?')

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

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

25 of 30

Команда if ... else

У випадку ж, коли виконується умова, наприклад, у першій команді if, перевірки умов в інших командах виконуються марно.

Коли потрібно перевірити послідовно дві або більше умов, краще використовувати вкладені розгалуження або множинне розгалуження. Такі конструкції ми розглянемо далі.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

26 of 30

Питання для самоперевірки

  1. Як записується і виконується команда розгалуження у повній і неповній формі?
  1. Яких значень набуде змінна а після виконання команд розгалуження для початкових значень:

а) а = З, b = 5; б) а = 8, b = 2?

1)if а != b : 2) if а%3 == 0: 3) if а<b:

а = b а = а//3 а = 2*а

  1. Запишіть команди, що реалізують такі дії. Вводять число. Якщо воно менше 40, то виводиться повідомлення ВЛУЧИВ, якщо більше 40 — повідомлення ПЕРЕЛІТ.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

27 of 30

Розгадайте ребус

«Ребуси українською» © rebus1.com

Розгалуження

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

28 of 30

Домашнє завдання

Проаналізувати

с. 184-190

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

29 of 30

Працюємо за комп’ютером

Сторінка

189-190

© Вивчаємо інформатику teach-inf.com.ua

Розділ 6

§ 28

30 of 30

Дякую за увагу!

Нова українська школа

Урок 33

Інформатика 6

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.