Інформація про новину
  • Переглядів: 209
  • Дата: 28-09-2022, 19:17
28-09-2022, 19:17

29. Алгоритми і програми з розгалуженнями. умовний оператор IF ... ELSE

Категорія: Інформатика





Попередня сторінка:  28. Алгоритми і програми з розгалуження...
Наступна сторінка:   30. Алгоритми з повтореннями. Цикл із лі...

Ви вже знаєте, що у випадках, коли нам потрібно, щоб наша програма виконувала одні дії, якщо деяка умова істинна, та інші дії, якщо ця умова хибна, використовується алгоритмічна конструкція повне розгалуження. Цій конструкції відповідає умовний оператор if ... else (рис. 29.1).

Синтаксис умовного оператора в повній формі: if <умова> :

<оператор 1> else:

<оператор 2>

Якщо умова істинна (True), програма виконає блок дій <Оператор 1>. Якщо умова хибна (False), виконується блок дій <Оператор 2>, який міститься після службового слова else.

ПРИКЛАД 1. Якщо користувач уводить літеру «у», виводиться вітання Вітаю!, інакше текст Щасти тобі!. Після виконання одної з гілок оператора if ... else програма переходить до виконання наступного оператора. answer = триД’Сьогодні твій день народження? (y/n)’) if answer == ’y’:

ргіП;('Вітаю!')

else:

ргігі;(’Щасти тобі!’) ргіП;(Тарного дня!’)

ПРИКЛАД 2. Оператор if ... else реалізує таку дію: якщо a > b, то змінні міняються значеннями так, щоб виявилося a < b. Результат виконання програми наведено на рис. 29.2. if a>b: c = a a = b b = c

print(’a i b помінялися значеннями’) else:

ргтД’обміну значеннями не потрібно’)

print (’a = ’, a, ’b = ’, b)

Зверніть увагу на відступи від лівого краю в прикладі 2: команди, вкладені в гілки оператора if, записані на одній вертикалі.

Приклад 3. Оператор if ... else перевіряє, чи існує трикутник зі сторонами а, b, c. Правило трикутника: сума двох будь-яких сторін повинна бути більша за третю.

if(a<b+c) and (b<a+c) and (c<a+b):

ргі^^Трикутник з такими сторонами існує’) єКє: ргі^^Трикутника з такими сторонами не існує’)

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

ПРИКЛАД 4. Скласти програму пошуку найбільшого з трьох чисел а, b, с. Блок-схему алгоритму пошуку найбільшого з трьох чисел наведено на рис. 29.3.

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)

Отже, умовні оператори if та if ... else є важливими інструментами програмування, які стануть вам у пригоді під час створення тестових та ігрових програм.

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

1. Як записується й виконується умовний оператор у повній формі?

2. Як виконуються логічні операції and, or, not?

3. Яких значень набудуть змінні а і b після виконання умовних операторів, наведених нижче, для початкових значень а = 3; b = 5?

4. Яких значень набудуть змінні а і b після виконання умовних операторів, наведених у таблиці, для початкових значень а = 3; b = 5?

а) if a>b: б) if a != b: в) if a%2 == 0: г) if a>b : ґ) if a<b :

a = 0 a = b a = a//2 a = a+10 a = 2*a

else: else: else: else: else:

b = 0 а = 0 а = а+1 b = b+10 b = b*a

5. Запишіть оператори розгалуження, які реалізують такі дії:

а) змінній m присвоїти значення меншого з чисел а і b;

б) якщо ціле число а парне, поділити його на 2, інакше збільшити а

на 1;

в) значення більшого з чисел а і b замінити нулем.

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

Вправа 29

Скласти програму, яка визначає, чи достатньо користувачеві років, щоб керувати автомобілем.

Задача. Потрібно ввести вік користувача та зберегти значення в змінній age; якщо age >= 18, то вивести повідомлення Ваш вік дозволяє керувати авто, інакше — змінній r присвоїти значення виразу (18-age), вивести повідомлення, через скільки років користувач зможе отримати посвідчення.

1) Відкрийте вікно IDLE і створіть нове вікно програми.

2) Уведіть текст програми, наприклад такий: age = іП;(іпри^’Скільки вам років?’))

if age >= 18: ргіп^’Ваш вік дозволяє керувати авто’) else:

r = 18-age

ргіп^’Доведеться почекати’, r,’ років’)

3) Збережіть файл у власній папці з іменем Вправа 32.

4) Запустіть програму на виконання, проаналізуйте результат виконання програми у вікні консолі. Випробуйте програму для різних значень змінної age.

5*) Змініть програмний код так, щоб у випадку age >= 18 виводилось повідомлення, скільки років людина вже могла б керувати автомобілем.

6) Закінчіть роботу, закривши вікно IDLE.

Комп’ютерне тестування

Виконайте тестове завдання 29 з автоматичною перевіркою результату.

ПРАКТИЧНА РОБОТА 9. Складання та виконання алгоритмів із

розгалуженнями

Завдання: скласти програму для обчислення коренів рівняння

ax + b = c.

Обладнання: комп’ютер зі встановленим середовищем програмування Python.

Хід роботи

Під час роботи з комп ’ютером дотримуйтеся правил безпеки.

1) Проаналізуйте словесний алгоритм розв’язування рівняння: якщо a = 0, b = c, то коренем рівняння є будь-яке число; якщо a = 0, b Ф c, то коренів немає; якщо а Ф 0, то x = (c - b) / a.

2) Відкрийте вікно IDLE і створіть нове вікно програми. Збережіть файл у власній папці з іменем Практична 10.

3) Складіть програму на основі блок-схеми (рис. 1).

# Програма розв’язування рівняння a = int(input(’a = ?’)) b = int(input(’b = ?’)) c = int(input(’c = ?’)) if a != 0:

x = (c-b)/a print(’x = ’, x)

if а == 0 and b == c: ргт^’безліч коренів’) if а == 0 and b != c: print(’KopeHi відсутні’)

4) Запустіть програму на виконання.

Перевірте роботу програми для тестового набору значень (рис. 2).

5) Випробуйте програму для таких наборів коефіцієнтів:

а) a = 5; b = 3; c = 3;

6) а = 0; b = 2; c = 17;

в) a = 0; b = 4; c = 4.

6) Закінчіть роботу, закривши вікно IDLE.

Зробіть висновок: як складати та виконувати алгоритми з розгалуженням для розв’язування задач.

 

 

 

Це матеріал з підручника "Інформатика" 5 клас Бондаренко 2022

 




Попередня сторінка:  28. Алгоритми і програми з розгалуження...
Наступна сторінка:   30. Алгоритми з повтореннями. Цикл із лі...



^