[Tutorial Processing] Ciclos

[singlepic id=724 w=320 h=240 float=center]

En esta ocasión veremos una herramienta muy poderosa y útil de la programación que nos ahorrara mucho tiempo y simplificara nuestros programas. Cuando tenemos una tarea repetitiva los mas fácil seria copiar y pegar el mismo código para que se ejecute varias veces, pero eso implica un mal aprovechamiento de los recursos ademas de que nuestro código se vuelve ineficiente, para estos casos usaremos los ciclos for, while y do while. Empezaremos por la sintaxis de los ciclos for.


[code language=”java”]
for(Valor inicial; Valor final; Incremento) {
Codigo a repetir
}
[/code]

El funcionamiento del ciclo for (desde) es muy sencillo, se tiene un valor inicial el cual debe ser una variable de tipo int, un valor final que puede ser asignado directamente o también puede ser una condición y un incremento(o decremento) para la variable. Hagamos un ejemplo:

[code language=”java”]
for (int x=1; x”+x);
}
[/code]

Tenemos nuestro valor inicial x=1, ya que declaramos la variable dentro del ciclo, esta solo estará disponible dentro del ciclo for (variable local); tenemos una condición x< =5 para nuestro valor final que nos indica que el ciclo se repetirá mientras la condición sea verdadera y por ultimo un incremento en x 1 en 1 (++). Observa como se puede usar el valor de la variable dentro del ciclo a nuestra conveniencia, el valor de x cambia durante la ejecución de cada ciclo por que lo su valor será dinámico. Entonces en resumen el ciclo for se repetirá desde x=1 mientras que x sea <=5 con un incremento de 1 en 1, por lo que nuestro código se ejecutara 5 veces y en consola tendremos el siguiente resultado.

ciclo-> 1
ciclo-> 2
ciclo-> 3
ciclo-> 4
ciclo-> 5

El ciclo while es un poco diferente, ya que este solo evalúa la condición sin alterar la variable de control, este ciclo se ejecuta mientras la condición sea verdadera y su estructura es la siguiente:

[code language=”java”]
while(condicion) {
Codigo a repetir
}
[/code]

Y como ejemplo tenemos un programa que realice la misma función que el ejemplo del ciclo for.

[code language=”java”]
int x=1;

while (x “+x);
x++;
}
[/code]

La diferencia entre el while y do while es que el segundo se ejecuta por lo menos una vez. Podemos notar mejor esta diferencia con un ejemplo:

[code language=”java”]
int x=3;

do {
println(x);
}
while (x!=3);
[/code]

El programa empieza declarando un variable entera con el valor de 3, después entra al ciclo do while en donde su condición es que x sea diferente de 3; si fuera un ciclo while no se ejecutaría el código ni una vez, pero ya que es un do while, este entra primero al bloque do, ejecuta el código y posteriormente realiza la evaluación de la condición, que en caso de ser verdadera hará otro ciclo.

Por ultimo tenemos un ejemplo donde integramos un ciclo while dentro de un ciclo for, a este tipo de arreglos donde un ciclo esta dentro de otro se conoce como anidado (también aplica para condicionales), ademas de introducir dos nuevas funciones: size() y random().

size(): Definira el tamaño de ventana de nuestro sketch, recibe como parámetros el ancho y alto de nuestra ventana (pixeles), que por default es de 100px X 100px, ademas puede recibir otro parametro (rendering engine) el cual veremos posteriormente.

[code language=”java”]
size(x,y);
[/code]

random(): Esta función no necesita mas descripción, retorna un numero aleatorio de tipo float dentro del rango especificado por los parámetros, si este recibe un parámetro x nos regresara un numero entre cero y x (sin incluir x), si recibe un parámetro x y un parámetro z nos regresara un numero entre x y z (sin incluir z)

[code language=”java”]
float n;
n=random(x);
n=random(x,z);
[/code]

Y el programa de ejemplo:

[code language=”java”]
size(400, 400);
int y=0;
color col;

for (int x=0; x< =15;x++) { while (y<=15) { col=color(random(255), random(255), random(255)); fill(col); stroke(col); rect(x*25, y*25, 25, 25); y++; } y=0; } [/code]

Primero definimos el tamaño de nuestra ventana de 400×400 px, creamos una variable y que usaremos para el contador del while y creamos un color sin valor asignado, posteriormente creamos un ciclo for que va de x=0 hasta x< =15 por lo que se repetirá 16 veces lo que se encuentra dentro de las llaves, en este caso se repetirá el ciclo while, ademas de que se repetirá otras 16 veces el ciclo while dentro de cada ciclo del for; dentro del while le asignamos el nuevo valor aleatorio a la variable col creada antes y se le asigna al color de relleno y al contorno, por ultimo se dibuja un rectángulo que variara su posición dependiendo del valor del ciclo y con un tamaño definido. Observa la diferencia entre usar ciclos for y while, en el for el manejo de la variable de control lo realiza el mismo ciclo, mientras que en el while se hace de forma independiente al ciclo. Y el resultado obtenido es el siguiente:
[singlepic id=723 w=320 h=240 float=center]
Es todo para este tutorial, pero habrá mas de donde vino este 😉
Siguiente tutorial: Funciones principales de processing (ahí viene lo interesante :D)

Adrian MB

Me gusta la electrónica, programación y todo lo relacionado. Ing. en Mecatronica de la UPIITA del IPN y estudiante de Diseño Industrial en la UAM. @adrianmtzb http://adrianmb.mx

También te podría gustar...

  • Sonia Rodriguez

    hola… necesito ayuda con una programación en processing..
    la cual no se hacer.. y consiste en lo siguiente..
    es el modelo de un péndulo utilizando un mpu6050, arduino y processing..
    Quiero que en processing me haga un conteo de cuantas veces pasa por cero, en un maximo de 20 ciclos…