domingo, 30 de septiembre de 2018

PROCEDIMIENTOS EN APP INVENTOR 2 (PARTE 2)

Hola, el artículo que vamos a tratar es la continuación o segunda parte de los procedimientos en App Inventor 2. Si recuerdas vimos que era un procedimiento, cómo se declaraba, y como podíamos declarar parámetros dentro de los mismos. Pues bien, ahora vamos a ver cómo usar un procedimiento para que nos devuelva un resultado.

UN PROCEDIMIENTO QUE DEVUELVA EL IVA

Lo primero que haremos es abrir App Inventor, y seleccionaremos el proyecto anteriormente guardado como Procedimientos, si tu le llamaste de otra manera, es lo mismo, abre el proyecto con el nombre que lo guardaste.

Ve a la pantalla de diseño y arrastra dos nuevas etiquetas al visor, la primera etiqueta, le pondrás el tamaño de letra en 24 y el texto “El precio con iva es:”, en la segunda cámbiale el tamaño de letra en 24, y la casilla de texto esta vez déjala vacía, esta etiqueta nos mostrará el resultado de nuestro procedimiento.

Ahora dirígete a la pantalla de bloques, y arrastra un nuevo procedimiento que devuelve un resultado, el bloque es este:

Le vamos a cambiar el nombre por el de CalculoPVP, ya que en nuestro ejemplo lo que hará este procedimiento es devolver el precio de venta al público, pasando en sus parámetros el precio y  el IVA. (En España el IVA es impuesto sobre el valor añadido o de impuesto sobre el valor agregado, si no resides en España sigue el ejemplo tal cual, solo es para demostrar la funcionalidad de estos bloques o bien puedes adaptarlo al impuesto de tu país). Para ello, pulsamos en la rueda dentada de la esquina superior izquierda del bloque, y le añadiremos dos nuevos parámetros, que como ya hemos dicho, le pondremos el nombre de Precio e IVA. Ahora en el interior del bloque procedimiento, haremos nuestro calculo, que será la multiplicación del precio por el iva, para ello arrastraremos el bloque matemático multiplicación, y dentro añadiremos nuestros parámetros Precio e IVA, si te das cuenta estos parámetros se comportan como variables locales.

Tiene que quedar de la siguiente manera.

Bien, ahora solo te queda un paso más, y es mostrar el resultado del cálculo en nuestra etiqueta, para ello en nuestro bloque, Cuando Screen1.Inicializa añadiremos el bloque Poner etiqueta5.Texto como, y a este mismo le añadirás nuestro bloque llamar a calculoPVP, que en su parámetro Precio, pondremos 10, y para su parámetro IVA le pondremos 1.21. Tiene que quedar de la siguiente manera.

Ahora solo tienes que ejecutar la aplicación con el método que tu prefieras, y el resultado tiene que ser este.

Seguro que te has dado cuenta de que el resultado es 12.1 cuando tenía que ser 12.10, eso pasa porque el resultado solo muestra un decimal, pero como a ti te gusta hacer las cosas bien, vamos arreglarlo. Para ello nos vamos a los bloques de matemáticas y arrastramos el bloque dar formato decimal al número y lo arrastramos entre nuestra etiqueta y nuestro procedimiento, en el hueco decimales pondremos el bloque numérico 2, quedando de la siguiente manera.

de esta manera el resultado mostrará el número de decimales correcto, vamos a comprobarlo ejecutando nuestra aplicación.

Bien, llegados al final de este post, solo me queda despedirme y desear que lo que aquí ves, te sea de gran utilidad para tus proyecto. Me gustaría tu participación en este blog, si tienes alguna pregunta o comentario que hacer, por favor quiero que lo hagas. Además que compartas esta publicación en tus redes sociales y no dejes de comentar.

https://youtu.be/8_4COB_rFOI

domingo, 23 de septiembre de 2018

PROCEDIMIENTOS EN APP INVENTOR 2 (Parte 1)


¿QUE ES UN PROCEDIMIENTO?

Los Procedimientos son un elemento muy utilizado en la programación. Empaquetan y ‘aíslan’ del resto del programa, una parte de código que realiza alguna tarea específica. Son por tanto un conjunto de instrucciones que ejecutan una tarea determinada y que hemos encapsulado  para que nos sea muy sencillo de manipular y reutilizar. De esta manera no hace falta escribir una y otra vez el código, solo con llamar al procedimiento estaremos invocando a una parte del código, sin tener que copiar o manejar gran cantidad de bloques, simplificado a si la tarea de programar y consiguiendo un código más limpio.

