Você está na página 1de 5

4 ESO INFORMTICA UD 12 SESIN 03 OPENOFFICE.

ORG BASES DE DATOS

IES HUERTA DEL ROSARIO (CHICLANA)

12.3. BUCLES 12.3.1. Qu es un bucle?


Un bucle es un rizo de cabello en forma helicoidal. Eso, al menos, dice el diccionario. La palabra clave es helicoidal, en forma de hlice, es decir, es algo que se repite. Un bucle, mejor definido, es algo que se repite. Por ejemplo, una noria hace un bucle y cada paso del bucle es una vuelta. Si corremos en un campo de atletismo, cada vuelta es un bucle. Normalmente, un ordenador tiene que realizar la misma operacin muchas veces. Por ejemplo, para dibujar la pantalla se enva el color a cada pixel de la pantalla. Cuando se termina, se vuelve a actualizar empezando por el primer pxel de la pantalla. En la hoja de clculo, cuando sumamos una lista de nmeros, el ordenador los coge y los va sumando a un total uno tras otro. Es decir, repite el bucle: REPETIR tomar nmero sumar nmero a total HASTA que no haya ms nmeros Un sexador de pollos tambin sigue un bucle: MIENTRAS no haya ms pollos Coger pollito SI es macho { COLOCAR EN CAJA MACHOS } SINO { COLOCAR EN CAJA HEMBRAS } FIN-MIENTRAS 12.3.2. Para qu me sirve un bucle para programar? En el programa de la sesin anterior, tenamos que escribir 5 lneas cada vez que queramos que la tortuga hiciera algo. Y si quisiramos que hiciera 2.000 cosas? Escribimos 10.000 lneas de cdigo? Obviamente, no. Podramos escribirlo de una forma ms fcil. A continuacin tienes la sintaxis de los bucles que hay en Kturtle. Luego haremos ejemplos:

El bucle mientras
mientras
mientras valor lgico { ... }

El controlador mientras acta de forma similar a si. La diferencia es que mientras contina ejecutando (en un bucle) el cdigo que se encuentra entre llaves hasta que el valor lgico sea falso.
$x = 1 mientras $x < 5 { avanzar 10 esperar 1 $x = $x + 1 }

En la primer lnea, a $x se le asigna el valor 1. En la segunda, se evala la condicin $x < 5. Mientras el resultado de esta condicin sea verdadero, el controlador while contina ejecutando el cdigo que se encuentra entre llaves, as hasta que la condicin $x < 5 sea falsa. En este ejemplo, el cdigo entre llaves se ejecuta 4 veces, porque cada vez que la quinta lnea se ejecuta, al valor de $x se le suma 1.

El bucle repetir
repetir
repetir nmero { ... }

El controlador repetir acta de forma similar a mientras. La diferencia es que 1/5 Profesor Jos Luis Usero Vilchez

4 ESO INFORMTICA UD 12 SESIN 03 OPENOFFICE.ORG BASES DE DATOS

IES HUERTA DEL ROSARIO (CHICLANA)

repetir contina ejecutando (en un bucle) el cdigo que se encuentra entre llaves tantas veces como le indica el nmero dado.

El bucle "para", un bucle que cuenta


para
para variable = nmero hasta nmero { ... }

El bucle para es un bucle que cuenta, es decir, que lleva el recuento. El primer nmero asigna a la variable el valor del primer bucle. Con cada bucle, este nmero se incrementa hasta alcanzar el segundo nmero.
para $x = 1 hasta 10 { escribir $x * 7 avanzar 15 }

Cada vez que el cdigo entre llaves se ejecute, la variable $x se incrementa en 1, as hasta que sea igual a 10. El cdigo entre llaves escribe el valor de $x multiplicado por 7. Cuando el cdigo termine de ejecutarse, ver en el lienzo la tabla de multiplicar del 7. El incremento predeterminado del bucle es 1, pero puede usar otro valor con:
para variable = nmero hasta nmero paso nmero { ... }

Interrumpir un bucle
parar
parar

Interrumpe inmediatamente el bucle que se est ejecutando y transfiere el control a la primera lnea de cdigo despus del bucle.

Interrumpir la ejecucin de su programa


salir
salir

Detiene la ejecucin de su programa. Ejercicio 12.3.1. Crculo 1. Para abrir Logo, entra en Aplicaciones | Educacin | Tecnologa | Programacin en Logo. 2. En la zona de edicin de cdigo escribiremos comandos que harn que la tortuga se comporte de determinada manera. Pero, antes de empezar, vamos a cambiar el idioma para poder introducir las rdenes en espaol. Haz clic en el men Preferencias | Idiomas del cdigo | Espaol. 3. Escribe el siguiente cdigo:
limpiar repetir 36 { avanzar 5 derecha 10 esperar 0.3

} Este bucle es el ms simple. repetir 36 significa que se va a repetir 36 veces lo que est dentro de las llaves. As, avanza 5 pxeles, gira 10 grados a la derecha y espera 3 dcimas de segundo, para que vayamos viendo como lo va dibujando. Ten en cuenta que 360 que tiene una circunferencia es 36*10. 4. Ejecuta el archivo y comprueba su funcionamiento. 5. Guarda el archivo con el nombre CRCULO. EJERCICIO. Escribe un programa que cree un crculo con un radio de 100 pxeles.

