Curso de Fundamentación

Aprende FUNDAMENTACIÓN de una buena vez

Cabecera principal de presentación del curso de Aprende a programar desde cero paso a paso, sin importar el lenguaje
gratis
texto

Fundamentos de funciones en tus programas. Cómo crearlas y usarlas

Las funciones son una herramienta indispensable para programar. Las funciones permiten "automatizar" tareas que requerimos con frecuencia y que además se pueden generalizar por medio de parámetros o argumentos. Aprender a crear funciones y usarlas correctamente es de gran importancia para separar nuestro código en módulos según las tareas que requerimos.Una función debe contener la implementación de una utilidad de nuestra aplicación, esto nos pide que por cada utilidad básica (abrir, cerrar, cargar, mover, etc.) sería adecuado tener al menos una función asociada a ésta, pues sería muy complejo usar o crear una función que haga todo de una sola vez, por esto es muy buena idea separar cada tarea en una función.

¿Funciones en un programa o algoritmo?

Las funciones son un conjunto de líneas de código (instrucciones), encapsulados en un bloque, usualmente reciben parámetros, cuyos valores se utilizan para efectuar operaciones y adicionalmente retornan un valor. En otras palabras, una función puede recibir parámetros o argumentos (algunas no reciben nada), hacer uso de dichos valores recibidos como sea necesario y retorna un valor.

Nota: Cuando una función no retorna un valor, ya no es una función como tal, sino que se le da el nombre de procedimiento. En esencia, un procedimiento, es lo mismo que una función, pues recibe valores y realiza operaciones sobre ellos. Sin embargo, no retorna nada en absoluto, solo se encarga de realizar operaciones.

¿Cómo luce una función en un programa?Crear un método en Java

La "sintaxis" para definir una función, es la siguiente, veamos:

Función nombreDeLaFunción (lista de parámetros) Inicio Instrucciones retornar valor Fin-Función

En términos generales, indicas que habrá una función y le das un nombre específico. Luego, entre paréntesis indicas los diferentes parámetros que recibe esa función (pueden ser muchos o ninguno), luego indicas el inicio de la función, seguido de las instrucciones y el valor a devolver, justo antes de indicar el fin de la misma.

Acerca de los argumentos o parámetros en una función

Hay algunos detalles respecto a los argumentos de un método, veamos:

  • Una función, puede tener una cantidad cualquiera de parámetros, es decir pueden tener cero, uno, tres, diez, cien o más parámetros. Aunque habitualmente no suelen tener más de 4 o 5 (se recomienda que sean la menor cantidad posible).
  • Al recibir un parámetro nada nos obliga a hacer uso de éste al interior del método. Sin embargo, para qué recibirlo si no lo vamos a usar.

Consejos acerca de retorno de un valor

Debes tener en cuenta dos cosas importantes con la sentencia return:

  • Cualquier instrucción que se encuentre después de la ejecución del retorno del valor NO sería ejecutada (si se tratase de un programa en algún lenguaje de programación). Es común encontrar funciones con múltiples instrucciones de retorno de valor al interior de condicionales, pero una vez que el código ejecuta una de ellas lo que haya de allí hacia abajo no se ejecutará y por ende se termina la ejecución de la función.
  • En el caso de los procedimientos que no retornan valores, podemos usar la "instrucción" de retornar pero sin ningún tupo de valor, sólo la usaríamos como una manera de terminar la ejecución del procedimiento en un punto dado.

Veamos algunos ejemplos.

Ejemplos de funciones

Veamos algunos ejemplos prácticos de funciones.

Ejemplo 1:

Función funciónNumérica()//Función sin parámetros { numero suma = 5+5 retornar suma //Acá termina la ejecución de la función retornar 5+5 //Este retorno nunca se ejecutará //Intenta intercambiar la línea 3 con la 5 numero x = 10 //Esta línea nunca se ejecutará }