UN EJEMPLO SENCILLO

Lo vemos con un ejemplo muy simple, un procedimiento que llamaremos “saludo”, que nos da una idea del funcionamiento general.

Para ello como siempre abriremos App Inventor y nos dirigiremos a nuestra pantalla de diseño, a la que arrastraremos una etiqueta, le cambiaremos el tamaño de letra a 24 y la casilla de texto la dejaremos vacía. Bien una vez hecho esto, nos dirigimos a la pantalla de bloques y en  pantalla arrastraremos nuestro bloque procedimiento, al que le cambiaremos el nombre que viene por defecto y le llamaremos saludo, seguido le uniremos el bloque poner etiqueta1.texto como, al que le añadiremos el siguiente texto “ Hola, este es el resultado del procedimiento saludo” y seguido uniremos también el bloque poner etiqueta1.colorDeTexto como al que le añadiremos el color rojo, tiene que quedar de la siguiente manera.

Bien ahora solo nos falta llamar al procedimiento, para ello utilizaremos el bloque cuando screen1.inicializa y dentro añadiremos el bloque “llamar Saludo”. Este bloque se ha generado automaticamente cuando hemos creado el procedimiento, y está situado en bloques → integrados → procedimientos. Tiene que quedar de la siguiente manera.

Bien ahora ejecutaremos la aplicación con nuestro método favorito, teniendo como resultado la siguiente imagen.

PROCEDIMIENTO CON PARÁMETROS

Los procedimientos en App Inventor se les puede añadir parámetros, para ello los bloques procedimientos contienen en su esquina superior izquierda una rueda dentada con la que podremos añadir tantos como necesitemos.

Como ejemplo del uso de parámetros vamos a crear un procedimiento muy simple, que nos dará un resultado dependiendo del valor que le pasemos en el parámetro. En este caso calculará el volumen de una esfera según el valor del radio (R). La fórmula de dicho volumen es: 4/3 * π  * R3.

Antes de comenzar añadiremos dos nuevas etiquetas a nuestro diseño, etiqueta2 y etiqueta, a la primera le cambiaremos el tamaño de letra a 24, y pondremos de texto “EL RESULTADO DEL CÁLCULO ES:”. A etiqueta3, le pondremos el tamaño de letra en 24, y la casilla de texto la dejaremos vacía.

Ahora solo nos queda programar la lógica de nuestra aplicación.  

Para ello crearemos una variable global a la que nombraremos como VolumenEsfera y que tendrá el valor de cero, y un nuevo procedimiento  al que le daremos el nombre de CálculoEsfera, y pulsando en la rueda dentada añadiremos un parámetro al que daremos el nombre de R2.

Seguido crearemos la fórmula matemática de nuestro ejemplo 4/3 * 3,14  * R2*R2*R2, donde R2 es nuestro nuevo parámetro, que sacaremos situando el cursor encima de dicho parámetro, y arrastrándolo a la posición que queramos dentro del código.

o bien arrastrando un bloque tomar variable, y seleccionando nuestro parámetro. Toda esta fórmula la asignaremos a nuestra variable global VolumenEsfera, que a su vez colocaremos dentro de nuestro bloque de procedimiento. Tiene que quedarnos de la siguiente manera.

Antes de continuar quiero aclarar que en App Inventor los parámetros definidos dentro de los procedimientos, son denominadas variables locales, y no pueden ser accedidas desde el exterior del procedimiento.  

Esta es una práctica muy recomendable que debemos seguir para que no entren en conflicto con otras variables del mismo nombre que puedan existir en el resto del programa, incluyendo las que pueden estar dentro de otros procedimientos que también hayamos definido en dicho programa.

Bien dada la explicación pasaremos a colocar dentro de nuestro procedimiento un bloque poner etiqueta3.como al que le añadiremos un bloque tomar variable, en el que escogeremos nuestra variable global VolumenEsfera, de esta manera nuestra etiqueta3 mostrará el cálculo del procedimiento, y quedará de la siguiente manera.

Lo siguiente y último por hacer es llamar a nuestro procedimiento, para ello nos dirigimos a bloques → integrados → procedimientos y escogeremos el bloque que se ha creado automáticamente al crear nuestro procedimiento y que situaremos en el bloque cuando Screen1.inicializa para que lo llame nada más arrancar nuestra aplicación, solo nos queda una última cosa, dar valor al parámetro que creamos en el procedimiento “R2”, aquí dejo que pongas el valor que tú quieras, yo para este ejemplo le pondré 1. Tiene que quedar de la siguiente manera.

