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

martes, 10 de julio de 2018

BUCLES WHILE EN APP INVENTOR 2.

BUCLES (WHILE) EN APP INVENTOR 2.

¿QUE ES UN BUCLE MIENTRAS (WHILE)?.

Esta instrucción o bloque nos permite ejecutar unos bloques continuamente a modo de bucle, siempre que la condición lógica que se le asigne a dicho bloque, sea cierta.
Lo mejor es verlo como siempre con un ejemplo y lo entenderemos mejor.

PROGRAMACIÓN DEL BLOQUE MIENTRAS (WHILE).

Lo primero antes de nada será crear nuestro proyecto, yo en mi caso le he llamado BucleWhile, vosotros como siempre le podéis poner el nombre que más os guste.
Seguido diseñaremos nuestro layout, del que solo nos bastará con una etiqueta, para ello arrastraremos una etiqueta al diseño y en sus propiedades le cambiaremos el tamaño de letra, que le pondremos 20, en la propiedad ancho, le pondremos ajustar al contenedor y en la posición del texto escogeremos centro, también cambiaremos el texto que viene por defecto y le pondremos para nuestro ejemplo un «0».

Asignación

Bien ahora nos dirigimos a la pantalla de bloques y crearemos una variable global con el nombre «contador» y el valor 1, para ello iremos a bloque → integrados → variables → inicializar global que arrastraremos a nuestro diseño, y al que encajaremos el bloque con el valor de 1, para ello iremos a bloques → integrados → matemáticas → y arrastraremos el bloque que contiene un cero en su interior. Bien ya tenemos creada nuestra variable ahora necesitamos un desencadenante que hará que nuestro pequeño programa comience a ejecutarse y ese será la inicialización de la pantalla de nuestra aplicación, para ello iremos a bloques → integrados → Screen1 y arrastramos el bloque cuando Screen1 inicialize, Ahora dentro del bloque encajaremos el bloque mientras para ello iremos a bloques → integrados → control → mientras comprobar. nos tiene que quedar de la siguiente manera.

Asignación

Este bloque como comentamos al principio del artículo comprobaba una condición lógica, si la condición es cierta, repite el contenido del interior de dicho bloque, nosotros lo que haremos con nuestra variable es comprobar que sea menor o igual a 10, y siempre que sea menor añadiremos un texto, que en nuestro caso sera el numero de vueltas o interacciones en el bucle, de esta manera nos tendra que quedar el siguiente texto: 0,1,2,3,4,etc… hasta llegar al 10, una vez llegado al diez, finalizamos el bucle añadiendo al texto el comentario “finalizó el bucle”, es más sencillo de lo que parece así que manos a la obra.

Lo primero iremos a bloques → integrados → matemáticas y arrastraremos el bloque de comparación igual, que situaremos justo al lado del bloque mientras, pulsaremos en la flecha pequeña situada al lado del signo igual y seleccionaremos la comparación igual o menor que, dentro de su primer hueco vacío tomaremos nuestra variable y en el segundo hueco pondremos el bloque matemático 10, nos tiene que quedar de la siguiente manera.

Asignación

Ahora debajo del bloque mientras, pondremos el bloque etiqueta1.texto como, para ello iremos a bloques → integrados → Screen1 → etiqueta1 al que le uniremos texto con el bloque unir situado en bloques → integrados → texto y que le añadiremos un hueco más pulsando en la rueda dentada situada en la parte superior derecha de dicho bloque, quedando tres posiciones para unir texto, en la primera empezando por la parte superior pondremos la etiqueta etiqueta.texto, que será el texto que tenga en ese momento la etiqueta, seguido en la segunda posición, pondremos un bloque de texto con una coma y en la tercera posición, la de más abajo, pondremos el bloque tomar global contador que añadirá al texto el valor de nuestra variable en ese momento, ahora más abajo añadiremos a nuestra variable global contador el valor de uno, que se sumará por cada interacción en el bucle, tiene que quedarnos de la siguiente manera.

Asignación

