En general una función es un encapsulamiento de código, es decir una forma de meter código en un contenedor que permite llamarlo y ejecutarlo desde cualquier parte del código principal. usar ese encapsulamiento del código tiene gran importancia cuando se esta programando en sistemas embedidos (como arduino o microcontroladores) ya que estos sistemas tienen un espacio limitado de almacenamiento para el código que ejecuta.
imaginen que el almacenamiento se da por lineas de codigo, (en realidad algo asi es como se almacena el programa en la memoria), si tenemos un espacio de cien lineas de código , y tenemos una tarea lo ideal es buscar la forma en reducir lo mas posible las lineas de codigo para llevar esa tarea a cabo.
para graficar esto miremos el ejemplo del encendido intermitente de un led con arduino, un encendido y apagado seria facil (imaginemos que el void loop
solo se ejecuta una ves):
void loop() {
digitalWrite(amarillo,HIGH);
digitalWrite(rojo,LOW);
delay(milisegundos)
}
ahora si queremos encenderlo y apagarlo dos veces duplicaremos el código :
void loop() {
digitalWrite(amarillo,HIGH);
digitalWrite(rojo,LOW);
delay(milisegundos)
digitalWrite(amarillo,HIGH);
digitalWrite(rojo,LOW);
delay(milisegundos)
}
tenemos ocho lineas de código , pensemos las lineas que necesitamos para hacer ese parpadeo 5,10 o n veces. las lineas serian cada ves mas y mas, lo que significa espacio de almacenamiento físico usado.
como reduciriamos el espacio realizando las mismas tareas, ahí es donde las funciones nos pueden ayudar. como dije al comienzo una función encapsula código, entonces para implementarla necesitamos varias cosas;
-un tipo que se refiere que si al final de la ejecución se obtendrá algo un valor, que puede ser un numero , un carácter, un objeto , no obtiene ningún valor u cualquier otro.
-un nombre, que determina como llamaremos la función.
-parámetros, una función puede o no tener parametros , que no son mas que variables que tomaran valores externos a la misma función cundo se ejecuta. se debe indicar que tipo de variable es la que se pasara como parámetro. una función puede tener n parámetros.
-código a ejecutar.
- si una función va retornar un valor de debe retornar mediante la instrucción return y el valor a retornar, que puede ser constante o estar en una variable.
la estructura general para lenguajes como c, java y sus derivaciones es la siguiente:
tipo nombre(tipo parametro1,tipo parametro2, parametron ){
codigo a ejecutar;
return valor a retornar
}
una funcion que no va a devolver nada se usa el tipo VOID , escribamos una función para prender y apagar el led del ejemplo:
void parpadeo(){
digitalWrite(amarillo,HIGH);
digitalWrite(rojo,LOW);
delay(milisegundos)
}
para llamarla desde void loop simplemente escribimos :
void loop() {
parpadeo();
parpadeo();
parpadeo();
}
así podemos ejecutar el mismos código código las veces que necesitemos. Si contamos las lineas de código tenemos ocho líneas de codigo( tanto las de la función parpadeo como las del loop) que es menor que si implementaremos los tres parpadeos de la primer forma que vimos.
otra ventaja de usar las funciones es que da orden al código lo que se traducen en mayor facilidad de seguimiento de errores y mejoras del código
En general lo importante es determinar en el código si existen trozos que se repiten , y preguntarse ¿ es posible guardar ese código en una funcion? en aplicaciones muy complejas las funciones son una herramienta poderosa para optimizar el programa y hacerlo mas legible.
Curso de Programación Básica
COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE
