Обчислення з використанням функцій користувача
Нова українська школа
Урок 51
Інформатика 7
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Обчислення з використанням�функцій користувача
Ви вже вмієте викликати функції, передаючи значення для їх формальних параметрів.
Щоб викликати функцію, що не повертає значення, слід ввести її ім’я й додати дужки зі списком значень, які треба присвоїти формальним параметрам.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Повернення результату виконання функції
Припустимо, що в тілі функції виконуються деякі обчислення. Якщо результат обчислень у подальшому треба використовувати в основній програмі, у тілі функції потрібно записати команду: return <вираз>.
Команда return припиняє виконання функції й повертає значення виразу у місце виклику функції.
def avr(c1,c2):
return (c1+c2)/2
sar1 = avr(x1,x2)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Повернення результату виконання функції
Ім’я і параметри функції записують у правій частині команди присвоювання. Можна також викликати функцію зі списку виведення команди print().
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Повернення результату виконання функції
Складемо програму для розв’язування задачі.
Задача. У першому магазині мобільні телефони видів
А і Б коштують а1, b1 грн, а в другому – а2, b2 грн. Визначимо, у якому магазині середня ціна телефонів нижча.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Повернення результату виконання функції
Дізнаймося, як проаналізувати програмний код.
У тілі функції avr() уводяться значення локальних змінних а, b
Обчислюється середнє арифметичне значень а, b
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Повернення результату виконання функції
Команда return повертає значення змінної sar в основну програму
Змінним
sar1 і sar2 присвоюється результат, який повертає функція без параметрів avr()
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Повернення результату виконання функції
Команда розгалуження порівнює значення змінних sar1 і sar2
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Області видимості змінних
Не можна використати змінні, створені в тілі функції, після того, як ця функція завершить роботу. Ці змінні існують тільки під час її виконання. У таких випадках говорять, що обмежена область видимості змінних.
Змінні, створені всередині тіла функції, є локальними – їх «не видно» з інших функцій і з основної програми.
Область видимості — це та частина програмного коду, в якій змінна доступна для використання.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Області видимості змінних
Якщо змінна створена в основній програмі, вона є глобальною і її можна використовувати у всіх наступних командах і в будь-якій функції.
Якщо потрібно змінити глобальну змінну всередині функції, то слід використовувати ключове слово global.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Області видимості змінних
У програмах, де потрібно підраховувати кількість деяких подій (кількість правильних відповідей у тестовій програмі, кількість влучань в ігровій програмі та ін.) зазвичай глобальна змінна-лічильник створюється в основній програмі. Проте зміна значення лічильника має відбуватися в тілі функції, яка аналізує подію, що відбулася (чи правильна відповідь, чи зроблено вдалий хід тощо). Тому потрібно командою:
global <назва глобальної змінної>
дозволити змінювати її значення в тілі функції.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Ознайомтеся з цікавою інформацією
Карен Спарк Джон — британська дослідниця, яка розробила технології пошуку, що дозволили працювати з комп'ютерами, використовуючи слова замість рівнянь і кодів.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Області видимості змінних
Розгляньмо приклад програми для перевірки знання користувачем або користувачкою таблиці множення.
В основній програмі створена змінна к для підрахунку числа правильних відповідей.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Області видимості змінних
У тілі функції значення лічильника збільшується, якщо уведене число дорівнює добутку випадкових чисел а і b.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Алгоритм створення функції в Python
Алгоритм знаходження найбільшого спільного дільника (НСД) двох чисел m і n НСД(m, n) описано в ІІІ ст. до н. е. в трактаті «Початки» грецького математика Евкліда: поки a ≠ b, від більшого числа віднімати менше.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Алгоритм створення функції в Python
Розгляньмо алгоритм створення функції для обчислення деякого значення на прикладі пошуку НСД двох чисел.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Алгоритм створення функції в Python
1. Визначити, що має робити функція, і дібрати належну назву
2. Написати тіло функції
3. Викликати функцію із зазначеними аргументами для перевірки роботи
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Алгоритм створення функції в Python
Виконаємо програму для
n = 90; n = 54.
Варто супроводжувати функції коментарями: це полегшить подальшу роботу з програмою.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Питання для самоперевірки
x = 123;
x = 54 321?
def f(x):
k = 0
while x>0:
x = x // 10
k += 1
return k
x = int(input('x = ?'))
print(f(x))
def sum(a, b):
return a+b
s = sum(3, 5)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Розгадайте ребус
«Ребуси українською» © rebus1.com
Користувач
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Домашнє завдання
Проаналізувати
с. 240-245
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Працюємо за комп’ютером
Сторінка
244-245
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 40
Дякую за увагу!
Нова українська школа
Урок 51
Інформатика 7
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.