Vamos hacer un alto y comentar que es lo que tenemos por ahora, lo primero que comprobamos en el código es si nuestra variable es igual o mayor que diez, como es la primera vez que la ejecutamos su valor será 1, ya que al inicio la inicializamos a 1, por tanto nos devolverá cierto y entraremos dentro del bloque, en el que tenemos la etiqueta1 al que le añadimos el texto que ya teníamos, en este caso 0, si recordáis en las propiedades de diseño le pusimos el texto 0, y también le añadimos el valor de nuestra variable que es 1, quedando el texto de la siguiente manera “0,1” ahora volverá a comprobar en el bloque mientras, si la variable contador es igual o mayor de 10 y como 1 es menor que 10, volvemos a entrar siguiendo los pasos anteriores, pero esta vez, el texto mostrado será “0,1,2” a si sucesivamente hasta que la variable contador sea igual o mayor de diez, que llegados a ese caso el texto será el siguiente “0,1,2,3,4,5,6,7,8,9,10” y saldremos del bucle creado por el bloque mientras.

Bien, ahora pondremos justo debajo del bloque mientras el bloque poner etiqueta1 como a la que añadiremos el texto “ya termino el bucle” nos quedará como la siguiente imagen.

Asignación

Si ejecutamos nuestra aplicación con nuestro método favorito veremos que en la pantalla de nuestro dispositivo mostrará la secuencia de número s del 0 al 10 que es las veces que se ejecutará el bucle y el texto se terminó el bucle que se añadirá una vez que salgamos de dicho bucle es decir cuando la condición del bucle sea falsa.

Asignación

Con esto queda visto y explicado el bucle mientras o en inglés While, podéis practicar y ejecutar modificando el número de de veces que interacciona el bucle.
Sin más me despido esperando que este post te ayude en tus próximos proyectos un saludo.

https://youtu.be/Yw_aRspZURg

lunes, 4 de junio de 2018

CONDICIONAL IF EN APP INVENTOR 2.

CONDICIONAL IF EN APP INVENTOR 2.

Bienvenido una vez más a inventordeaplicaciones.es, en este artículo continuaremos con el curso de programación de aplicaciones móviles en App inventor 2, y esta vez veremos el uso y funcionamiento del condicional “IF”, lo que hará este comando es ejecutar una o varias instrucciones si y sólo, si la condición que pongamos a continuación de este comando es cierta “VERDADERO”.

Bien como siempre vamos a ver algún ejemplo para que lo entendamos mejor.

Lo primero que vamos a hacer es crear un nuevo proyecto al que yo le llamaré CONDICIONALIF, a estas alturas ya deberías de saber crear un nuevo proyecto, a si que no me detendré en explicar como hacerlo, puedes pinchar aquí donde encontraras como hacerlo.

Una vez abierto nuestro proyecto, nos dirigiremos a la pantalla de diseño, y arrastraremos una etiqueta, en sus propiedades pondremos el tamaño de letra en 24, y en el texto lo dejaremos vacío.

Asignación
Bien una vez creado nuestro diseño pasaremos a la pantalla de bloques para crear la lógica de nuestra aplicación. Lo primero que haremos es crear una variable global a la que daremos el  nombre de edad, y le daremos el valor numérico de 18, seguido arrastraremos el bloque, cuando screen1 inicializa y meteremos dentro un bloque, si entonces, para ello iremos a bloques → integrados → control. y lo encajaremos en el bloque  cuando screen1 inicializa, seguido iremos a  bloques → integrados → matemáticas y arrastraremos el bloque de comparación, al que pulsaremos en su flecha situada en el centro al lado del igual, y lo cambiaremos por el de mayor o igual que, en el primer hueco del bloque meteremos la variable anteriormente creada, edad, y en el segundo hueco el valor de 18, una vez hecho esto a continuación del entonces, encajaremos el bloque poner etiqueta1.texto como, y  la uniremo con un bloque de texto que en su interior contenga la frase “eres mayor de edad” tiene que quedarnos de la siguiente manera.

Asignación
Bien si ejecutamos nuestra aplicación, veremos que el mensaje que muestra en nuestra pantalla es “eres mayor de edad”, esto sucede porque el bloque SI evalúa la expresión, si la variable edad es mayor o igual que 18, y como en nuestro caso devuelve un valor lógico de verdadero, ejecuta la acción que tiene a continuación de ENTONCES. Si nosotros cambiamos el valor de la variable edad por 15 y volvemos a ejecutar la aplicación, veremos que la etiqueta no muestra ningún mensaje, ya que el valor de la expresión de comparación sería falsa, y no se ejecutaría el código del ENTONCES.

