Что такое функция (часть 1)

В этом разделе мы познакомимся с понятием функции так, как его используют в математике и программировании: что значит «передать аргумент в функцию» и «функция возвращает результат».

1. Идея функции: правило, которое даёт результат

Функция — это правило, по которому из одних данных получаются другие. Можно представить себе «чёрный ящик»: на вход мы кладём данные (аргументы), внутри выполняются действия, а на выходе получаем результат.

\[ f : X \to Y, \quad x \mapsto f(x) \]

Здесь \(X\) — множество возможных входов, \(Y\) — множество возможных результатов, а \(f\) — правило, которое каждому \(x\) ставит в соответствие \(f(x)\).

2. Математический пример функции

Пример 1. Функция, заданная формулой

Пусть задана функция:

\[ y(x) = x + 5 \]

Это значит: чтобы получить результат, нужно к числу \(x\) прибавить 5.

x Вычисление y(x)
3 3 + 5 8
5 5 + 5 10

Мы говорим: «число 3 передали в функцию, функция вернула 8», «число 5 передали в функцию, функция вернула 10».

3. Функция как правило, описанное словами

Пример 2. Словесное задание функции

Договоримся о таком правиле:

Пусть первое число = 2, второе = 4.

  1. Умножаем: \(2 \times 4 = 8\).
  2. Прибавляем: \(8 + 5 = 13\).
  3. Умножаем на первое: \(13 \times 2 = 26\).

Функция взяла два аргумента (2 и 4) и вернула результат 26.

\[ f(a, b) = (a \cdot b + 5) \cdot a \]

4. Функции в повседневной жизни

Функция — это не только формула. Это может быть и последовательность действий, например рецепт.

Пример 3. Приготовление супа

Входные данные: картофель, лук, вода, соль, специи.

Функция: «приготовить суп» — последовательность действий (почистить, нарезать, сварить…).

Результат: тарелка супа.

\[ \text{суп} = \text{готовим\_суп}(\text{картофель}, \text{лук}, \dots) \]

Важно, что подойдут разные конкретные картофелины — функция работает с «любым картофелем», а не с одной особенной.

Пример 4. Домашнее задание

Входные данные: учебник, тетрадь, ручка, линейка.

Функция: «сделать домашнее задание» (прочитать задание, решить, аккуратно записать).

Результат: тетрадь с выполненной работой.

\[ \text{ДЗ} = g(\text{учебник}, \text{тетрадь}, \text{ручка}, \text{линейка}) \]

5. Визуализация: аргумент заходит, результат выходит

Посмотрим на схему, где число \(x\) попадает в «коробку» функции \(f\), а на выходе получается \(f(x)\). Здесь мы берем конкретный пример: \(f(x) = x + 5\) и \(x = 3\).

кликни/тапни — пауза/продолжить
f(x) = x + 5 x = 3 f(x) = 8

Текст «x = 3» и «f(x) = 8» закреплён в определённых координатах SVG, а движение и появление реализуются с помощью CSS-анимаций через классы .arg и .result.

6. Функции от нескольких аргументов

Функция может получать сразу несколько аргументов. Например:

\[ 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

7. Функции могут использовать другие функции

В математике и программировании одна функция может использовать другую. Такой случай называют сложной функцией.

Пример 5. Сложная функция

\[ g(x) = x + 9, \quad f(x) = g(x) \cdot 5 \cdot x \]

Найдём \(f(4)\):

  1. Сначала вычисляем \(g(4) = 4 + 9 = 13\).
  2. Подставляем в \(f(x)\): \(f(4) = 13 \cdot 5 \cdot 4 = 260\).

Сначала мы «передаём» 4 в функцию \(g\), а результат \(g(4)\) потом передаём дальше внутри \(f\).

8. Проверь себя

Задание

Пусть функция задана формулой:

\[ f(x, y) = 2x + 5y \]

Вычисли значения функции при следующих наборах аргументов:

Можно дополнительно сделать режим случайных задач: случайно выбирать целые положительные значения \(x\) и \(y\) до 6 и просить ученика вычислить результат.