Si  ejecutamos nuestra aplicación veremos el resultado del cálculo, podemos variar el valor de R2 para ver distintos resultados.


Bueno sin más me despido esperando que este artículo te sea de ayuda en tus futuros proyectos, no dudes en comentar cualquier duda. Un saludo.

https://youtu.be/d6rDGbTnbfc

martes, 18 de septiembre de 2018

BLOQUE BREAK EN APP INVENTOR

BLOQUE BREAK EN APP INVENTOR

Hola y bienvenido una vez más a una nueva entrega del curso que te enseñará a programar en App Inventor, hoy veremos los nuevos bloques break, y digo nuevos, por que hasta hace poco el MIT no los a introducido en nuestra herramienta favorita, veremos su uso, que es muy fácil, y las posibilidades que nos brinda, sin más empecemos.

¿QUE ES UN BLOQUE BREAK?

La instrucción break se utiliza con las instrucciones de bucle foreach y while.

En los bucles, la instrucción break finaliza la ejecución de la instrucción, foreach o while más próxima. El control pasa a la instrucción que hay a continuación de la instrucción finalizada, si hay alguna.

UN EJEMPLO DE BREAK

Bien vamos a ver un pequeño ejemplo de cómo usar este bloque en App Inventor, no te preocupes es muy sencillo.

Lo primero es dirigirnos a App Inventor y abrir un nuevo proyecto, yo le pondré el nombre de BREAK pero le puedes dar el nombre que quieras. Una vez abierto nuestro proyecto en la ventana de diseño arrastraremos dos etiquetas, y en las dos pondremos el tamaño de letra en 24, y la casilla de texto vacía tal como muestra la imagen.

Ahora nos dirigimos a la pantalla de bloques, y con nuestra etiqueta1 haremos un bucle While, para ello usaremos una variable global, a la que llamaremos contador, y que inicializamos a 0, Despues usaremos el bloque “cuando Screen1.Inicializa, donde meteremos nuestro bloque While, de esta forma al arrancar la aplicación iniciara el bucle. Ahora en el bucle While, le pondremos la condición de que se repita siempre que la variable contador sea menor que diez, y dentro del bucle, y a modo de interacción sumaremos 1 a la variable contador, y añadiremos a la etiqueta texto el valor de la variable contador. Tiene que quedarnos de la siguiente manera.

Ahora  con nuestra etiqueta2 haremos un bucle For each que pondremos a continuación dentro del bloque “Cuando screen1. Inicializar” justo debajo del bucle while, para ello en primer lugar crearemos una segunda variable global, a la que llamaremos contador 2, ahora en el bucle for each pondremos en desde, el valor de 1, en hasta el valor de 10, y en incrementos de,  el valor de 1, seguido y dentro del bucle, y a modo de interacción sumaremos 1 a la variable contador2, y añadiremos a la etiqueta2 el valor de la variable contador2. Todo tiene que quedar de la siguiente manera.

Bien ahora usaremos el bloque break para interrumpir los bucles en algún punto de la interacción, para eso nos ayudaremos del bloque if, que cuando su condición sea cierta llamara al bloque break, podemos poner como condición que la variable contador y contador2 se igual o mayor a 5, nuestro nuevo bloque break está  situado en bloques → integrados → control→ break quedará de la siguiente manera.

Pues bien, ahora si ejecutamos nuestra pequeña aplicación, veremos que el texto que muestra en pantalla solo mostrará lo números del 1 al 5. Lo que sucede es que cada bloque if que hemos colocado en sus correspondientes bucles, comprueban si su condición es cierta, es decir, que la variable asignada a cada uno sea mayor o igual a 5, en el momento que se cumple llama al bloque break, que lo que hace es terminar de manera inmediata el bucle.

Ahora su uso y posibilidades se hace casi infinitas, ya que es posible llamarle en cualquier situación, al detectar el giro del teléfono, al pulsar un botón, etc …

Bueno sin más me despido esperando que este artículo te sea de ayuda en tus futuros proyectos, no dudes en comentar cualquier duda. Un saludo.

https://youtu.be/8bRRYGjo9tk

Compartir archivos y texto con Sharing

En alguna ocasión, tendrás que crear una aplicación en app inventor en la que quieras mandar fotos y videos a otras aplicaciones instaladas ...