Bien, viendo el caso de que la condición pueda ser falsa, podemos también ejecutar un código en concreto, para ello pulsaremos en la rueda dentada del bloque SI  y arrastraremos el bloque si no debajo del SÍ,  y encajaremos en el el bloque poner etiqueta1.texto como y  la uniremo con un bloque de texto que en su interior contenga la frase “Lo siento no eres mayor de edad” tiene que quedarnos de la siguiente manera.

Asignación

Asignación
Si ejecutamos veremos que el mensaje que muestra en nuestra pantalla es “Lo siento no eres mayor de edad”.

Asignación

 

 esto sucede porque el bloque SI evalúa la expresión, si la variable edad es mayor o igual que 18, y como en nuestro caso devuelve un valor lógico de falso, ejecuta la acción que tiene a continuación de SI NO.

 

Vamos a volver a pulsar en la rueda dentada del bloque SI  y arrastraremos el bloque si no, si debajo del SÍ, y arrastraremos el bloque de comparación, al que pulsaremos en su flecha situada en el centro al lado del igual, y lo cambiaremos por el de menor o igual que, en el primer hueco del bloque meteremos la variable  edad, y en el segundo hueco el valor de 0, una vez hecho esto a continuación del entonces, encajaremos el bloque poner etiqueta1.texto como, y  la uniremo con un bloque de texto que en su interior contenga la frase “Lo siento tienes que meter un valor positivo” tiene que quedarnos de la siguiente manera.

Asignación

Asignación
Si cambiamos el valor de inicialización de la variable edad por 0 y  ejecutamos nuestra aplicación, veremos que el resultado en pantalla es el texto, “Lo siento tienes que meter un valor positivo”, esto sucede porque nuestro codigo evalua la primera expresión, al ser falsa pasa a la segunda (“si no, si) que evaluará una segunda condición, en este caso que sea igual o menor de 0, como es cierta mostrará el mensaje en la etiqueta, pero si fuera también falsa entonces pasariamos al bloque (“SI NO”).

 

Bien vamos ahora a modificar nuestro diseño para hacerlo más atractivo visualmente y ver una posible aplicación utilizando nuestro condicional si.

Vamos a añadir un campo de texto a nuestra pantalla y un botón quedando estos dos por encima de la etiqueta que anteriormente ya pusimos, nos tienen que quedar de la siguiente manera.

Asignación

Ahora en la pantalla de bloques añadiremos un nuevo bloque iremos a bloques→ integrados → boton1 y arrastramos el bloque cuando boton1.click ejecutar dónde asignaremos  a la variable edad el contenido del campo de texto y arrastraremos todo el contenido del si que pusimos dentro del bloque cuando inicializando la pantalla, eliminando ese bloque, quedará de la siguiente manera.

Asignación

Al ejecutar nuestra aplicación veremos que podemos poner una edad en la caja de texto y al pulsar al botón dependiendo de la edad saldrá un mensaje de texto diferente.

Bueno con esto queda explicado el bloque condicional si, espero como siempre que este tutorial sea de ayuda y guste, hasta la próxima.

https://youtu.be/adrGxcqf4_Q

domingo, 27 de mayo de 2018

OPERADORES Y EXPRESIONES EN APP INVENTOR 2. PARTE 2

 

OPERADORES Y EXPRESIONES EN APP INVENTOR 2. PARTE 2.

En el anterior post vimos los operadores de matemáticas más sencillos en App Inventor 2, ahora toca ver los operadores lógicos Y(AND), O (OR) que nos devolverá un resultado dependiendo de elemento que le introducimos, en primer lugar veremos el operador lógico Y (And), para ello construiremos una tabla de la verdad, con una serie de variables que convinandolas nos devolverá un resultado.

¿QUE ES UNA TABLA DE LA VERDAD?

Una tabla de verdad o tabla de valores de verdad, es una tabla que muestra el valor de verdad de una proposición compuesta, por cada combinación de valores de verdad que se puede asignar a sus componentes. Los valores posibles son dos verdadero y falso y pueden expresarse como 1 y 0.

 

VARIABLE AVARIABLE BRESULTADO OPERADOR AND
VERDADEROVERDADEROVERDADERO
VERDADEROFALSOFALSO
FALSOVERDADEROFALSO
FALSOFALSOFALSO

 

