¿Por qué una función está tan definida?

Esto se ha clasificado en matemática e informática, por lo que responderé por ambas.

En inglés, la palabra ‘función’ puede significar el propósito principal de algo y viene del latín para ‘realizar’. Cuando utiliza una función matemática, generalmente realiza algunos cálculos. Entonces el término es completamente apropiado. Del mismo modo, una computadora realiza un cálculo al ejecutar una función. Desafortunadamente, en muchos idiomas también podría hacer otras cosas: puede tener efectos secundarios.

La razón de las funciones es bastante obvia: queremos describir cómo un resultado está determinado por sus entradas. Esto lleva a la definición matemática de que una función toma elementos de un conjunto o conjuntos (los argumentos) y produce un elemento único de otro conjunto. Por ‘único’ quiero decir que la salida está determinada por la entrada y nada más. Los conjuntos pueden ser lo que quieras: números, matrices, figuras geométricas, cualquier cosa.

Quizás se pregunte por qué insistimos en una salida única. La mayoría de los números tienen dos raíces cuadradas, ¿por qué no permitir funciones multivalor? Estos son útiles en análisis complejos, pero siempre se puede decir que una función produce un conjunto único de valores. Entonces podemos evitar la restricción porque el rango puede ser un conjunto de conjuntos.

En informática deseamos realizar cálculos. Una función sin efectos secundarios (una función pura) corresponde a la definición matemática. Pero cuando escribe código de computadora, generalmente no hay nada que impida que el cálculo cambie los valores de los argumentos, o use o cambie otras variables fuera de la lista de argumentos. Algunas personas dicen que esto es malo. En Haskell está prohibido. Pero no se preocupe, no puede cambiar las variables de Haskell porque no tiene ninguna.

Fortran y Algol no tienen funciones (bueno, sí, pero no usan la palabra ‘función’). Fortran tiene subrutinas y Algol tiene procedimientos. En Algol, un procedimiento real es una función que devuelve un número real (más precisamente un número de coma flotante) y también hay procedimientos enteros y booleanos. Pero estos pueden tener efectos secundarios. Fortran y Algol son idiomas malvados, una característica que tienen en común con la mayoría de los otros idiomas, desafortunadamente. Pascal intenta ser bueno al tener tanto funciones (que devuelven un valor) como procedimientos (que no lo hacen), pero las funciones aún pueden tener efectos secundarios. Muy travieso.

No estoy seguro de que esto responda por qué la definición de una función es como es. Claramente, un programa de computadora tiene que computar; si un cálculo tiene un resultado, tenemos una función (usemos o no el término). Las funciones son una forma de estructurar un programa para que sea más fácil de entender. Las funciones matemáticas son una forma de estructurar una prueba o cálculo matemático.

Supongo que preguntas sobre funciones matemáticas . Asegurémonos de comprender la naturaleza de una función . Básicamente, es una máquina. Pones algo adentro, pone algo afuera. Y es bastante confiable. Cualquier valor que pongamos en una función siempre produce el mismo valor de salida . Si f (5) = 8 el lunes, no cambiará cuando llegue el fin de semana, o el próximo mes, o el próximo feriado nacional. El conjunto de todas las entradas posibles se llama Dominio . El conjunto de todas las salidas posibles es el Rango .

A veces, la idea es más fácil de seguir si observamos una función no matemática. Piense en una función de “Cumpleaños”, B (x) : la x que ingresa es el nombre de una persona específica, y el resultado que sale es el cumpleaños de esa persona (mes y día). Nuestro planeta tiene más de 7 mil millones de entradas posibles; uno de ellos soy yo: B (Marc Sigma) = 1 de noviembre. Si te gustan los diagramas: Marc SigmaB1 de noviembre. Es mi único cumpleaños. Nunca cambia. Esa es la regla. Tenga en cuenta, sin embargo, que el proceso inverso , llamado inverso , NO es una función. Comparto ese cumpleaños con unos 19 millones de personas más, así que si ponemos el 1 de noviembre en una máquina inversa B , mi nombre es solo una de las muchas salidas correctas posibles . ¡Podría legítimamente producir un nombre diferente cada día del año!

Por lo general, describimos funciones algebraicas usando un par de variables, dando la regla como una ecuación, digamos, y = 3x – 7, O usando la notación f (x) = 3x – 7. Ingresas 5 , y saldrá 8: f ( 5 ) = 3 ( 5 ) – 7 = 8 . . . cada vez.

Otra forma de pensar en una función es como un conjunto de pares ordenados. Esa sería una lista de todos los pares de entrada-salida. Recuerde que los conjuntos pueden ser pequeños o grandes, incluso infinitos … ¡o vacíos! Además, tenga en cuenta que no hay duplicados en un conjunto. Como ejemplo, podemos escribir el conjunto de todos los pares ordenados (x, y) en los que el valor y viene dado por esa ecuación y = 3x – 7 , como {(x, y): y = 3x – 7} . En algún lugar de esa lista está (5, 8), y solo ocurre una vez. Además, tenga en cuenta que (8, 5) no está en la lista en absoluto.