Extensión de la clase 5. Parte2: Funciones
Lo último que veremos serán las funciones, y con eso acabamos la teoría de la programación:
5- Funciones
Vamos a escribir un código para hacer que un interruptor de la luz, se encienda y se apague:
*False, no falase.
Si está apagado, enciéndelo, y si por el contrario esta encendido, apágalo.
Queremos que cada vez que pulsamos un interruptor, se ejecute éste código.
Necesitamos saber cuándo está pulsado, por lo que necesitamos crear otra parte de código que lo detecte y ejecute a su vez ésto que acabamos de hacer (llame a ésta parte del código).
Para ello, necesitamos meter éste código en una función:
Escribimos void, seguido del nombre de la función, seguido de unos paréntesis vacíos y unas llaves. Metemos el código dentro de ésas llaves.
Cada vez que queramos llamar a esa función, escribimos el nombre de la función seguido de unos paréntesis vacíos (y el punto y coma):

Ésto es una llamada y lo que hace es llamar a otra parte del código.
*Nomralmente, todo el código que haga algún tipo de operación, tiene que estar dentro de una función. Lo único que podemos hacer fuera de ellas, es declarar variables.
*El sitio donde declaremos una variable, es importante, ya que, sólo podemos usarla, dentro de ésa función donde ha sido declarada. Si la declaramos fuera, sería una variable pública y podría usarse desde cualquier otra función.
Otra opción sería crear un pase de parámetros dentro de otra función que se encargue de gestionarlos.
Para ello:
1- Dentro los paréntesis de las funciones escribimos el tipo de variable donde queremos que se almacene la variable que vamos a crear. Por ejemplo "int n". Creamos una función que sume y otra que reste al valor de la variable común.
2- Una vez hecho eso, creamos la variable que le va a pasar el valor, dentro de la nueva función con la propiedad de "pase de parámetros". Seguido a éso, escribimos el nombre de la función, seguido del nombre de nuestra variable entre paréntesis. De momento quedaría una cosa así:
void ScoreManager (){
int score = 0;
sumar (score);
}
void sumar (int n){
n++;
}
void restar (int n){
n--;
}
3- Si score vale 10, la función sumar, recibe ese 10 y le suma 1, pero aun no le pasamos la variable, sino su valor, es decir, que cada vez que le pasamos el valor de score a la función (sumar, por ejemplo), "n" vale 11, pero score sigue valiendo 10. Para modificar su valor y almacenarlo, tenemos que decirle que devuelva el valor que ha salido en la función (n) (el valor de 11 o de 9 en el caso de la función que resta) y decirle también, donde que remos que lo almacene (en la función score manager) , si no, se perdería. Asi que score, será el valor que devuelva "sumar" o "restar".
4- Con la función void, la función, sólo recibe el valor, pero no devuelve, por mucho que hagamos, así que hay que cambiarlo por el tiepo de variable que queremos que devuelva.
void ScoreManager (){
int score = 10;
score = sumar (score);
}
int sumar (int n){
n++;
return n;
}
int restar (int n){
n--;
return n;
}
Comentarios
Publicar un comentario