Blog

Categorías

X Cerrar

Categorías

Funciones - Nociones de programación

Nov 15 2017 | Programación, Web

A medida que se avanza en el desarrollo de un programa o aplicación, la complejidad y cantidad de líneas de código crecen paulatinamente. Es común que algunas instrucciones o bloques de ellas se utilicen más de una vez a lo largo del desarrollo, y que contribuyan al aumento del número de líneas de código. Este aumento en principio no representa mayor inconveniente, pero si la cantidad de líneas repetidas a lo largo del programa son muchas, podría representar un verdadero problema. Estos problemas van desde tener archivos o documentos innecesariamente extensos, hasta dificultad de mantenimiento del código, esto porque el documento es difícil de leer y porque sería necesario hacer tantas modificaciones como instrucciones repetidas se tengan.

En la mayoría de lenguajes de programación existen funciones predefinidas, las cuales están disponibles en cualquier ámbito del programa, y al igual que las funciones definidas por el programador, se acceden a ellas por medio de una llamada. En general las funciones pueden ser de varios tipos: funciones sin parámetros que no retornan valor alguno, funciones sin parámetros que retornan un valor, funciones con parámetros que no retornan un valor y funciones con parámetros que retornan valores, cada función declarada está asociada con algún tipo, dependiendo de los procesos internos que realice y de los resultados que se esperan obtener de ellas.

La manera de definir una función depende en gran medida del lenguaje de programación que se esté utilizando, en general se compone de un nombre de función seguido inmediatamente de paréntesis de apertura y cierre () y entre llaves {} el conjunto de instrucciones a ejecutar por la función. Existen también funciones conocidas como anónimas en las que no es necesario indicar su nombre, (éstas serán abordadas en una próxima entrega dedicada a funciones en JavaScript) soportadas por múltiples lenguajes.

function nombre_funcion() {
  // Bloque de instrucciones
}

El anterior, es un ejemplo de cómo se declara una función, consta de la palabra reservada function seguido del nombre de la función, con el cual se podrán hacer llamadas a la misma en cualquier parte del código. Seguido del nombre de la función se colocan paréntesis de apertura y cierre (), estos son importantes a la hora de definir la función y dentro de ellos se declaran las variables (parámetros) necesarios para su ejecución. Para el caso particular se trata de una función sin parámetros (no se declaran variables dentro de los paréntesis de la función) que no devuelve un valor (no se hace uso de la palabra reservada return).

El ejemplo anterior es válido para lenguajes como JavaScript o PHP, pero lenguajes más estrictos como C, C++ o JAVA se debe declarar el tipo de valor devuelto o incluso omitir la palabra clave function, debido a que el intérprete del lenguaje asume que si hay un nombre o palabra seguido de paréntesis se trata de una función. Por lo tanto, el ejemplo anterior podría escribirse de la siguiente manera:

void nombre_funcion() {
  // Bloque de instrucciones
}

En este caso la función no devuelve valor alguno por lo que se ha hecho uso de la palabra reservada void (vacío) para indicar que no se devolverán valores, en caso de devolver algún valor la palabra void deberá ser reemplazada por string, int o cualquier otro tipo de valor dependiendo del tipo de valor que se devuelva.

A continuación, una función que recibe parámetros y devuelve un valor:

function suma(a, b) {
  resultado = a + b;
  return resultado;
}

Para recibir valores o parámetros en una función, dentro de sus paréntesis se declaran variables que deben separarse por medio de símbolos de coma, y para retornar un valor se hace uso de la palabra reservada return seguida del valor a retornar.

Para que una función se ejecute se le debe hacer un llamado, de lo contrario será código "muerto" que no realiza ninguna acción. Llamar a una función es bastante sencillo, basta con escribir su nombre seguido de paréntesis (). En caso que la función haya sido declarada de modo tal que reciba parámetros, la llamada debe hacerse colocando dentro de los paréntesis los valores de los parámetros necesarios en el mismo orden que en la declaración, para evitar resultados inesperados.

Un llamado a la función suma sería el siguiente:

total = suma(5, 3);

Como se puede apreciar se hace el llamado a la función y se envían los valores, para el caso particular dentro de la función el valor 5 es almacenado en la variable a y el valor 3 en la variable b, se realiza la operación matemática de suma y se almacena en la variable resultado, que posteriormente es devuelto por medio de la palabra reservada return. Se aprecia también que el llamado a la función suma se le está asignando a la variable total, esta es una práctica común cuando una función devuelve valores, para que el valor devuelto sea almacenado y posteriormente utilizado dentro de otras instrucciones. En el caso particular, al ejecutar el llamado, la variable total almacena un valor de 8. Si la función que se requiere llamar no devuelve valores, no es necesario asignarla a una variable.

El uso de funciones facilita la organización del código y su posterior mantenimiento, son imprescindibles en cualquier tipo de proyecto, comprender su funcionamiento desde tempranas etapas de aprendizaje de programación, hará que el avance hacia temas más complejos se aborden sin mayor dificultad.

Recuerden, para acceder a más temas relacionados con programación pueden visitar la Serie Javascript. ¡Saludos!