Вот у вашего учителя в классе есть журнал с фамилиями учеников и допустим, у вас в классе нет однофамильцев и родных братьев и сестер. А еще есть сами ученики, и предположим, что они все сегодня пришли в школу - никто не болеет и не прогуливает.
Понятно, что есть очень четкое соответсвие между фамилиями в журнале у учителя и живыми учениками. Каждой фамилии соответсвует какой-то конкретный ученик. Так вот это соответсвие между строчками в журнале и настоящими учениками является примером функции.
Если более строго, то если есть два множества (в нашем примере это множество строчек с фамилиями в журнале и множество живых учеников) то между этими множествами можно придумать какое-то соответсвие, когда каждому элементу из одного множества ставится в соответсвие какой-то элемент из другого, например, каждой фамилии - ученик. Вот такое соответсвие и называется функцией.
Есть только одна тонкость. В математике функцией называют не любое такое соответсвие, а только такое при котором каждому элементу из первого множества соотвествует только один элемент из другого.
Например, если в классе два Иванова, а учитель когда писал список учеников в журнале одного Иванова пропустил, то получается в журнале Иванов один, но каждый живой Иванов будет считать, что это именно он. То есть одной строчке придется поставить в соответсвие двух учеников, тогда такое соответсвие не будет функцией. Нужно обязательно, чтобы для каждого Иванова была своя строчка в журнале, допустим с одинаковой фамилией, но разными именами.
В математике, конечно, редко занимаются множествами учеников или фамилий, обычно это два одинаковых множества чисел, например, одно это числа на оси х, другое это числа на оси у.
Но суть та же. Каждому числу из одного множества ставят в соотвествие какое-то (но обязательно только одно! ) число из другого. Это соответсвие и называется функцией. Если это соответсвие представляет собой какое-то простое правило, то его удается записать в виде формулы: y = 5*x или y = sin(x) или еще как-нибудь, но это не обязательно, бывают функции которые нельзя записать формулой, например, есть функция которая каждому рациональныму числу ставит в соответсвие 1, а каждому иррациональному 0. Записать формулой эту функцию нельзя.
В общем, функция, это какое-то правило которое каждому элементу из одного множества ставит в соответсвие один элемент из другого множества.
На практике, что касается школьной математики, это график или формула которая, для каждого аргумента (обычно, обозначается х) , позволяет найти значение функции (обычно обозначается у или f(x)).
Например, формула y = 3*x + 5 означает, что нам дана функция (то есть соответсвие) , которая каждому числу х ставит в соответсвие другое число 3х + 5.
Одному соответсвует 3*1+5 = 6,
двум - 3*2 + 5 = 11
пяти - 20 и т. д.
И еще один нюанс напоследок, если уж дочитали до этого момента, то думаю сможете и его осилить.
Вернемся к фамилиям и ученикам. К тому случаю когда одной фамилии Иванов соответсвует два ученика Иванова. Я тогда написал, что соответвие фамилия -----> ученик не функция, т. к. одной фамилии соответствует два человека. Но вот это соответсвие в обратную сторону то есть когда ученикам ставят в соответсвие фамилию: ученик ------> фамилия, будет функцией.
Каждому аргументу должно соотвествовать только одно значение, но разные аргументы могут принимать одинаковое значение (разные ученики принимают одинаковое значение - их фамилия) .
Поэтому y = x^2 - функция, хоть х = 2 соответсвует у = 4, и х = (-2) соответсвует 4.
А вот когда изучают корень из х, то строят функцию только из положительных значений то есть корень из 4 считают равным только 2, а (-2) не рассматривают, так как иначе такое соответсвие не было бы функцией и четырем соответсовало бы два значения.
Заинтересовался функциональным программированием, но т.к. в математике я не очень, тут же появились вопросы.