Definición del concepto de función
Las funciones son algoritmos construidos para resolver una tarea específica. Se escriben de manera
independiente y pueden ser utilizadas (o invocadas) por otros algoritmos u otras funciones.
Una función puede necesitar, para su funcionamiento, datos de entrada (llamados argumentos o
parámetros) obligatorios para realizar su tarea y puede retornar o no un resultado.
Las funciones son utilizadas para descomponer soluciones extensas o complejas en tareas simples y
específicas, implementar operaciones que son comúnmente utilizadas durante un programa, realizar
procedimientos que son repetitivos en la ejecución de una función, entre otros.
“Estas soluciones se escriben sólo una vez, pero pueden ser referenciadas en diferentes puntos de un
programa, de modo que se puede evitar la duplicación innecesaria de código” (Joyanes, 2007).
En programación se utilizan indistintamente los conceptos funciones, subprogramas y subrutinas, ya que
todos ellos hacen referencia a lo que se denominará en este módulo como funciones.
Imagen 5. Algoritmo que hace uso de funciones
Elementos de una función
Representación Gráfica de una función
A continuación se presentan algunos ejemplos ilustrativos sobre funciones y su uso en un algoritmo
principal.
Función que recibe n parámetros y tiene un retorno
Función que no recibe parámetros y tiene un retorno
Función que recibe n parámetros y no tiene retorno
Función que recibe n parámetros y tiene un retorno
Función que no recibe parámetros y tiene un retorno
Función que recibe n parámetros y no tiene retorno
Cómo trabajar con funciones:
Creación de una función
Para entender el tema de funciones es necesario diferenciar entre su creación y su
utilización/invocación.
Creación de una función
En el desarrollo de una función, el programador debe conocer para qué servirá la función que
implementará, definir los datos que requiere (parámetros), especificar el tipo y el número de datos, y
también qué información recibe el usuario que utiliza la función.
Esta información implica definir su nombre, los parámetros de entrada y el valor que retorna la función.
Como todo programa, la función posee:
Cabecera
Que a su vez contiene tipo del valor de retorno de la función, el nombre dado a la función y a
continuación, si es necesario, la lista de parámetros de entrada entre paréntesis y separados
por comas, de los cuales se debe definir el tipo de dato y el nombre dado al parámetro.
Cuerpo de la función
Que contiene las instrucciones que permiten hacer la tarea para la cual fue diseñada la función
y devolver el producto de la función.
En el Ejemplo 1 se presenta la estructura que tiene una función.
Ejemplo 1
Imagen 1. Estructura de una Función
Crear una función que permita calcular el cubo de un número real (float)
#include <stdio.h>
#include <cmath>
void proc(float a, float b) {
scanf("%f", &a);
b = pow(a,3);
printf("\n \n El cubo del numero ingresado es: %.2f",b);
}
int main() {
float a,b;
printf("\n Ingrese un numero: \n \n");
proc(a,b);
return 0;
}
Detalles de la cabecera:
Tipo de dato de retorno. Tipodedatoderetorno
Indica el tipo de dato que la función devolverá al terminar su ejecución. Se debe tener en
cuenta que una función sólo puede retornar un tipo de dato (entero, texto, booleano, arreglo de
cualquier dimensión y de cualquier tipo de datos, entre otros); en caso de requerir que una
función devuelva diferentes datos de diferentes tipos (numérico, alfanumérico, booleano), se
recomienda utilizar un arreglo.
Puede presentarse el caso de que una función no necesite retornar ningún valor. En esta
situación, se debe utilizar la palabra reservada void.
La función devuelve el retorno al algoritmo o la función que la llamó, mediante la
instrucción retorne, la cual va acompañada de la variable que se quiere retornar, y esta última,
a su vez, debe coincidir con el tipo de dato definido en la declaración de la función.
Nombre de la función. nombreFunción
El nombre de una función es único en el ámbito, pues es mediante éste que se identifica y se
distingue de otras. No podrá haber otra función con ese nombre (salvo sobrecarga o
polimorfismo en programación orientada a objetos, que se verá más adelante).
Dentro de las buenas prácticas de programación, el nombre de una función debe iniciar con
minúscula; en caso de que esté compuesta por dos palabras, la segunda inicia con mayúscula.
Para definir el nombre de las funciones se aplican los mismos criterios que para el nombre de
las variables. Ejemplo: calcularPromedio , ordenarVector, hallarPromedio
Para familiarizarse con el tema de funciones, se muestra a continuación el algoritmo "hallarMayorValor"
que utiliza la función "calcularMayor" (Ejemplo 2).
Ejemplo 2
Imagen 2. Algoritmos
En el Ejemplo 2 se observan dos aspectos diferentes a los que se trabajan en los algoritmos
secuenciales:
1. En el algoritmo principal aparece la
instrucciónmayor=calcularMayor(A,B); y mayor=calcularMayor(75,86); lo anterior confirma el
hecho de que una función puede ser invocada cuantas veces se requiera en un algoritmo con
valores o parámetros diferentes.
2. La función calcularMayor está implementada por fuera del algoritmo principal, y su objetivo es
calcular el valor mayor entre dos números dados.
Lista de parámetros de entrada
¿Qué es un parámetro?
Un argumento o parámetro es una variable que puede ser recibida por una función. Una función
usa los valores asignados a sus argumentos para alterar su comportamiento en tiempo de
ejecución (Knuth, 2002). Los parámetros son los datos que necesita la función para iniciar su
operación.
Cuando se desarrolla una función, ésta puede no requerir datos o requerir uno o varios datos
para realizar las operaciones necesarias para su correcto funcionamiento.
Un argumento o parámetro es un dato que es enviado al momento de invocar la función; dicho
dato es almacenado en los parámetros definidos por la función. La mayor parte de los
lenguajes de programación pueden definir funciones que aceptan cero o más argumentos.
Cuando se define la función, se indica el número de parámetros que espera la función y el tipo
de dato de cada uno de ellos; cuando se invoca la función, la lista de parámetros deberá
coincidir en cantidad, tipo y orden con los de la función definida.
Para los parámetros de una función hay que indicar siempre su tipo de dato, y debe coincidir
con el orden en que deben ser ingresados en la función, según la definición de ésta.
Es importante tener en cuenta que, generalmente, las funciones no capturan o muestran
directamente la información al usuario final, pues lo que buscan es que se procese la
información que se tiene y se entregue; la parte de ingresar o mostrar la información debe
correr por parte del algoritmo principal.
2
3.
otros ejemplos:
con retorno y con paso de parámetros
con retorno y sin paso de parámetros
sin retorno y con paso de parámetros
sin retorno y sin paso de parametros
[Link] retorno y parámetros
2. con retorno y sin parámetros
3. sin retorno y con parámetros
4. sin retorno sin parámetros