Blog de música, tecnologías, poesía y cerveza fría

29/05/2017

Funciones en lenguajes de programación

Las funciones (Functions en Inglés) en los lenguajes de programación son unas estructuras que nos permiten no tener que repetir el mismo código una y otra vez. Por ejemplo: Si creamos una función que calcula una conversión de grados Celsius a grados Fahrenheit, no tendremos que volver a escribir todo el código de la formula matemática cada vez que necesitemos realizar esta conversión dentro del programa. Bastará con “llamar” a la función enviando a la misma el valor de grados Celsius que queremos pasar a Fahrenheit

Vamos a ver un ejemplo de funciones en JavaScript, C y Python.

Ejemplo en JavaScript:

function cel_to_fah(x)
{
var conversion = x * 1.8 + 32;
return conversion;
}
var y = cel_to_fah(20);

print (y);


Vamos a analizar detenidamente la estructura de esta función:

  1. En primer lugar indicamos al programa que queremos hacer una función mediante la palabra “function” (palabra propia de JavaScript)
  2. Luego daremos un nombre a esta función: cel_to_fah (podemos poner el nombre que queramos. Lo recomendable es que siempre empiece por alguna letra  no contenga caracteres no alfa-numéricos, espacios en blanco, etc).
  3. Mediante los paréntesis y la “x” en medio indicamos que esta función va a devolver un parámetro (en nuestro caso un número). Hemos puesto una “x”, pero podríamos poner cualquier letra que queramos. Si quisiéramos que la función devolviese más de un parámetro,por ejemplo dos números, pondríamos (x, y).
  4. Abrimos corchetes (el cuerpo de la función siempre ha de ir en corchetes) y escribimos var conversion = x *1.8 + 32. Mediante estas instrucciones decimos al programa que queremos efectuar la operación matemática x * 1.8 + 32 , la cual es la formula de la conversión de grados Celsius a Fahrenheit. Ahora, mediante la instrucción “var conversion” vamos a decirle al programa que guarde el resultado de la operación en la variable “conversion”.
  5. return conversion dice al programa que el resultado que tiene que devolver está dentro es la variable conversion.

¡La función ya está terminada! 🙂

Ahora vamos a usarla.

La usamos mediante la variable con la siguiente declaración: var y = cel_to_fah(20); Esta declaración significa lo siguiente:

  1. Creamos una variable “y” la cual tiene el valor cel_to_fah(20). “20” son los grados que queremos pasar de Celsius a grados Fahrenheit.
  2. Mediante la instrucción cel_to_fah(20) estamos haciendo saber al programa que la variable “y” debe almacenar el resultado de enviarle el número “20” a la función cel_to_fah.

Este último punto es clave para entender como hacemos la “llamada” a la función: simplemente estamos enviando el número 20 a la función. La función cogerá ese numero 20 y lo pondrá donde figura la “x”. Por lo tanto la función, internamente, quedaría así:


function cel_to_fah(20) {
var conversion = 20 * 1.8 + 32;
return conversion;
}


Como paso final imprimiremos el resultado mediante la instrucción print (y);

Fácil ¿no?

Podeís ver el resultado copiando y pegando el programa en la estupenda página de la Universidad de Duke: http://www.dukelearntoprogram.com/course1/example/index.php

 

Ahora vamos a ver un ejemplo en Lenguaje C

Ejemplo en C

En C no utilizaremos la palabra “function”, la cual es exclusiva de JavaScript. Si no que usaremos una estructura ligeramente diferente:


tipoDeRetorno nombreFuncion ( tipoPar1 par1, tipoPar2 par2, ..., tipoParN parN) {
Instrucción 1;
Instrucción 2;...
Instrucción n;
return valorDevueltoPorLaFuncion;

}


Vamos a ello.


float cel_to_fah (float x) {
float conversion = x * 1.8 + 32;
return conversion;
}


  1. En primer lugar daremos un nombre a esta función: cel_to_fah (podemos poner el nombre que queramos. Lo recomendable es que siempre empiece por alguna letra  no contenga carácteres no alfa-numéricos, espacios en blanco, etc). Es importante reseñar que C es un lenguaje compilado, por lo tanto, en lenguaje C es obligatorio declarar en las variables el tipo de datos con el que vamos a trabajar. Como nosotros vamos a trabajar con números decimales tenemos que poner delante del nombre de la variable la palabra “float“.
  2. Mediante los paréntesis y la “x” en medio indicamos que esta función va a devolver un parámetro (en nuestro caso un número). Hemos puesto una “x”, pero podríamos poner cualquier letra que queramos. Si quisiéramos que la función devolviese más de un parámetro,por ejemplo dos números, pondríamos (x, y). OJO!! Como he comentado antes C es obligatorio declarar en las variables el tipo de datos con el que vamos a trabajar, por lo tanto, tendremos que poner “float” dentro de los paréntesis.
  3. Abrimos corchetes (el cuerpo de la función siempre ha de ir en corchetes) y escribimos float conversion = x *1.8 + 32. Mediante estas instrucciones decimos al programa que queremos efectuar la operación matemática x * 1.8 + 32 , la cual es la formula de la conversión de grados Celsius a Fahrenheit. Mediante la instrucción “conversion” vamos a decirle al programa que guarde el resultado de la operación en la variable “conversion”.
  4. return conversion dice al programa que el resultado que tiene que devolver está dentro es la variable conversion.

Ya hemos terminado nuestra función, ahora vamos a “llamarla”.

En C las funciones se declaran fuera del cuerpo principal del programa. Esto es debido a que el programa principal también es una función. Este último punto es complejo de explicar, por lo tanto si estás interesado en este tema, tendrás que ampliar los conocimientos por tu cuenta.

Cuerpo principal del programa


int main(void) {
printf("Nuestros grados en Celsius son %f\n", cel_to_fah(20));
return 0;
}


Vamos a explicar por encima estas instrucciones:

  1. int main(void) declara el comienzo del tronco principal del programa, el cual está entre corchetes.
  2. Mediante la instrucción printf imprimimos el resultado de llamar a la función cel_to_fah y pasarle el parámetro “20”. El símbolo %f indica que el dato que queremos recibir es de tipo “float”. En C es obligatorio (aparte de declarar la variables según el tipo de dato utilizado) indicar lo que se llama el “Especifcador de formato“, el cual para un número flotante ha de ser “%f”. El simbolo \n indica que queremos poner un “retono de carro”, es decir: Una linea extra entre el resultado del programa y el final del mismo. Esto último es algo puramente estético y se puede obviar sin problemas.

Vemos que el lenguaje C es bastante más complicado que el JavaScript, pero también hay que tener en cuenta que el lenguaje C está diseñado para cosas completamente diferentes: Programación de sistemas operativos, dispositivos electrónicos, micro-controladores, aparatos médicos, sistemas de control industrial. Mientras que JavaScript es un lenguaje mayormente orientado a la programación de páginas webs.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

^ Subir Arriba!

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies