"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", Г.А. Заборовский, А.Е. Пупцев
Функция — отдельная часть программы, выполняющая определённое действие и возвращающая результат. Она помогает не повторять одинаковый код, разбивать сложную задачу на понятные части и использовать готовые вычисления. При вызове функции ей передают фактические параметры, которые связываются с формальными параметрами в её описании. Полученный результат можно присвоить переменной или включить в выражение.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Функция в программе — подпрограмма, то есть отдельная часть программы, которая выполняет действие и возвращает результат. Ей дают имя, чтобы обращаться к ней из других мест программы. Это нужно для повторного использования одного алгоритма без копирования его команд.
Формальный параметр — переменная, указанная в описании функции и принимающая переданное ей значение. Она выступает как место для исходных данных, с которыми будет работать алгоритм. Благодаря формальным параметрам одна и та же функция может обрабатывать разные значения.
Фактический параметр — конкретное значение или выражение, передаваемое функции при вызове. Например, в записи square(7) число 7 является фактическим параметром. Он сообщает функции, какие исходные данные нужно использовать в данном запуске.
Возвращаемое значение — результат работы функции, который можно использовать дальше в программе. Его присваивают переменной, выводят на экран или включают в другое выражение. Без использования возвращённого результата вычисление может оказаться ненужным для основной программы.
Функцию выделяют в отдельную часть программы, чтобы повторно использовать вычисление и не дублировать одинаковые команды. Если один алгоритм записать несколько раз, исправление ошибки потребует менять каждый экземпляр. При отдельном описании достаточно изменить функцию один раз, а все её вызовы начнут использовать новую версию.
При вызове функции программа передаёт ей фактические параметры, которые связываются с формальными параметрами. Такое соответствие позволяет алгоритму работать не с абстрактными именами, а с конкретными данными текущего запуска. Если параметров несколько, обычно учитывают их порядок, количество и допустимые типы.
После получения исходных данных функция выполняет записанные в ней команды и формирует результат, соответствующий её назначению. Например, функция поиска большего числа сравнивает два значения, а функция вычисления квадрата умножает число на себя. Внутренние шаги могут быть скрыты от основной программы, поэтому достаточно знать назначение функции и правила её вызова.
Возвращаемое значение позволяет включать вызов функции в выражения, потому что вместо вызова можно получить конкретный результат. Нужно учитывать тип этого результата: число можно складывать, а логическое значение обычно используют в условии. Готовая библиотечная функция вызывается так же, как самостоятельно созданная, но её описание и алгоритм уже подготовлены разработчиками языка или библиотеки.
| Элемент | Что означает | На что обратить внимание |
|---|---|---|
| Имя функции | Обозначение, по которому программу просят выполнить нужный алгоритм | Проверить написание и область доступности имени |
| Формальные параметры | Переменные из описания функции | Уточнить их количество, порядок и типы |
| Фактические параметры | Значения или выражения при конкретном вызове | Сопоставить их с формальными параметрами |
| Возвращаемое значение | Результат, который функция передаёт вызывающей программе | Узнать тип результата и правила его получения |
| Результат вызова | Полученное после выполнения функции значение | Сохранить его или использовать в выражении |
Таблица помогает разобрать вызов функции по частям: сначала находят имя, затем переданные аргументы и ожидаемый результат. При проверке записи сопоставьте каждый фактический параметр с соответствующим формальным и убедитесь, что результат используется дальше.
Условие: вычислить квадрат числа с помощью готовой функции, если она доступна в изучаемой среде программирования. Обозначим такую функцию square(x), где x — исходное число, а результатом является x².
Ответ: при x = 5 функция возвращает 25, поэтому y = 25. Если в конкретном языке функция называется иначе, нужно использовать её настоящее имя и правила записи.
Условие: вызвать функцию, которая принимает два числа и возвращает большее из них. Пусть её описание условно обозначено как maximum(a, b), а вычислить нужно большее из 12 и 19.
Ответ: result = 19. Порядок параметров здесь важен, поскольку первое и второе переданные значения связываются с разными формальными параметрами.
Условие: вычислить выражение, в котором несколько раз встречается одно и то же действие. Пусть нужно найти z = (a² + b²) / (a² + b² + 1), а повторяющуюся сумму выделить в функцию sumsq(a, b).
Ответ: z = 25/26. Функция сделала запись короче и позволила один раз задать повторяющееся вычисление, а основное выражение стало понятнее.
Путать описание функции с её вызовом. Описание задаёт алгоритм и параметры, а вызов запускает этот алгоритм. Проверьте, есть ли в программе отдельное описание и отдельная запись с фактическими аргументами.
Передавать неверное число или тип аргументов. Ошибка возникает, когда требования функции не сверяют с вызовом. Пересчитайте аргументы и убедитесь, что их значения совместимы с указанными типами.
Считать, что вызов сам сохраняет результат. Функция может вернуть значение, но оно не окажется в нужной переменной автоматически. Проверьте, присвоен ли результат переменной или включён ли вызов в выражение.
Путать имена параметров. Имя формального параметра относится к описанию и не обязано совпадать с именем переменной при вызове. Проверяйте не одинаковость имён, а соответствие порядка и передаваемых значений.
Для работы с функциями нужны знания о переменных, типах данных, выражениях и передаче значений в алгоритме. Переменные хранят исходные данные и результаты, а выражения позволяют использовать возвращённое значение в дальнейших вычислениях.
Функции применяют при разработке программ и разбиении большой задачи на части. Они также связывают основную программу с библиотеками, где уже подготовлены часто используемые вычисления.
Чем функция отличается от обычного фрагмента программы?
Функция имеет имя, может принимать параметры и возвращает результат. Её можно вызвать из разных мест программы, не переписывая команды вычисления.
Что такое фактический и формальный параметры?
Формальный параметр записывают в описании функции как переменную, которая примет значение. Фактический параметр — это конкретное значение или выражение, переданное функции при вызове.
Можно ли вызвать функцию без параметров?
Да, если при описании функции параметры не предусмотрены. Вызов такой функции содержит только её имя и обозначения, необходимые для запуска в выбранном языке программирования.
Как использовать результат, возвращённый функцией?
Результат можно присвоить переменной, вывести или включить в другое выражение. Например, значение функции f(x) можно использовать в записи y = f(x) + 2.
Чем готовая библиотечная функция отличается от созданной программистом?
Библиотечная функция уже описана разработчиками и доступна после подключения нужных средств языка. Самостоятельно созданную функцию программист сначала описывает, а затем вызывает по имени.
§ 15. Использование функций