VARIABLE AVARIABLE BRESULTADO OPERADOR OR
VERDADEROVERDADEROVERDADERO
VERDADEROFALSOVERDADERO
FALSOVERDADEROVERDADERO
FALSOFALSOFALSO

 

TRABAJANDO CON OPERADORES LÓGICOS, BLOQUE Y (AND).

Bien vamos a ver un ejemplo que nos ayudará a entender la función y manejo de estos operadores. Nos valdremos de cuatro variables, y cada una le daremos un valor booleano, cierto o falso. Después al iniciar la pantalla dependiendo de las variables que coloquemos en el operador Y (AND), nos devolverá un resultado CIERTO o FALSO, que mostraremos por la pantalla de nuestro dispositivo, ayudándonos por una etiqueta.

Bien antes de empezar abriremos un nuevo proyecto, al que pondremos un nombre, yo en mi caso le pondré Operadoreslogicos2, pero vosotros le podéis poner el nombre que queráis, seguido nos iremos a la pantalla de diseño donde prepararemos nuestro diseño, para ello esta vez nos valdremos de dos etiquetas, que pondremos una debajo de la otra, para ello como siempre iremos a PALETA → INTERFAZ DE USUARIO → ETIQUETA.
en la primera la que quede más arriba pondremos en sus propiedades → texto EL RESULTADO ES : y en tamaño de letra le pondremos 24 y en la segunda solo cambiaremos en sus propiedades el tamaño de letra que también pondremos en 24. Una vez realizado esto no dirigimos a la pantalla de bloques y inicializamos 4 variables globales, la primera variable le pondremos el nombre de EsDeDia y le asignaremos el valor de true, ya que en el momento en el que escribía este artículo es de día, a la segunda le pondremos de nombre EsDeNoche y le asignamos el valor de false, ya que como he dicho es de día y por lo tanto no es de noche, a la tercera variable le pondremos el nombre EsLaMañana y le asignaremos el valor de true, ya que es de día y por la mañana y a la cuarta y última le pondremos el nombre de EsLaTarde y le asignamos el valor de false ya que es de día y es por la mañana y como ya he dicho, bien debería de quedarnos de la siguiente manera.

Asignación

Ahora arrastraremos el bloque, cuando Screen inicializar ejecutar al lienzo para que en el momento que inicie nuestra aplicación muestre el resultado de nuestras expressiones, y para ello utilizaremos el bloque poner etiqueta2.Texto como y le uniremos el bloque Y (AND) que en sus dos huecos meteremos dos variables, comenzaremos metiendo la variable EsDeDia y EsLTarde, tiene que quedarnos de la siguiente manera.

Asignación

Si ejecutamos nuestra aplicación el resultado será FALSE, ya que el bloque y (AND) evalua las dos expresiones y devuelve TRUE sólo si las dos expresiones son verdaderas, vamos a ver el ejemplo cambiaremos la variable del bloque Y por la variable EsLaMañana y volveremos a ejecutar nuestra aplicación, en este caso el valor devuelto es TRUE ya que las dos expresiones son verdaderas.

Asignación

Probar todas las combinaciones posibles y comparar el resultado con la tabla de la verdad del operador AND que mostré en el principio de este artículo, veréis que los resultados son los mismos.

TRABAJANDO CON OPERADORES LÓGICOS BLOQUE O (OR).

Vamos a ver cómo se trabaja con el bloque O (OR) este bloque evaluará las dos variables que contenga en sus dos huecos y devolverá true si al menos una de ellas es cierta si las dos son falsas devolverá falso, para ello eliminaremos el bloque Y que teníamos anteriormente y en su lugar pondremos el bloque O (OR) ,en este ejemplo utilizaremos en el primer hueco la variable global EsDeDia y La variable global EsDeNoche que pondremos en el segundo hueco.

Asignación

si ejecutamos la aplicación veremos que el resultado es cierto, como ya hemos dicho el bloque O devolvera cierto si al menos uno de los dos es cierto, ahora cambiaremos la variable EsDeDia por EsLaTarde y volvemos a ejecutar nuestra aplicación veremos que nos devolverá false, ya que ninguna de las dos variables son ciertas, y al menos necesitamos una de ella como cierta para que nos devuelva cierto.
También podremos asignar a una variable un resultado de una expresión con los bloques O (OR) y Y(AND) como si de un resultado matemático fuera, para ello crearemos una variable global nueva y le pondremos el nombre de ResultadoBooleano y le asignaremos el valor de false, ahora en el bloque Cuando screen1 inicializar pondremos esta misma variable y le asignaremos el bloque situado en la etiqueta, cambiando sus dos variables por las de EsDeDia y EsLaMañana, ahora al bloque etiqueta 2 le asignaremos la nueva variable. Nos tiene que quedar como la siguiente imagen.

