В этом разделе мы познакомимся с понятием функции так, как его используют в математике и программировании: что значит «передать аргумент в функцию» и «функция возвращает результат».
Функция — это правило, по которому из одних данных получаются другие. Можно представить себе «чёрный ящик»: на вход мы кладём данные (аргументы), внутри выполняются действия, а на выходе получаем результат.
Здесь \(X\) — множество возможных входов, \(Y\) — множество возможных результатов, а \(f\) — правило, которое каждому \(x\) ставит в соответствие \(f(x)\).
Пусть задана функция:
\[ y(x) = x + 5 \]
Это значит: чтобы получить результат, нужно к числу \(x\) прибавить 5.
| x | Вычисление | y(x) |
|---|---|---|
| 3 | 3 + 5 | 8 |
| 5 | 5 + 5 | 10 |
Мы говорим: «число 3 передали в функцию, функция вернула 8», «число 5 передали в функцию, функция вернула 10».
Договоримся о таком правиле:
Пусть первое число = 2, второе = 4.
Функция взяла два аргумента (2 и 4) и вернула результат 26.
\[ f(a, b) = (a \cdot b + 5) \cdot a \]
Функция — это не только формула. Это может быть и последовательность действий, например рецепт.
Входные данные: картофель, лук, вода, соль, специи.
Функция: «приготовить суп» — последовательность действий (почистить, нарезать, сварить…).
Результат: тарелка супа.
\[ \text{суп} = \text{готовим\_суп}(\text{картофель}, \text{лук}, \dots) \]
Важно, что подойдут разные конкретные картофелины — функция работает с «любым картофелем», а не с одной особенной.
Входные данные: учебник, тетрадь, ручка, линейка.
Функция: «сделать домашнее задание» (прочитать задание, решить, аккуратно записать).
Результат: тетрадь с выполненной работой.
\[ \text{ДЗ} = g(\text{учебник}, \text{тетрадь}, \text{ручка}, \text{линейка}) \]
Посмотрим на схему, где число \(x\) попадает в «коробку» функции \(f\), а на выходе получается \(f(x)\). Здесь мы берем конкретный пример: \(f(x) = x + 5\) и \(x = 3\).
Текст «x = 3» и «f(x) = 8» закреплён в определённых координатах SVG, а движение и появление реализуются
с помощью CSS-анимаций через классы .arg и .result.
Функция может получать сразу несколько аргументов. Например:
\[ f(x, y) = 2x + 5y \]
Посчитаем несколько значений:
| x | y | f(x, y) |
|---|---|---|
| 5 | 2 | 2·5 + 5·2 = 20 |
| 1 | 7 | 2·1 + 5·7 = 37 |
| 0 | 0 | 2·0 + 5·0 = 0 |
В математике и программировании одна функция может использовать другую. Такой случай называют сложной функцией.
\[ g(x) = x + 9, \quad f(x) = g(x) \cdot 5 \cdot x \]
Найдём \(f(4)\):
Сначала мы «передаём» 4 в функцию \(g\), а результат \(g(4)\) потом передаём дальше внутри \(f\).
Пусть функция задана формулой:
\[ f(x, y) = 2x + 5y \]
Вычисли значения функции при следующих наборах аргументов:
Можно дополнительно сделать режим случайных задач: случайно выбирать целые положительные значения \(x\) и \(y\) до 6 и просить ученика вычислить результат.