viernes, 29 de enero de 2016

bgt clase 08 - retornos y parámetros de las funciones

  Clase 8, llegamos a los 2 meses con bgt. Poco a poco avanzamos en este mundo de la programación de audiojuegos. Gracias por leer este ccurso, por seguir el blog, y por difundirlo.
  En la clase anterior aprendimos como declarar nuestras propias funciones, y hoy conoceremos porque al inicio de cada función ponemos la palabra: voy, en inglés significa "vacío", y es el tipo de retorno que nos da la función.
  ¿Qué es el retorno?: un programa es un conjunto de código encadenado, cuando encuentra una función detiene la ejecución, sigue con el código, y retorna (vuelve) a seguir desde donde estaba.
  Para que lo podamos entender vamos a pensar en el algoritmo de la vida, durante el día vamos a trabajar, a las 12 invocamos a la función almuerzo() y luego continuamos con el trabajo. Cuando se ejecuta la función almuerzo se detiene el trabajo.
  Que puede retornar armuerzo: sin comida, comida exitosa, comida insuficiente, etc.

  ¿Qué función conocemos que retorne un valor?:
  Tenemos random que retorna un número, o tenemos input_box que retorna una cadena de texto. Por otro lado tenemos funciones que no retornan nada, como alert. Entonces antes de declarar una función debemos poner de que tipo será el retorno, por ejemplo:

string rutina()

  La función rutina() retornaría un string, una cadena de texto.

Bool rutina()

  En este caso retornaría un booleano: verdadero o falso.

int rutina()

  Ahora estaría retornando un número entero.

Void rutina()

  En este ccaso el retorno sería vacío.

  ¿Cómo controlamos lo que retorna la función?:
Para ello utilizaremos la palabra clave "return" seguido de la expresión que vamos a retornar. Por ejemplo:

int horas() {
return 24;
}

  De esta forma estamos declarando la función horas() que retorna la cantidad de horas que tiene un día (24). Y si lo necesitamos para alguna cosa en nuestro código del main podemos llamarlo de esta forma:

int dia=horas();

  En la variable numérica dia estamos asignando el retorno de la función horas(), que es 24.
  De la misma forma podemos trabajar con otro tipo de retornos, como por ejemplo:

string nombre() {
return "miguel";
}

  En este caso creé una función llamada nombre() que retorna mi nombre. y si la queremos asignar a una variable:

string programador=nombre();

  En la variable programador se asignaría "miguel", que es lo que retorna la función nombre.

  También podemos ahcer operaciones de este tipo:

int mul() {
return 5*2;
}

int num=mul();

  Ahora en la variable num se asignaría 10, que es el retorno de la función mul(). En la función lo que hace el código es retornar la multiplicación de 5 por 2.
o podríamos retornar una variable de esta forma:

int d6() {
int dado=random(1,6);
return dado;
}

  Entonces para lanzar un dado solo haríamos:

int num=d6();

  Y se guardaría en la variable num el valor del dado lanzado. Aunque es verdad que en ese código estamos usando una variable de mas, ya que lo podríamos resumir de esta forma:

int d6() {
return random(1,6);
}

  Aquí estamos retornando un entero, que sería el valor devuelto por la función random.

  Ya mucho aprendido y mucho para procesar. Pero seguiremos con algo mas y luego a las prácticas.

  Parámetros:

  Cuando utilizamos la función random sabemos que tenemos que indicar 2 parámetros, el minimo y el maximo, y nosotros sabemos como crear funciones, pero: ¿cómo ahcer funciones propias que acepten parámetros?. Es muy sencillo, solo colocamos luego de la declaración del nombre y dentro de los paréntesis el nombre de las variables que aceptaremos como parámetro separados por coma. Siempre recordar poner el tipo de la variable que es. Por ejemlo:

int mul5(int facctor)

  Aquí estamos declarando la función mul5() que es una función que retorna un número multiplicado por 5. Como parámetro acepta factor, que es del tipo int (entero). Vamos a ver el código completo de la función:

int mul5(int factor) {
return factor*5;
}

  Y para usarla lo haríamos de la siguiente forma:

int num=mul5(10);
alert("factor", num);

  Esto mostraría que el valor de num es 50, ya que es 10 por 5. Se le pasa a la función mul5 el parámetro 10. La función ejecuta el código y multiplica a el factor 10 por 5, y retorna el valor, que en este caso es 50.

  Ejercicio:

1. Armar una función del tipo void llamada "mul10", que pida como parámetro un entero, y que ese valor lo multiplique por 10. Y que al resultado lo muestre con un alert.
2. En el código del main llamar a esta función mul10 un total de 10 veces, pasándole como parámetro del 1 al 10, de la siguiente forma:
mul10(1);
mul10(2);
mul10(3);
...
mul10(10);
3. verificar que la ejecución del script esté mostrando la tabla del 10.

 Si estas clases te fueron de utilidad, considera donar para que este curso siga adelante de forma gratuita. Puedes donar de forma económica para que le pueda seguir dedicando más tiempo a la escritura de estas clases, o bien con tu tiempo, escribiendo algún artículo que creas que pueda ser de utilidad para la comunidad.

 ¡Hasta la próxima clase!.

No hay comentarios: