Descripción de la etiqueta de función

Una función (también llamada procedimiento, método, subrutina o subrutina) es una pieza de código diseñada para realizar una tarea específica. Use esta etiqueta para preguntas que estén específicamente relacionadas con la creación o la llamada de funciones. Para ayudar a implementar una función para realizar una tarea, use un [algoritmo] o etiqueta específica de la tarea en su lugar.

De Wikipedia :

Un subprograma (también conocido como procedimiento, función, subprograma, método o subprograma) es una pieza de código en un programa más grande que realiza una tarea específica y es relativamente independiente del código restante.

El contenido de la subrutina es su cuerpo, que se ejecuta cuando se llama o se llama a la subrutina.

Se puede escribir una subrutina para que espere recibir uno o más valores de datos, conocidos como parámetros o argumentos, del llamante. También puede devolver el valor calculado a su interlocutor (su valor de retorno) o proporcionar diferentes valores de resultados o parámetros de salida (poner). De hecho, el uso habitual de las subrutinas es implementar funciones matemáticas, en las que el propósito de una subrutina es simplemente calcular uno o más resultados cuyos valores están completamente determinados por los parámetros pasados ​​a la subrutina. (Los ejemplos pueden incluir el cálculo del logaritmo del número o determinante de la matriz).

Sin embargo, una llamada de subrutina también puede tener efectos secundarios, como cambiar las estructuras de datos en la memoria de la computadora, leer o escribir en un dispositivo periférico, crear un archivo, detener un programa o computadora, o incluso retrasar el programa por un tiempo específico. Una subrutina con efectos secundarios puede devolver resultados diferentes con cada llamada, incluso si se llama con los mismos argumentos. Un ejemplo es la función de números aleatorios, disponible en muchos idiomas, que devuelve un número aleatorio diferente en cada llamada. El uso extensivo de subrutinas con efectos secundarios es una característica de los lenguajes de programación imperativos.

Un subprograma puede codificarse de manera que pueda llamarse a sí mismo recursivamente en uno o más lugares para realizar su tarea. Este método le permite implementar directamente las funciones definidas por la inducción matemática y los algoritmos de división y conquista recursivos.

Una subrutina cuyo objetivo es calcular una función lógica única (es decir, responder la pregunta sí / no) se llama predicado. En los lenguajes lógicos, a menudo todas las subrutinas se llaman "predicados", ya que principalmente determinan el éxito o el fracaso. Por ejemplo, cualquier tipo de función es una subrutina, pero no main() .

Esta es una unidad de código común para la mayoría de los otros lenguajes de programación.

La función también tiene una definición matemática , que es importante en informática y estadística. Una función matemática es una relación uno a uno, donde para un argumento siempre devuelve el mismo valor. En lenguajes puramente funcionales, como Haskell, solo se permiten funciones matemáticas.