Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Введение Функции

В этом курсе мы изучим функции, которые представляют важную объединяющую концепцию в математике. В компьютерной науке функции — это компоненты программ, которые формализуют отношения между входом и выходом для вычислений. Проблема проектирования комбинаторной схемы часто начинается с определения функции, которая описывает поведение схемы для каждого возможного входа.

Когда мы используем функции, чтобы описать поведение схемы, мы можем использовать различные методы для построения комбинаторной схемы с таким же поведением. Поскольку функции — это особые виды множеств или отношений, мы будем изучать их здесь и использовать идеи, которые представлены в других курсах по дискретной математике.

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

Что такое функция

Функция — это черный ящик, в который помещают объекты, а выходят другие. Функция определяется двумя фундаментальными свойствами:

  • Если объект введен, то что-то должно выйти

  • Для каждого объекта на входе существует только один возможный выход

Функции важны в математике, потому что они описывают окружающий мир как систему. Все вокруг нас можно воспринимать как систему — то есть некую структуру, которая состоит из входов, обработки и выходов.

Разберем подробнее, что это значит. Возьмем для примера нервную систему человека:

  • Вход: Мы дотронулись до чайника, кожа ощутила жар от него и отправила сигнал в мозг

  • Обработка: Мозг принял сигнал, обработал его и отправил мыщцам команду «Отдернуть руку»

  • Выход: Мыщцы приняли сигнал, мы убрали руку от горячего чайника

Как видите, здесь есть вход, обработка и выход — так работают системы. То, что происходит на этапе обработки, можно назвать функцией. Например, прием сигналов и их обработка — это и есть функция нашего мозга.

Таких систем внутри человека много, поэтому тело — это система систем. Таким же образом устроено все вокруг нас: животные и растения, природные явления, человеческое общество, компании, науки, идеи и концепции. Разделяя окружающий мир на системы, мы пытаемся лучше понять его, выяснить его характеристики, выстроить свою линию поведения.

Разберем работу функций и ее свойства на примерах.

Как представлять задачи как функции

Для начала рассмотрим простой пример. Представьте классную комнату, в которой каждый ученик сидит на стуле. Мы можем узнать, на каком стуле сидит каждый ученик в классе. Для этого можно создать функцию и дать ей какое-то подходящее по смыслу название — например, .

Кроме таких простых задач, можно решать более неочевидные. Функцию можно задавать даже там, где у нас недостаточно информации.

Например, можно создать функцию — она принимает на вход любого человека из издания Британской энциклопедии и выводит его дату рождения. Точная дата известна не всегда, но она точно есть — поэтому такая функция может существовать.

Разберем еще один пример. Cоздадим функцию , которая принимает на вход имя человека и выводит упорядоченную пару родителей .

Обратите внимание, что в обратную сторону это не сработает. Не получится создать функцию , которая выбирает ребенка человека. Дело в том, что у некоторых людей нет детей — значит, в некоторых случаях ни один объект не может быть выведен.

Некоторые люди также имеют более одного ребенка, из которых можно выбирать. В этом случае функция не будет знать, какого ребенка выводить. Однако можно создать функцию , которая присваивает каждому человеку множество его детей. Если у человека нет детей, то результатом функции будет пустое множество .

Как видите, любую задачу можно представить в виде функции. Если у нас есть задача, к ней всегда можно придумать обозначения и представить всю задачу в виде функции.

А теперь посмотрим на примеры из математики.

Пример 1:

Можно создать — это функция, которая принимает на вход любое вещественное число и всегда выдает

Это простая функция, потому что у нее мало переменных.

Пример 2:

Пусть — любое множество. От этого можно создать — функцию, которая принимает на вход любой из и выдает на выходе тот же .

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

Пример 3:

Можно создать функцию , которая принимает на вход любое вещественное число и выдает целое число — другими словами, происходит усечение дробной части введенного числа:

Пример 4:

Похожим образом cработает функция , которая принимает на вход любое вещественное число и выводит наименьшее целое число, большее или равное введенному числу:

Эту функцию также называют функцией наибольшего целого числа.

Какими терминами описывать функции

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

Область функции — это множество всех вещей, которые можно подать на вход, чтобы получить некоторый результат. Область обычно очевидна из определения функции. Например, область функции — это множество всех студентов в классе.

Область действия функции — это множество всех вещей, которые можно получить на выходе. Область действия — это множество всех занятых стульев в классе. Если известна область действия функции, можно определить ее диапазон, применяя функцию к каждому элементу области.

Кодомен функции — это множество всех значений, которые могут быть потенциальными выходами. Например, кодомен функции — это множество всех стульев в классе. Но также можно сказать, что кодомен — это множество всех занятых стульев.

Почему здесь есть разные варианты? Дело в том, что иногда кодомен нельзя определить только из описания функции. Нужно учитывать остальные обсуждения задачи. При менее формальном подходе кодомен определяется неявно. Например, кодоменом большинства функций неявно является , в других случаях он равен диапазону.

Выводы

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


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Изображение Тото

Задавайте вопросы, если хотите обсудить теорию или упражнения. Команда поддержки Хекслета и опытные участники сообщества помогут найти ответы и решить задачу