ГДЗ Інформатика 8 клас. Підручник [Бондаренко О.О., Ластовецький В.В., Пилипчук О.П., Шестопалов Є.А.] 2021
01.02.2022,
8 Клас / Інформатика,
42 584,
2
§ 30. Функції користувача
Питання для самоперевірки1. Як передаються значення параметрів при виклику функції?
Коли програма зустрічає виклик функції, керування передається у функцію із зазначеною назвою. Значення фактичних параметрів (аргументів) передаються формальним параметрам, тому слід дотримуватися відповідності між списками формальних і фактичних параметрів щодо їх кількості, порядку, типів. Після виконання операторів тіла функції програма продовжить виконуватися з оператора, наступного за оператором виклику функції.
2. Знайдіть і поясніть помилки в програмному коді:
а) def f1():
a += 1
a = 10
f1()
print(a)
Не ініціалізована змінна ‘а’ в функції
UnboundLocalError: local variable referenced before assignment
б) def f2(y):
y = y//10
x = 32
a = f2(x)
print(a)
Функція не повертає значення, тому після виконання дії не виводиться результат
в) def f3(y):
y = y%10
return y
x = 25
f3(x)
print(x)
Якщо ми хочемо вивести значення змінної ‘х’ після обчислень функції, тоді або треба переініціалізовувати змінну або виводити функцію, бо у даному випадку змінна ‘х’ не змінюється.
3. Що надрукує програма, якщо: а) х=38, y=4; б) х=25, y=10?
def m(a, b):
return a//b, a%b
x = int(input('x = ?'))
y = int(input('y = ?'))
n, k = m(x, y)
print(n, k)
a) 9 2
б) 2 5
4. Поясніть роботу функції nsd(m, n) з прикладу 2.
def nsd(m, n):
while m != n:
if m>n: m = m–n
else: n = n–m
return m
За функцією, поки m не дорівнює n виконуються такі умови: якщо m>n, то m = m–n, якщо ні, то n = n–m. Коли цикл закінчує дію функція повертає значення m.
Якщо помітили в тексті помилку, виділіть її та натисніть Ctrl + Enter