Como puedes ver es un ejemplo sencillo, es una función llamada "funciónNumérica" que no recibe ningún parámetro. Si ejecutaras esto, la función te retornará el valor de suma que es 10 (5+5). Las líneas posteriores no se ejecutarán nunca, aunque no generan error alguno, no tienen utilidad. Puedes notar que para este caso es lo mismo haber escrito "retornar suma" que escribir "retornar 5+5". Ambas líneas funcionan equivalentemente.

Ejemplo 2:

Función escribirLetra(numero n)//función con un parámetro { if(n == 0) { //Usamos el parámetro en la función retornar "a" //Si n es cero retorna a //Notar que de aquí para abajo no se ejecuta nada más a menos que la condición no se cumpliera } retornar "x"//Este retorno solo se ejecuta cuando n NO es cero }

En este ejemplo creamos una función llamada "escribirLetra", que recibe un valor numérico, a partir del cual define cuál letra escribir ("a" o "x"). Es importante notas que tenemos múltiples sentencias de retorno y aprovechamos la característica de que al ser ejecutadas finalizan inmediatamente la ejecución de la parte restante del método. De este modo podemos asegurar que la función retornará "a" únicamente cuando el valor del parámetro n sea cero y retornará un "x" cuando dicho valor no sea cero, sin necesidad de poner un "else" o un "sino" en nuestro condicional.

Cómo usar funciones

Ya hemos visto cómo crear funciones, ahora veamos cómo usarlas en tus programas.

nombreDeLaFunción([valor,[valor]...])

Como puedes notar es bastante sencillo invocar o llamar funciones en tus programas. Necesitas el nombre de la función y enviarle el valor de los parámetros (si los tiene) dentro de los paréntesis. Hay que hacer algunas salvedades respecto a esto.

Detalles para invocar métodos funciones y procedimientos

  • El nombre debe coincidir exactamente al momento de invocar, pues es la única forma de identificarlo.
  • El orden de los parámetros y el tipo debe coincidir. Hay que ser cuidadosos al momento de enviar los valores para los parámetros (argumentos), debemos hacerlo en el mismo orden en el que fueron declarados y deben ser del mismo tipo (número, texto u otros).
  • Cada parámetro enviado también va separado por comas.
  • Si una función no recibe parámetros, simplemente no ponemos nada al interior de los paréntesis, pero SIEMPRE debemos poner los paréntesis.
  • El valor retornado por una función puede ser asignado a una variable del mismo tipo, pero no podemos hacer esto con un procedimiento, pues no retornan valor alguno.
  • Una función puede llamar a otra dentro de sí misma o incluso puede ser enviada como parámetro a otra (mira el siguiente ejemplo).

Ejemplos de uso de funciones

En el siguiente código vamos a hacer un llamado a algunas de las funciones y al procedimiento, que declaramos anteriormente.

INICIO funciónNumérica() //Llamando a una función sin argumentos texto letra = escribirLetra(0) //Asignando el valor retornado a una variable y pasamos un cero como argumento //Usando una función como argumento de otra texto otraLetra = escribirLetra(funciónNumérica()) //Lo que retorne funciónNumérica (en este caso 10) se envía a escribirLetra (así que retornará "x") FIN

Ya hemos visto entonces en el ejemplo anterior, diferentes formas de usar funciones en tus programas, incluyendo un caso particular que es usar una función como argumento para otra.

Muy bien, eso ha sido todo en esta sección. No te olvides de ver las demás secciones del curso y mejorar tus conocimientos. También puedes dejar tus comentarios y con gusto te responderé.

La última actualización de este artículo fue hace 3 años

Foto de JuanDMeGon

Juan David Meza González

JuanDMeGon

Magister, Ingeniero, Desarrollador
Web & Instructor

¡Listo!

En breve recibirás un mensaje de confirmación. Verifica, por si acaso, la carpeta de correo no deseado.

...

Si te parece bien, te enviaré de vez en cuando, mensajes de interés sobre los temas que se tratan en el sitio.

Tu dirección de correo electrónico será almacenada con un interés según el artículo en el que te encuentres.

Por supuesto, puedes cancelar tu suscripción en cualquier momento.