2/5

Profesor Jos Luis Usero Vilchez

4 ESO INFORMTICA UD 12 SESIN 03 OPENOFFICE.ORG BASES DE DATOS

IES HUERTA DEL ROSARIO (CHICLANA)

PISTA. Si la miras, no es un reto. No es un esfuerzo. Lo fcil es mirar. Dado que queremos que el radio sea 100, vamos a ver cual sera su dimetro. La frmula es simple: 2xPIxRadio 2x3'14x100=628,32 ms o menos. Vamos a redondear a 628. Igual que antes, vamos a dibujar 36 lneas. La cuestin es cunto debemos avanzar en cada lnea? Pues dividimos 628 entre 36 y nos da: 628/36=17,44 que podemos redondear a 17, porque no podemos coger decimales en los pxeles. As que si escribimos el siguiente programa:
limpiar repetir 36 { avanzar 17 derecha 10

} conseguiremos una circunferencia de radio 100 aprximadamente.

Pero nada es perfecto y, desgraciadamente, se notan las lneas y los vrtices ya que el ordenador tiene unos pxeles de tamao finito. Qu podramos hacer para que se vieran lo menos posible? Hacer ms divisiones. El siguiente programa hace 72 divisiones de 5 grados, con lneas de 9 pxeles, consiguiendo un mejor acercamiento al crculo perfecto.
limpiar repetir 72 { avanzar 9 derecha 5

} EJERCICIO 12.3.2. Escribir listas de nmeros. Las estructuras de bucles mientras y repetir son muy parecidas. De hecho, se puede conseguir lo mismo con los dos. Vamos a crear un programa que haga que la tortuga aprenda a contar del 1 al 10. Vamos primero con el bucle repetir. 6. Escribe el siguiente cdigo: #Cuenta de 1 a 10 #Jos Luis Usero Vlchez limpiar #la coloco mirando parriba direccin 0 #la coloco en la parte inferior izquierda ir 100,380 #inicializacin de variables $contadortortuga=380 3/5 Profesor Jos Luis Usero Vilchez

4 ESO INFORMTICA UD 12 SESIN 03 OPENOFFICE.ORG BASES DE DATOS

IES HUERTA DEL ROSARIO (CHICLANA)

$contador=0 repetir 10 { $contador=$contador+1 escribir $contador #mover la tortuga para escribir los nmeros separados $contadortortuga=$contadortortuga-20 ir 100,$contadortortuga } Ejectalo y mira como el profesor lo explica, mira el vdeo de la explicacin o plantate el reto de ejecutarlo e ir mirando los pasos. Por supuesto, el reto es ms emocionante y divertido. Es simple. EJERCICIO. Escribe un programa que cuente de 10 a 1. SOLUCIN: la vas a mirar? T puedes hacerlo. #Cuenta de 10 a 1 #Jos Luis Usero Vlchez limpiar #la coloco mirando pabajo direccin 180 #la coloco en la parte superior central ir 100,40 #inicializacin de variables $contadortortuga=40 $contador=10 repetir 10 { $contador=$contador-1 escribir $contador #mover la tortuga para escribir los nmeros separados $contadortortuga=$contadortortuga+20 ir 100,$contadortortuga } EJERCICIO 12.3.3. LA TABLA DEL 2 Por ltimo, nuestra amable tortuga nos va a hacer la tabla del 2. 7. Ciertamente, es muy fcil. Solo hay que hacer una pequea modificacin al ejercicio que contaba de 1 a 10. #Tabla del 2 #Jos Luis Usero Vlchez limpiar #la coloco mirando pabajo direccin 0 #la coloco en la parte superior central ir 100,380 #inicializacin de variables $contadortortuga=380 $contador=0 4/5 Profesor Jos Luis Usero Vilchez

4 ESO INFORMTICA UD 12 SESIN 03 OPENOFFICE.ORG BASES DE DATOS

IES HUERTA DEL ROSARIO (CHICLANA)

repetir 10 { $contador=$contador+1 escribir $contador + "x2=" + $contador*2 #mover la tortuga para escribir los nmeros separados $contadortortuga=$contadortortuga-20 ir 100,$contadortortuga } 8. Por ltimo, vamos a hacer una versin de la tabla del 2 usando MIENTRAS en vez de REPETIR: #Tabla del 2 con MIENTRAS #Jos Luis Usero Vlchez limpiar #la coloco mirando pabajo direccin 0 #la coloco en la parte superior central CONDICIN LGICA ir 100,380 #inicializacin de variables $contadortortuga=380 $contador=1 mientras $contador<=10 { escribir $contador + "x2=" + $contador*2 $contador=$contador+1 #mover la tortuga para escribir los nmeros separados $contadortortuga=$contadortortuga-20 ir 100,$contadortortuga }

5/5

Profesor Jos Luis Usero Vilchez

Você também pode gostar