Уроки 47–48 · 2 урока · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
48
Практическое занятие: функции
Учебник: с. 95
ЦельНа практическом занятии решает задачи с функциями и процедурами: находит наибольшее число, выводит чётные числа и вызывает функцию внутри другой функции.
Новые слова
вызов функции: запись её имени со значениями в скобках · funksiyani chaqirishвложенный вызов: результат одного вызова используется как аргумент другого · ichma-ich chaqiruvпроцедура: функция, которая выводит данные, но не возвращает значения · protseduraвстроенное имя: имена вроде max, len, print, которые не следует использовать для собственных функций · o‘rnatilgan nom
Объяснение
При работе с функциями сначала скажите задачу функции одним предложением: «возвращает большее из двух чисел», «выводит чётные числа до n». Первая возвращает значение (return), поэтому её результат можно использовать в другом выражении: katta(katta(a, b), c) – наибольшее из трёх чисел. Вторая сразу выводит результат и не возвращает значения, то есть это процедура. Выбирайте имя по смыслу и избегайте встроенных имён вроде max и len; поэтому функцию, находящую большее число, мы назвали katta. После написания функции проверьте её, вызвав как минимум с двумя разными значениями. Объявление функции должно стоять до её вызова, иначе появится NameError.
Примеры
Наибольшее из трёх чисел: def katta(a, b): ⏎ if a > b: ⏎ return a ⏎ else: ⏎ return b ⏎ a = int(input()) ⏎ b = int(input()) ⏎ c = int(input()) ⏎ print(katta(katta(a, b), c)) Для 14, 31, 22 выводится 31.
Процедура для чётных чисел: def juftlar(n): ⏎ for i in range(2, n + 1, 2): ⏎ print(i, end=" ") ⏎ juftlar(10) juftlar(10) выводит на экран 2 4 6 8 10 и не возвращает значения.
Работа в классе
«Библиотека функций»: группа пишет 3 небольшие функции (меньшее, квадрат, сумма цифр) и собирает их в одном файле; другая группа вызывает и использует их в своей задаче.
Упражнения
1
Напишите программу с функцией kichik(a, b) для нахождения наименьшего из трёх чисел (4 для 9, 4, 6).
def kichik(a, b): ⏎ if a < b: ⏎ return a ⏎ else: ⏎ return b ⏎ print(kichik(kichik(9, 4), 6))
2
Напишите функцию ortacha(a, b, c), возвращающую среднее трёх чисел, и выведите ortacha(4, 5, 9) (6.0).
def ortacha(a, b, c): ⏎ return (a + b + c) / 3 ⏎ print(ortacha(4, 5, 9))
3
Что выводит на экран juftlar(7)?
2 4 6
4
Почему лучше не называть собственную функцию max?
max – встроенная функция; собственное имя скроет её и вызовет путаницу в других местах.