Asignación

Al igual que en las operaciones matemáticas podremos tener más de dos espresiones booleanas incluso combinar bloque O y Y para de esta forma obtener un resultado, dependiendo de cualquier situacion, para ver un ejemplo podríamos obtener un valor true independientemente si es de día y es por la tarde o es de noche y por la mañana, veamos un ejemplo, para ello borraremos todo lo anterior arrastrándolo a la papelera de reciclaje, menos nuestro bloque de etiqueta, ahora arrastraremos un bloque O y lo uniremos al bloque de la etiqueta, seguido situaremos de nuevo un bloque O dentro del primer hueco del anterior y en el segundo hueco arrastraremos nuevamente un bloque O, y los configuraremos de la siguiente manera, EsDeDia O EsLaTarde O EsDeNoche O EsDeMañana, nos tiene que quedar de la siguiente manera.

Asignación

Si ejecutamos la aplicación el resultado que nos devuelve el conjunto de operaciones es true.

OPERADORES DE COMPARACIÓN.

Ahora veremos los operadores de comparación, estos operadores devuelven un valor lógico, verdadero o falso, y nos van a permitir comparar desde una cadena de texto, números, pasando por variables booleanas. Estos son los operadores de comparación en App Inventor: igual, distinto de, mayor que, menor que, mayor o igual a y menor o igual que. Vamos a ver unos cuantos ejemplos. Para ello crearemos 2 nuevas variables a las que llamaremos ComparadorUno y ComparadorDos. Y le asignaremos los siguientes valores en el mismo orden 1 y 5.
Nos tiene que quedar de la siguiente manera.
Asignación

OPERADOR IGUAL.

Ahora borraremos los bloques que acompañan a la etiqueta que nos muestra los resultados y en su lugar pondremos el bloque de igual situado en bloques → integrados → matemáticas. Y en su primer hueco pondremos el ComparadorUno y en el segundo hueco la variable ComparadorDos, nos tiene que quedar de la siguiente manera.
Asignación
Si ejecutamos nuestra aplicación, veremos que el operador compara si son iguales las dos variables, en caso cierto devolverá true en caso contrario devolverá false, en nuestro ejemplo como ComparadorUno vale 1 y ComparadorDos vale 5, no son iguales, por tanto devolverá false.
Asignación

OPERADOR DISTINTO QUE.

Ahora pulsaremos en la flecha situada al lado de el signo igual y seleccionaremos el símbolo distinto que.

Asignación
Y volveremos a ejecutar nuestra aplicación, esta vez el resultado será cierto, ya que ninguna de las dos variables es igual, por lo tanto son distintas y el operador nos devuelve true.

OPERADOR MENOR QUE.

Vamos a ver el bloque de comparador menor que. Para ello pinchamos en la flecha que está a continuación del símbolo y seleccionamos el símbolo menor que.
Asignación
Y volveremos a ejecutar nuestra aplicación, esta vez el resultado será cierto ya que ComparadorUno es menor que ComparadorDos.

OPERADOR MAYOR QUE.

Ahora vamos a ver el comparador de mayor que, para ello haremos como hasta ahora pulsaremos en la flecha situada a la derecha del símbolo y seleccionamos el símbolo mayor que.
Asignación
Y una vez más volveremos a ejecutar nuestra aplicación con vuestro método favorito, esta vez el resultado será falso ya que ComparadorUno es menor que ComparadorDos, y por tanto la condición no será cierta.

OPERADOR MENOR O IGUAL QUE.

Ahora vamos a ver el comparador de menor o igual que, este operador devolverá cierto cuando la primera variable sea menor o incluso igual que la segunda, vamos a ver un ejemplo, pulsaremos en la flecha situada a la derecha del símbolo y seleccionamos el símbolo menor o igual que.

