Урок 7
Тема. Умовний оператор. Типи алгоритмів з розгалуженням.
Цілі:
навчальна: ознайомити з поняттям величини, змінної, розглянути типи змінних, ознайомити з призначенням та використанням вказівки присвоювання, ознайомити учнів з поняттям мови програмування та середовищем програмування Python;
розвивальна: сприяти розвитку логічного мислення, пізнавальної активності, уваги, спостережливості;
виховна: виховувати уважність, дисциплінованість, цілеспрямованість у досягненні мети.
Тип уроку: засвоєння нових знань.
Обладнання та наочність: дошка, комп’ютери, зошити.
Програмне забезпечення: середовище програмування Python
Хід уроку
І. Організаційний етап
привітання
перевірка присутніх
перевірка готовності учнів до уроку
ІІ. Актуалізація опорних знань
Що таке алгоритм?
Які типи алгоритмів ви вивчали?
Що таке комп’ютерна програма?
ІІІ. Мотивацій навчальної діяльності
Слово вчителя. Ви вже знайомі з алгоритмічною конструкцією «розгалуження» ‑ такою формою організації дій, при якій залежно від виконання або невиконання деякої умови здійснюється або одна, або інша послідовність дій. Для перевірки істинності умов і організації розгалужень у програмах у мові Python призначені умовні оператори lf...Then та If...Then.-.EIs
IV. Вивчення нового матеріалу
Розгалуження — це алгоритмічна структура, у якій залежно від виконання чи невиконання деякої умови здійснюється або та, або інша послідовність дій.
Команди розгалуження — це складені команди, у яких на відміну від простих команд присутні умови, в залежності від істинності яких виконуються або не виконуються оператори, що входять до складу команди розгалуження.
Для організації розгалужень у мові Python призначені умовні оператори if, if...else, if...elif...else.
Умовний оператор if
Неповне розгалуження використовується в тому випадку, коли визначені дії тільки у разі виконання умови. Алгоритмічній конструкції «неповне розгалуження» відповідає умовний оператор if.
Оператор if призначено для виконання деякої послідовності дій у тому випадку, якщо істинною є зазначена умова.
Синтаксис оператора:
іf <умова>:
<оператори>
Оператор if перевіряє істинність зазначеної умови. Як умова використовується логічний вираз (або логічна змінна як окремий випадок логічного виразу). Умова істинна, якщо логічний вираз набуває значення True, і хибна в про тилежному випадку.
Якщо умова істинна (True), програма виконає дію, зазначену в частині <оператор>. Якщо ж умова хибна (False), то керування передається оператору, що міститься після оператора if.
Блок-схема неповного розгалуження
Приклад
Складемо програму для упорядкування введених із клавіатури значень змінних a і b так, щоб a не перевищувало b:
a, b = map(int, input().split())
if a>b: a, b = b, a
print(a, b)
Зверни увагу!
Оператори записуються з обов’язковим однаковим відступом від лівого краю. Якщо оператор лише один, його можна записати після
двокрапки в одному рядку з умовою..
Умовний оператор if...else
Повне розгалуження використовується в тому випадку, коли визначені різні дії в разі виконання та невиконання умови. Алгоритмічній конструкції «повне розгалуження» відповідає умовний оператор if...else.
Синтаксис оператора:
if <умова>:
__<оператори 1>
else:
__<оператори 2>
Якщо умова виконується, тобто має значення True, то виконується блок дій <оператори 1>. В іншому випадку виконується блок дій <оператори 2>, записаний після службового слова еlse.
Зверни увагу!
Команди, вкладені в гілки if і else, записуються з однаковим відступом.
Блок-схема повного розгалуження
Приклад
Складемо програму для перевірки, чи введені 3 числа є довжинами сторін прямокутного трикутника. Для перевірки скористаємось теоремою Піфагора:
a, b, c = map(int, input().split())
if a**2 == b**2+c**2 or b**2 == a**2+c**2 or c**2 == a**2+b**2:
print('Так')
else:
print('Ні')
Приклад:
Обчислити значення виразу (a + 2b) / (a - 3b), де a, b — дійсні числа.
a, b = map(float, input().split())
if a—3*b = 0:
print( ’Вираз значення не має: ділення на нуль’)
else:
z = (a+2*b) /(a-3*b)
print(z)
Приклад:
Обчислити значення заданої функції
x = float(input())
if (x > —3) and (x < 5): y = 2*x - 12
else: y = 7-8*x
print(y)
Вкладені розгалуження
Під час розв’язування багатьох задач виникає необхідність при виконанні (або невиконанні) деякої умови знову робити вибір. У такій ситуації застосовують так звані вкладені розгалуження: у відповідній гілці умовного оператора знову використовують оператор іf.
Приклад:
Записати умовний оператор для обчислення значення функції:
If x < 0 Then y := x
Еlse If x <= 5 Then y := x * x
Else y := 2 * x;
Приклад:
Дано два числа. Визначити, чи рівні вони. Якщо ні, то яке з них більше?
if x == y: print(’Числа рівні’)
else:
if x>y: print(’Перше число більше’)
else: print(’Перше число менше’)
Приклад:
Складемо програму, яка б за уведеним цілим числом виводила слово «рік» у правильному відмінку.
K = int(input())
if K%10 == 0 or K%10>4 or K >= 11 and K <= 14: print('років')
else:
if K%10 == 1: print('рік')
else: print('роки')
Умовний оператор if...elif...else
Перевірку умови в гілці else можна записати скорочено, скориставшись ключовим словом elif (англ. else if — інакше, якщо).
Синтаксис оператора:
if <умова1>: <оператори 1>
elif <умова2>: <оператори 2>
...
elif <умова N>: <оператори N>
else: <оператори>
Інструкція if-elif-else припиняє перегляд наступних гілок, як тільки логічний вираз у поточній гілці буде True. Так, якщо вираз при if (перша гілка) буде True, то після виконання блоку <оператори 1> керування передається наступному за if-elif-else оператору. Якщо жодна з умов по гілках if-elif не є істинною, виконується блок операторів по гілці else.
Зверни увагу!
У гілці elif обов’язково повинен бути логічний вираз — умова, як у заголовку if . У кінці після всіх гілок elif може бути одна гілка else для
обробки випадків, які не відповідають умовам гілки if і всіх elif .
Блок-схема множинного розгалуження
Приклад
W = input('Введіть назву пори року: ')
if W == 'весна': print('березень, квітень, травень')
elif W == 'літо': print('червень, липень, серпень')
elif W == 'осінь': print('вересень, жовтень, листопад')
elif W == 'зима': print('грудень, січень, лютий')
else: print('неправильні дані')
Приклад:
Визначити, у якій координатній чверті лежить точка з координатами x, y (x ≠ 0, y ≠ 0).
x = int(input('x = ?'))
y = int(input('y = ?'))
if x>0 and y>0: print('І чверть')
elif x<0 and y>0: print('ІI чверть')
elif x<0 and y<0: print('ІII чверть')
elif x>0 and y<0: print('ІV чверть')
else: print('Точка лежить на осі')
Оператори порівняння
Як правило, в якості перевіряється умови використовується результат обчислення одного з наступних операторів порівняння:
< Менше - умова вірна, якщо перший операнд менше другого.
> Більше - умова вірна, якщо перший операнд більше другого.
<= Менше або дорівнює.
> = Більше або дорівнює.
== Рівність. Умова вірно, якщо два операнда рівні.
! = Нерівність. Умова вірно, якщо два операнда нерівні.
Наприклад, умова (x * x <1000) означає "значення x * x менше 1000", а умова (2 * x! = Y) означає "подвоєне значення змінної x не дорівнює значенню змінної y".
Оператори порівняння в Пітоні можна об'єднувати в ланцюжки (на відміну від більшості інших мов програмування, де для цього потрібно використовувати логічні зв'язки), наприклад, a == b == c або 1 <= x <= 10.
V. Фізкультхвилинка
VI. Засвоєння нових знань, формування вмінь
Практичне завдання.
Робота за комп’ютером
Повторення правил безпечної поведінки за комп’ютером.
Інструктаж учителя.
Практична робота за комп’ютерами.
Вправи для очей.
VIІ. Підсумки уроку
VІІI. Домашнє завдання. Опрацювати конспект.
ІХ Оцінювання роботи учнів