Bueno, pues después de ver variables y procedimientos, ... vamos a ver qué son las funciones.
Lo vamos a ver de la forma más sencilla posible: Una función no es más que un procedimiento (es decir, un grupo de sentencias agrupadas que realizan algo concreto y que admite unos argumentos) pero que además devuelve un valor.
Vamos a verlo con un ejemplo en App Inventor
El ejemplo de función va a ser muy sencillo. Vamos a realizar una función que nos devuelva el mayor de 2 números. Partimos de una pantalla como la siguiente:
De aquÃ, lo que más me interesa que veais es la opción marcada NumbersOnly, que indica que en nuestro smartphone cuando seleccionemos dicho campo, sólo nos mostrará un teclado numérico, evitando asà que podamos equivocarnos. Esta propiedad es muy utilizada en las cajas de texto (TextBox).
Primero vamos a pensar qué es lo que va a hacer la función, y después la "convertiremos" al lenguaje de App Inventor.
La función tendrá 2 argumentos (numero 1 y numero 2) y nos devolverá el mayor de los 2. En lenguaje semihumano (llamado en programación pseudocódigo, ya que es una mezcla entre lenguaje de programación y lenguaje humano) serÃa el siguiente:
funcion fMayor (numero1,numero2)
variable vmayor
Si numero1 >= numero 2 entonces
vmayor=numero1
en otro caso
vmayor=numero2
devolver vmayor
fin_función
Se entiende, ¿no? Lo único que hace es que se tiene una variable en el que se guarda el mayor de los 2 número y se devuelve. Vamos a verlo en App Inventor:
Primero, para acceder a ello tenemos que ir a:
Como veis, se encuentra en el mismo lugar que los procedimientos y las variables. Su nombre lo dice todo: procedureWithResult ... pues eso, que se trata de un procedimiento que devuelve un valor.
Vamos a ver cómo quedarÃa el programa completo y lo vamos estudiando por partes:
La primera parte
es la definición de variable (llamada mayor) que guardará cuál de los 2 número es mayor (la cantidad en sÃ).
La segunda parte
es la función, llamada fMayor, que será la que compruebe cuál de los 2 números que le pasemos, será el mayor. Para eso vemos que tiene 2 argumentos (arg) llamados numero1 y numero2. Con el ifelse (como ya os dije, los if..else aparecerá en cualquier aplicación, como tenemos que tomar decisiones en cada momento de nuestro dÃa a dÃa), comprobamos si numero1 es mayor o igual a numero2, y dependiendo del caso, le asignaremos a la variable mayor un valor u otro. Finalmente, devolvemos dicho valor mayor (return)
La tercera parte
es el evento (btnCalcMayor.Click) que hace uso de la función fMayor. Es aquà donde se "llama" dicha función, y donde se "recibe" el valor de la función fMayor.
¿Alguna duda? Pregúntala sin problemas!
Vamos a probarlo.
Por último, os dejo una ampliación:
- Mediante FUNCIONES (procedureWithResult), realiza un programa que nos pida 3 números y nos devuelva el mayor de los 3.
- ¿SabrÃas cómo hacer, de una forma lo más fácil posible, otra función que nos devuelva el mayor de 6 números? (Una pista: Dentro de una función se puede utilizar otras funciones, al igual que en un ifelse podÃan utilizarse otros ifelse, de forma anidadas). Os lo dejo para que penseis y mandarme las dudas o posibles soluciones!
Esto empieza a complicarse ....
Hasta la próxima.
Es muy útil y lleva mucho tiempo usar aplicaciones para eventos.
ResponderEliminarApp para Eventos
La solicitud de eventos es necesaria hoy en dÃa.
ResponderEliminarApp para Eventos
La solicitud de eventos es necesaria hoy en dÃa.
ResponderEliminarGuÃa para el patrocinio en Apps para Eventos con EventMobi