Урок 7

Урок 7. Умовний оператор..pptx

Тема. Умовний оператор. Типи алгоритмів з розгалуженням.

Цілі:

Тип уроку: засвоєння нових знань.

Обладнання та наочність: дошка, комп’ютери, зошити.

Програмне забезпечення: середовище програмування 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. Домашнє завдання. Опрацювати конспект.

ІХ Оцінювання роботи учнів