Revista Comunicación

Programación desde cero. Entrega III. Ciclos for

Publicado el 02 julio 2013 por Dracux @isladelmono

Mientras preparo el video del segundo capítulo del tutorial de QBasic que va acompañando a estos posteos, hoy un pequeño tema que son los ciclos de tipo “For” (para)

Supongamos que tenemos que tenemos una variable que toma el valor, supongamos de la hora, y debemos imprimirla 10 veces. Si lo hacemos con lo que vimos hasta ahora tendríamos que hacer algo  como esto:

tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora
tomar hora y guardarlo en la variable hora
imprimir "La hora es: " + hora

¿Horrible verdad? Y ni hablemos si tenemos que hacerlo 100 veces, o 1000 veces o 1000000 de veces, nos pasaríamos el día copiando y pegando código más allá de que se vería horrendo.

La solución a esto es hacer un ciclo For (Para), veamoslo en un ejemplo práctico:

Para i entre 1 y 10:
    tomar hora y guardarlo en la variable hora
    imprimir "La hora es: " + hora
Fin Para

Notamos aquí como bajó la cantidad de código que escribimos, aparte de que se hace más sencillo de leer. Pero expliquemos de que va todo esto:

En el primer renglón tenemos que “Para i entre 1 y 10″ hacer… i es una variable, ponganle el nombre que quieran, lo que hace es que se repitan las instrucciones que están entre el inicio y el fin del Para x cantidad de veces, en este caso, al ingresar al para, i va a tomar el valor 1, al finalizar de ejecutar lo que tiene dentro i va a valer 2 y así se va a ir incrementando de a uno hasta que al valer más de 10 saldrá y no ejecutará más ese código. Por esto lograremos lo mismo que en el caso anterior pero de una manera más sencilla y con mucho menos código.

Ahora bien, si usaramos esto mismo por ejemplo para imprimir el valor de i:

Para i entre 1 y 10:
   imprimir i
Fin Para

Lo que nos mostraría esto es:

1
2
3
4
5
6
7
8
9
10

Ahora podemos usar los “pasos”, que es esto? Hacer que el valor no se incremente de uno en uno. Por ejemplo, supongamos que queremos que solo se muestren los impares dentro del 1 al 10, podríamos hacer algo como esto:

Para i entre 1 y 10 Paso 2:
   imprimir i
Fin Para

Con esto en vez de incrementar de a uno la variable i, la incrementamos de a 2, entonces, la primera vez que pasa vale 1, pero la segunda vale 3, la tercera 5, la cuarta 7, la quinta 9 y la sexta 11 por lo que ya no va a ejecutar el código dentro del para. En la pantalla nos debería mostrar esto:

1
3
5
7
9

También podemos usar el paso con números negativos, supongamos que queremos imprimir del 1 al 10 pero en orden inverso, del 10 al 1. Podríamos hacer esto:

Para i entre 10 y 1 Paso -1:
   imprimir i
Fin Para

i comenzaría valiendo 10 y se ejecutará mientras valga más o igual a uno. El valor de i se decrementará en 1 cada vez que se repita el ciclo. Entonces lo que obtendríamos sería algo así como:

10
9
8
7
6
5
4
3
2
1

Creo que esto quedó bastante explicado, cualquier duda ya saben, avisen, mediante comentarios o en la fanpage de Facebook.


Volver a la Portada de Logo Paperblog