Asignación
Si ejecutamos la aplicación el resultado será verdadero, como sucedía con el comparador menor que, pero también nos devolverá cierto si las dos variables valen lo mismo, podemos hacer la prueba cambiando el valor de alguna de las variables por el de la otra, si ejecutamos veremos qué ahora ninguna de las dos variables es mayor o menor que la otra, pero el valor será cierto, porque son iguales, y como hemos dicho el comparador devolverá cierto si es menor o igual.

OPERADOR MAYOR O IGUAL QUE.

Ahora vamos a ver el comparador de mayor o igual que, este operador devolverá cierto cuando la primera variable sea mayor o incluso igual que la segunda, vamos a ver un ejemplo, pulsaremos en la flecha situada a la derecha del símbolo y seleccionamos el símbolo mayor o igual que.

Asignación
Si ejecutamos la aplicación el resultado será verdadero, ya que ahora mismo las dos variables valen lo mismo, y como sucedía en el ejemplo anterior devuelve cierto, vamos a cambiar el valor de la segunda variable, le daremos el valor de 1 y volvemos a ejecutar la aplicación, el resultado es cierto, ya que el ComparadorUno es mayor que ComparadorDos.

Bueno con esto creo que quedan vistos los operadores lógicos y de comparación, podéis cambiar el valor de las variables cambiarlas por otras, en fin cualquier combinación para ver y comprender mejor su finalidad.

Sin más me despido esperando que este articulo te ayude en tus próximos proyectos un saludo.

https://youtu.be/IqQT_mhXtUQ

miércoles, 9 de mayo de 2018

OPERADORES Y EXPRESIONES EN APP INVENTOR 2. PARTE 1

OPERADORES Y EXPRESIONES EN APP INVENTOR 2

En este artículo vamos a aprender a trabajar con operadores, ya hemos visto alguno por encima en anteriores artículos, pero ahora los veremos con más detalle. Estos son el asignación (=), suma(+), resta (-) multiplicación(*), división(/) y módulo(%).

¿Qué es un operador?
En los lenguajes de programación de computadora, las definiciones de operador y operando son casi las mismas que las de matemáticas. Entonces podemos decir, que un operador es un símbolo matemático que indica que debe ser llevada a cabo una operación específica sobre un cierto número de operandos ya pudieran ser números o variables.

TRABAJANDO CON OPERADORES.

Operador de asignación.

El primer operador que vamos a ver es el de asignación, en App Inventor para asignar un valor a una variable no utilizamos el signo igual para ello App inventor ya nos ofrece el bloque “poner a” de las variable ( no solo está en las variables también en distintas funciones como etiquetas, imágenes, etc) . Este bloque asigna a la variable especificada, el valor que se añada a continuación del bloque. Vamos a ver el ejemplo.
Primero inicializando la variable global con el valor de cero, para ello iremos a bloques→ integrados→ variables y arrastraremos el bloque inicializar global como al lienzo, a esta variable le pondremos el nombre de puntos y le daremos el valor de 0.
Seguido pondremos el bloque cuando Screen1 inicializar ejecutar para ello iremos a bloques→ integrados→ Screen1 y lo arrastraremos al lienzo, seguido y dentro de este bloque pondremos el bloque poner global a, seleccionaremos la variable que declaramos con anterioridad y le daremos el valor de 100, de esta manera estamos asignando un valor, sin utilizar el signo “=”. Crearemos otra variable y a esta la llamaremos maxpuntos y le daremos el valor numérico de 200. Si ahora asignamos a la variable puntos la variable maxpuntos, la variable valdrá 200.
Asignación

Vamos a comprobar que esto es cierto, para ello nos ayudaremos de una etiqueta, iremos a la pantalla de diseño y arrastraremos una etiqueta, para ello iremos a paleta –>interfaz de usuario→ etiqueta. Una vez hecho esto en la pantalla de bloques, iremos a bloques→ integrados → Screen1→ Etiqueta1 y arrastrarnos el bloque poner Etiqueta1.texto como y seguido le asignaremos la variable puntos.

Asignación

Si ejecutamos nuestro programa con nuestro método favorito veremos que el valor es 100, esto sucede porque el operador de asignación de la variable evalúa lo que tiene a su derecha, es decir, obtiene el valor del dato de su derecha y lo asigna al de la izquierda. Si llegado a este punto te estás preguntando cuál es la función del signo igual(=) en App Inventor, es sencillo, la de comparación, si necesitáramos saber si las dos variables son iguales en algún momento del programa utilizamos el signo de igual, veremos un ejemplo más adelante, ahora continuaremos con operadores más simples.

