20 Iteración Repetición Manual App Inventor
Fuente:
www.appinventor.org
Traducción hecha con Google Traductor y mejorada por mi: p
iatticarlos@gmail.com
Bloques Repetitivos: Iteración
Una cosa para la que los ordenadores son buenos es
la repetición de operaciones, igual que los niños
pequeños, nunca se cansan de repetir. Son también
muy rápidos y puede realizar cosas como procesar en un microsegundo toda su lista de amigos de
Facebook.
En este capítulo, aprenderá a programar la repetición con unos pocos bloques en lugar de
copiar y pegar los mismos bloques una y otra vez. Va a aprender a hacer cosas como enviar un
SMS a cualquier número de teléfono de una lista y ordenar los elementos de la lista. También
aprenderá que repetir bloques puede simplificar significativamente el funcionamiento de una aplicación.
Controlar la ejecución de una aplicación: Bifurcaciones y bucles
En los capítulos anteriores, ha aprendido que el comportamiento de una aplicación se define
con un conjunto de controladores de eventos: eventos y funciones que responden
ejecutandosé. También aprendimos que la respuesta a un evento no es a menudo una secuencia lineal de funciones y puede contener bloques que se realizan sólo bajo ciertas
condiciones.
La otra forma en que se comporta una aplicación no
lineal es mediante la repetición de bloques. Como los
bloques
if
y
Ifelse
permiten la ramificación de un
programa, los bloques de repetición hacen que un
programa realice bucles, es decir, llevar a cabo un
conjunto de funciones y luego saltar hacia atras en el código y hacerlo nuevamente, como se ilustra en la
Figura 201.
Cuando se ejecuta una aplicación, hay un contador de
programa que trabaja ocultamente en la aplicación
realizando un seguimiento de la siguiente operación a
realizarse. Hasta ahora, usted ha examinado las
aplicaciones en las que el contador de programa se
inicia en la parte superior de un controlador de eventos
y (condicionalmente) realiza las operaciones desde arriba hacia abajo. Con los bloques de repetición, el contador de programa regresa en los
bloques, repitiendo funciones continuamente
.
En App Inventor, hay dos tipos de bloques de repetición:
foreach
y
while.foreach
que se
utilizan para especificar las funciones que se deben realizar a cada elemento de una lista. Por lo cual, si usted tiene una lista de números de teléfono, puede especificar que se debe enviar
un texto a cada número de la lista.
El bloque
while
es más general que el
foreach
. Con él, usted puede programar que los
bloques se repitan continuamente hasta que cambie alguna condición arbitraria. Los bloques
while se pueden utilizar para calcular fórmulas matemáticas, tales como la adición del primer
número
n
o calcular el factorial de
n. También puede utilizar while cuando necesita procesar
dos listas simultáneamente;
foreach
procesa solamente una lista a la vez.
Funciones de repetición en una lista utilizando
foreach
En el capítulo 18, hablamos de la aplicación Random Call. Llamar a un amigo aleatoriamente a
veces podría funcionar, pero si usted tiene amigos como los míos, no siempre le responderán. Una estrategia diferente sería enviar un texto "Missing you" (Te desapareciste) a todos tus
amigos y ver quién responde primero.
En esta aplicación, al hacer clic en un botón, se envía un SMS a más de un amigo. Una forma
de implementar esto sería simplemente copiar los bloques para enviar mensajes de texto a un
solo número, y luego copiar y pegar para cada amigo que desee enviarle el texto, como se
muestra en la Figura 202.
Este método de "fuerza bruta" copypaste está bien si usted tiene que repetir unos pocos
bloques. Pero las listas de datos, como la lista de sus amigos, tienden a cambiar. Usted no
quiere modificar su aplicación con el método de copiar y pegar cada vez que agregue o elimine
un número de teléfono de su lista.
El bloque
foreach...
Regístrate para leer el documento completo.