Ya hemos visto en varias clases el uso del loop WHILE (Clase 4) para crear un bucle infinito y lograr cosas interactivas como mover un personaje(Clase 5), pintar con circulos(Clase 6) , o cargar secuencias de imagenes para animacion(Clase 8), pero para éste caso usaremos un loop que hace una cantidad determinada de repeticiones.


FOR (Para)

El loop FOR(para) se le de la siguiente manera:


        PARA  A desde 1 hasta 10

                escribir el valor de A
       Volver al proximo A




Imprimiendo las tablas de Multiplicar

En el proximo ejemplo le pedimos que muestre la multiplicacion de A * 8, en el primer ciclo A vale 1 por lo tanto imprime 8 (1*8), luego imprime 16 ya que a vale 2... y asi hasta que A valga 10. 




En este punto le pido a los chicos que me hagan la tabla del 8532, rapidamente se dan cuenta que deben cambiar el múltipo. Después le pido que me den no solo la tabla hasta el 10, sino hasta el 5mil y simplemente cambian en el for para lograrlo. A veces usan numeros como el 1000000000000000 ya que el basic es flexible en cuanto al tipo de datos y se vuelven locos al ver como la computadora sigue multiplicando (es el momento WOW).





GRAFICOS

El próximo paso es crear representaciones gráficas, simplemente reemplazamos la línea 8 por un círculo que estará en el centro de la imagen, y usaremos la variable A como tamaño del círculo. 

El primer circulo tendra tamaño 1, el segundo tamaño 2...





STEP
 Step como su nombre en inglés indica es el PASO al que avanza el for, por defecto es 1, pero podemos indicar que tenga STEP 2 entonces A tendra los valores 1, 3, 5, 7...




En éste caso usamos STEP 10, o sea que irá contando de 10 en 10 (si el ciclo va del 1 al 100, se realizara 10 veces).




En éste caso agregamos un segundo círculo en el margen superior izquierdo (y aumentamos la cantidad de veces que se hace el ciclo a 1000)






UN POCO DE MAGIA NEGRA...

  Siempre que he explicado el tema, digo la frase "ok chicos, ahora hagamos un poco de magia negra", la frase les captura la imaginación, porque saben que lo que sigue sera mas por la diversion que por otra cosa (o sea, tendra un alto valor COPADISTICO).



  • Fastgraphics y REFRESH permiten generar graficos de forma rapida para animacion como ya hemos explicado.
  • Penwidth 10 ensancha el trazo de las líneas.
  • En las lineas 4 y 5 vemos que pusimos un FOR dentro de otro, debemos prestar atencion a los next del final para que queden de forma correcta.
  • aleatorio=int(rand*100) sirve para crear un numero aleatorio que se multiplica por 100, ya que random genera numeros del 0.0 al 1.0.
  • INT() es una funcion que trunca los decimales y permite que lo usemos como decimal (basic es mas flexible que otros lenguajes en cuanto a los tipos).




#codigo para Copiar/Pegar
CLG
fastgraphics
graphsize 600,600
for b = 1 to 100
        for a=1 to 1000 step 5
                                          
                        #trazo grueso
                penwidth 10
                                          
                color red,pi
                circle 150, 150, 400-a
                                          
                color purple, pi
                circle 400-a , 300-a , a
                                          
                color green, pi
                circle a , a , a + b
                                          
                color darkred,pi
                                          
                aleatorio = int(rand*100)
                circle aleatorio+a -b , aleatorio+a, 400-a
                refresh
                CLG
        next a
next b