Operador de suma.

Para hacer sumas, App Inventor nos ofrece el bloque suma. para hacer uso de él nos dirigiremos a bloque → integrados → matemáticas y arrastraremos el bloque que contiene el signo de suma, que colocaremos en lugar de tomar la global maxpuntos, justo a continuación del bloque poner global puntos a, también podremos obtener el bloque pulsando con el botón izquierdo del ratón en cualquier parte del lienzo y escribiendo el signo más. La variable global puntos la inicializamos a 45 y seguido le añadimos en sus huecos dos bloques con valores numéricos, yo por ejemplo pondre 2 + 7, y antes d loe ejecutar añadiremos un tercer valor a la suma, para ello pulsaremos la rueda dentada situada en la esquina superior izquierda del bloque, veremos que podremos añadir tantos huecos nuevos como queramos, yo solo añadiré una más al que daré el valor de 10.
Asignación

Si ejecutamos nuestra aplicación el resultado de la operación será 19. Tambien podriamos hacer de la siguiente manera, en este caso sustituiremos el primer operador de la suma 2, por la variable puntos, entonces, ¿Cuál será el resultado de la expresión?, muy fácil, si al inicializar puntos le asignamos el valor de 45, y después le asignamos el valor de puntos → (puntos 45) + 7 + 10 entonces el resultado será 62.
Asignación

Ahora haremos una copia del bloque, pulsaremos con el botón derecho del ratón sobre el bloque poner global puntos y daremos a duplicar, el conjunto de bloques duplicados lo arrastraremos justo debajo del anterior y volveremos a ejecutar la aplicación, ahora el valor que nos devuelve es 79, esto sucede porque la variable puntos ya no vale 45 si no que en la anterior operación guardo el valor de 62, y (puntos 62) + 7+ 10 devuelve 79.
Asignación

Operador de resta.

Para hacer restas, App Inventor nos ofrece el bloque restas. para hacer uso de él primero borraremos los bloques de suma del ejemplo anterior y seguido nos dirigiremos a bloque → integrados → matemáticas y arrastraremos el bloque de restas que situaremos a continuación de la variable global puntos, también podremos obtener el bloque pulsando con el botón izquierdo del ratón en cualquier parte del lienzo y escribiendo el signo menos. Seguido le añadimos en sus huecos dos bloques con valores numéricos 10 y 7, y la variable global puntos la inicializamos a 45. Si nos fijamos bien en este caso el bloque de resta no ofrece la rueda dentada para añadir más huecos a la resta, pero no por ello podremos hacer restas con más de dos operandos, la solución es sencilla, meteremos el bloque de resta en el primer hueco de otro bloque de resta, y en el hueco libre meteremos la variable puntos, entonces, ¿Cuál será el resultado de la expresión?, muy fácil, si al inicializar puntos le asignamos el valor de 45, y después le asignamos el valor de puntos → (10 – 7) – (puntos 45) entonces el resultado será -42, primero se hará la resta contenida en el primer bloque y el resultado se le restará la variable. Ahora haremos una copia del bloque, pulsaremos con el botón derecho del ratón sobre el bloque poner global puntos y daremos a duplicar, el conjunto de bloques duplicados lo arrastraremos justo debajo del anterior y volveremos a ejecutar la aplicación, ahora el valor que nos devuelve es 45, esto sucede porque la variable puntos ya no vale -42 si no que en la anterior operación guardo el valor de -42, y (10 – 7) – (puntos -42) devuelve 45.
Asignación

Operador de multiplicación.

