"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович
Стандартные функции — готовые средства языка программирования для часто встречающихся вычислений: нахождения модуля, корня, логарифма или округления. Функцию записывают с аргументом в круглых скобках, а её вызов при вычислении заменяется результатом. Этот результат можно использовать отдельно, сохранить в переменной или включить в более сложное выражение. Чтобы получить правильный ответ, нужно выбрать подходящую функцию, проверить допустимость аргумента и учитывать тип результата.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Стандартная функция — встроенное средство языка программирования для выполнения часто используемого вычисления. Например, вместо того чтобы каждый раз описывать способ нахождения модуля числа, можно обратиться к готовой функции abs. Это нужно, чтобы короче записывать программы и не создавать заново алгоритмы типовых действий.
Аргумент функции — значение или выражение в скобках, от которого зависит результат вызова функции. В записи sqrt(x + 1) аргументом является выражение x + 1, а не только переменная x. Аргумент задаёт данные для вычисления, поэтому его смысл и допустимые значения нужно проверять.
Вызов функции — запись имени функции и её аргумента в выражении; при вычислении вызов заменяется результатом. Например, abs(-7) — это вызов функции abs с аргументом −7. Такая запись сообщает программе, какое действие выполнить и с каким значением.
Значение функции — результат, который функция возвращает и который можно использовать в выражении или присвоить переменной. Для abs(-7) результат равен 7, поэтому вместо вызова в дальнейших вычислениях можно использовать это число. Понимание результата помогает проверить вычисление и правильно продолжить программу.
Стандартные функции нужны потому, что многие программы выполняют одинаковые вычисления: находят корень, модуль или значение тригонометрической функции. Язык предоставляет такие действия готовыми, поэтому программисту не приходится каждый раз описывать их по шагам. Это делает запись короче, а программу — понятнее, если имя функции соответствует требуемому действию.
Обычная запись вызова состоит из имени функции и аргумента в круглых скобках: например, abs(a). Скобки показывают, какое значение нужно обработать; без них запись не задаёт полный вызов. Аргументом может быть и выражение, например sqr(x + 2): сначала программа вычисляет x + 2, а затем возводит полученное значение в квадрат.
Функции различаются назначением и типом результата. Математические функции, например sqrt или sin, возвращают вычисленное число; функции trunc и round возвращают целое значение. Это различие важно, когда результат присваивают переменной: тип переменной должен подходить для хранения результата, иначе значение может быть представлено неверно или возникнет ошибка.
Результат функции можно подставить в более крупное выражение, например записать sqr(x) + sqrt(x). Сначала вычисляются аргументы вызовов, затем результаты участвуют в сложении по обычным правилам порядка операций. Скобки позволяют явно указать, какую часть выражения нужно вычислить первой, а также помогают сделать запись понятнее.
У каждой функции есть допустимые аргументы, потому что не всякое математическое действие имеет результат для любого числа. Для вещественных значений sqrt(x) требует x ≥ 0, а ln(x) — x > 0; нарушение условия приводит к недопустимой операции. Также нельзя путать trunc и round: первая функция отбрасывает дробную часть, вторая округляет число до целого, поэтому их ответы могут различаться.
| Функция | Назначение | Особенность аргумента или результата |
|---|---|---|
| abs(x) | Модуль числа | Результат неотрицательный |
| sqr(x) | Квадрат числа | Вычисляет x² |
| sqrt(x) | Квадратный корень | Для вещественных чисел x ≥ 0 |
| sin(x), cos(x), arctan(x) | Тригонометрические вычисления | Учитывайте принятую языком единицу измерения угла |
| ln(x), exp(x) | Натуральный логарифм и экспонента | Для ln требуется x > 0 |
| trunc(x), round(x) | Отбрасывание дробной части и округление до целого | Результат — целое значение |
Чтобы выбрать функцию, сначала определите, какое действие требуется выполнить, а затем проверьте ограничения на аргумент. Для вычислений с вещественными числами особенно внимательно сравнивайте trunc и round: они по-разному обрабатывают дробную часть.
Задача 1. Вычислить значение выражения abs(-7) и вывести результат. Нужно определить, какое действие задано именем функции, и заменить вызов полученным значением. Модуль числа показывает его расстояние от нуля, поэтому он не может быть отрицательным.
Ответ: 7.
Задача 2. Для заданного вещественного x вычислить x² + √x, если x неотрицательно. Здесь используются квадрат числа и квадратный корень, поэтому удобно записать выражение как sqr(x) + sqrt(x). Перед вычислением проверяем условие: оно гарантирует, что аргумент sqrt допустим.
Ответ: значение выражения sqr(x) + sqrt(x) при x ≥ 0. Например, при x = 4 получаем 16 + 2 = 18.
Задача 3. По заданному вещественному числу определить результаты trunc(x) и round(x), затем вывести их. Здесь требуется не просто убрать цифры после запятой: сначала выясняем, какую именно обработку дробной части задаёт каждая функция. Чтобы сравнение было наглядным, рассмотрим пример x = 3,7.
Ответ: trunc(3,7) = 3, round(3,7) = 4. Для другого x ответы нужно вычислить заново по правилам соответствующих функций.
Записывать имя функции без скобок или забывать аргумент — значит не оформить вызов полностью. Так бывает, когда функцию принимают за обычное слово или имя переменной. Проверьте, есть ли после имени круглые скобки и указан ли в них нужный аргумент.
Считать, что trunc и round работают одинаково, — ошибка: trunc отбрасывает дробную часть, а round округляет число до целого. Их путают, потому что обе функции дают целое значение. Для проверки возьмите число с дробной частью, например 3,7: ответы будут разными.
Передавать недопустимый аргумент — значит просить выполнить математическое действие, у которого нет вещественного результата. Например, sqrt требует неотрицательного аргумента, а ln — положительного. Перед вычислением проверьте знак и значение аргумента по условию допустимости функции.
Предполагать, что функция возвращает значение того же типа, что и её аргумент, нельзя. Например, trunc и round дают целый результат, хотя аргумент может быть вещественным. Проверяйте назначение функции и тип результата, а затем убедитесь, что переменная для него подходит.
Для работы со стандартными функциями нужны знания о переменных и их типах: результат вычисления часто сохраняют в переменную, и её тип должен соответствовать результату. Также пригодятся арифметические выражения, скобки и порядок выполнения операций, потому что аргумент функции может сам быть выражением. Эти функции используются при составлении программ для вычислений по формулам, обработки чисел и решения задач с вещественными величинами. Поэтому умение проверять аргументы и выбирать нужную функцию помогает перейти от математической формулы к работающей программе.
Зачем использовать стандартную функцию, если вычисление можно записать самому?
Стандартная функция уже выполняет типовое вычисление, поэтому не нужно каждый раз составлять для него отдельный алгоритм. Это сокращает программу и помогает избежать ошибок.
Можно ли передать функции выражение, а не отдельную переменную?
Да, аргументом может быть выражение, например sqrt(x + 1). Сначала вычисляется выражение в скобках, затем полученное значение передаётся функции.
Почему при вычислении sqrt нужно проверять знак аргумента?
В обычных вычислениях квадратный корень из отрицательного числа не определён среди вещественных чисел. Поэтому аргумент sqrt должен быть неотрицательным.
Чем trunc отличается от round?
trunc отбрасывает дробную часть, не округляя число до ближайшего целого. round округляет число до целого по правилам округления.
Можно ли использовать вызов функции внутри другого выражения?
Да, результат функции можно сочетать с другими числами и операциями, например записать x² + sqrt(x). При вычислении учитываются скобки и обычный порядок выполнения операций.
§ 15. Использование стандартных функций