Para hacer multiplicaciones, App Inventor nos ofrece el bloque multiplicar. para hacer uso de primero borraremos los bloques de suma del ejemplo anterior y seguido nos dirigiremos a bloque → integrados → matemáticas y arrastraremos el bloque que contiene el signo de multiplicación (*), que colocaremos a continuación del bloque poner global puntos a, justo a continuación del bloque poner global puntos a, también podremos obtener el bloque pulsando con el botón izquierdo del ratón en cualquier parte del lienzo y escribiendo el signo *. Seguido le añadimos en sus huecos dos bloques con valores numéricos, yo por ejemplo pondre 2 * 7, y antes de ejecutar añadiremos un tercer valor a la multiplicación, para ello pulsaremos la rueda dentada situada en la esquina superior izquierda del bloque, veremos que podremos añadir tantos huecos nuevos como queramos, yo solo añadiré una más al que daré el valor de 10, si ejecutamos nuestra aplicación el resultado de la operación será 140. Tambien podriamos hacer de la siguiente manera, en este caso sustituiremos el primer operador de la multiplicación 2, por la variable puntos, entonces, ¿Cuál será el resultado de la expresión?, muy fácil, si al inicializar puntos le asignamos el valor de 45, y después le asignamos el valor de puntos → (puntos 45) * 7 * 10 entonces el resultado será 3150. Ahora haremos una copia del bloque, pulsaremos con el botón derecho del ratón sobre el bloque poner global puntos y daremos a duplicar, el conjunto de bloques duplicados lo arrastraremos justo debajo del anterior y volveremos a ejecutar la aplicación, ahora el valor que nos devuelve es 220500, esto sucede porque la variable puntos ya no vale 45 si no que en la anterior operación guardo el valor de 3150, y (puntos 3150) * 7* 10 devuelve 220500.
Asignación

Operador de división.

Para hacer división, App Inventor nos ofrece el bloque división (/). para hacer uso de primero borraremos los bloques de multiplicación del ejemplo anterior y seguido nos dirigiremos a bloque → integrados → matemáticas y arrastraremos el bloque que contiene el signo de división(/), que colocaremos a continuación del bloque poner global puntos a, también podremos obtener el bloque pulsando con el botón izquierdo del ratón en cualquier parte del lienzo y escribiendo el signo división. Seguido le añadimos en sus huecos dos bloques con valores numéricos, yo por ejemplo pondre 10 / 7, si ejecutamos nuestra aplicación el resultado de la operación será 1.42857.
Si nos fijamos bien en este caso el bloque de división no ofrece la rueda dentada para añadir más huecos a la división, pero no por ello podremos hacer divisiones con más de dos operandos, la solución es sencilla, meteremos el bloque de división en el primer hueco de otro bloque de división, y en el hueco libre meteremos la variable puntos, entonces, ¿Cuál será el resultado de la expresión?, muy fácil, si al inicializar puntos le asignamos el valor de 45, y después le asignamos el valor de puntos → (10 / 7) / (puntos 45) entonces el resultado será 0.03175, primero se hará la división contenida en el primer bloque y el resultado se le dividirá la variable. Ahora haremos una copia del bloque, pulsaremos con el botón derecho del ratón sobre el bloque poner global puntos y daremos a duplicar, el conjunto de bloques duplicados lo arrastraremos justo debajo del anterior y volveremos a ejecutar la aplicación, ahora el valor que nos devuelve es 45, esto sucede porque la variable puntos ya no vale 45 si no que en la anterior operación guardo el valor de 0.03175, y (10 / 7) / (puntos 0.03175) devuelve 45.
Asignación

Operador de modulo.

En informática, la operación de módulo obtiene el resto de la división de un número por otro.
si tenemos dos números positivos, a y b, a módulo b nos dará el resto de la división entre ellos. Por ejemplo, la expresión «5 módulo de 2» se evaluaría a 1 porque 5 dividido por 2 da un cociente de 2 y un resto de 1.
Para hacer módulos, App Inventor nos ofrece el bloque modulo de. para hacer uso de él nos dirigiremos a bloque → integrados → matemáticas y arrastraremos el bloque que contiene modulo de, que colocaremos en lugar de tomar la global maxpuntos, justo a continuación del bloque poner global puntos a, también podremos obtener el bloque pulsando con el botón izquierdo del ratón en cualquier parte del lienzo y escribiendo módulo de. Seguido le añadimos en sus huecos dos bloques con valores numéricos, yo por ejemplo pondre 10 / 7, si ejecutamos nuestra aplicación el resultado de la operación será 3.
Asignación

Bueno creo que con esto queda claro algunas operaciones matemáticas sencillas, App Inventor 2 dispone de muchas más, con las que podréis practicar y en un siguiente artículo veremos la segunda parte donde extenderemos más este artículo.

Bueno sin mas, como siempre desearos que sea de utilidad lo aprendido, y hasta la próxima.
Un saludo.

https://youtu.be/sHd28Tt63XU

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 ...