Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Iniciación a la programación - Bucles - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Bueno, ahora vamos a explicar el concepto de bucle.
00:00:01
Un bucle no es más que una parte de código que se va a repetir todas las veces que nosotros queramos.
00:00:05
Ese número de veces que se va a repetir va a depender de una condición.
00:00:14
De una condición muy parecida a como lo hacíamos con condicionales, a como lo hacíamos con la sentencia sino.
00:00:19
¿Vale? Entonces, simplemente tenemos que saber qué es lo que queremos repetir y cuántas veces lo queremos repetir.
00:00:26
Y en función de eso, pues vamos diseñando nuestro código, ¿vale?
00:00:33
Yo ya me he creado un archivo que lo he llamado bucle1, ¿vale? Porque es un archivo de ejemplo, digamos, ¿vale?
00:00:39
Y, bueno, lo que os voy a enseñar va a ser un poquito, pues, cómo hacer un bucle, ¿vale?
00:00:47
Cómo hacer este primer intento de bucle, ¿vale?
00:01:00
Dame un segundito...
00:01:05
Vale.
00:01:08
Vale, perfecto.
00:01:13
Ok, vale, pues entonces, lo primero que vamos a hacer es un ejemplo muy sencillo.
00:01:16
Es simplemente hacer un bucle que lo que haga sea modificar una variable e imprimirla por pantalla, ¿vale?
00:01:19
Entonces yo inicialmente me voy a definir esa variable, que va a ser contador, ¿vale?
00:01:26
Y le voy a dar el valor 0.
00:01:32
Pongo contador igual a 0.
00:01:35
Y ahora para hacer bucle nosotros tenemos tres formas con PSI, ¿vale?
00:01:37
Nos vamos a centrar primero en las dos primeras, que son...
00:01:43
Lo veis aquí, mientras y repetir, ¿vale? Hacen exactamente lo mismo, simplemente varía el lugar donde hace la comprobación, ¿vale?
00:01:46
Y lo podéis ver un poquito en los dibujitos que aparecen, ¿vale? Si os fijáis, aquí en el sí entonces, la comprobación la pinta como si fuera un rombo, ¿vale?
00:01:59
Es decir, primero hace la comprobación y en función de eso hace una cosa u hace otra.
00:02:09
En el caso de mientras, primero hace la comprobación y si se cumple, ejecuta y otra vez vuelve a la comparación.
00:02:14
Y así todo el rato, ¿vale?
00:02:24
En el caso de repetir, primero ejecuta y luego hace la comprobación, ¿vale?
00:02:26
Vamos a hacer los dos casos para que veáis que al final hacen exactamente lo mismo.
00:02:31
Entonces le vamos a dar a mientras, ¿vale? Y aquí veis, aparece mientras expresión lógica hacer y justo debajo secuencia de acción, ¿vale? Pues vamos a modificar esta expresión lógica y mi expresión lógica va a ser mientras que contador sea menor que, pues, un límite, ¿vale?
00:02:36
¿Qué pasa? Que yo esa variable límite no la he definido todavía, así que la voy a definir aquí y voy a poner límite igual, por ejemplo, a 10. ¿Vale? Y ahora simplemente en la secuencia de acciones voy a poner que escriba por pantalla la variable contador.
00:03:00
Pues ponemos escribir la variable contador, ¿vale? Espacio y ahora pongo una coma y pongo contador. ¿Ok? Y voy a ejecutar ese código para que veáis qué es lo que pasa.
00:03:17
Vale, le voy a dar, y fijaros lo que pasa. Está todo el rato imprimiendo por pantalla la variable contador vale 0, la variable contador vale 0, ¿vale? Todo el rato lo está imprimiendo, sin parar.
00:03:36
¿Esto por qué? Pues porque yo no estoy modificando la variable contador, en ningún sitio la modifico
00:04:02
Como no la modifico, pues nunca va a ser esa variable mayor que el límite, ¿vale?
00:04:09
Entonces, voy a parar esa ejecución, ¿eh? ¿Dónde está? Aquí
00:04:16
La paramos, y simplemente lo que hacemos es que una vez que haya impreso el valor de contador
00:04:23
Pues ponemos contador es igual a contador más 1, ¿vale? Voy a poner un comentario. Incrementamos el valor de contador. Entonces fijaros, simplemente va a hacer lo que valía contador antes, le suma 1 y lo vuelve a guardar en contador, ¿vale?
00:04:33
Entonces, si yo ejecuto ahora, ¿veis lo que pasa? ¿Vale? Ahora empieza en 0, luego 1, 2, 3, así consecutivamente, ¿vale? Hasta que llega a 9. ¿Por qué no ejecuta el 10? Pues nos vamos a nuestro código para verlo.
00:04:57
Si os fijáis, voy a hacer un poco de zoom, ahí, ¿vale? Si os fijáis, nuestra condición es mientras contador sea menor que límite, menor, ¿vale? Es decir, en el momento en el que contador sea igual que límite, ya no ejecuta lo que hay dentro, ¿vale?
00:05:17
Si yo ahora aquí pusiera, por ejemplo, contador igual, menor o igual, ¿vale? ¿Qué límite? Si le doy a ejecutar, pues fijaros que ahora sí me incluye el número 10, ¿vale? Ahora sí, ¿ok?
00:05:40
¿Vale? Yo podría, como decía antes, hacer esta misma secuencia, pero utilizando el método repetir, ¿vale?
00:05:56
Entonces, vamos a hacer una cosa, me voy a definir una segunda variable, contador, que va a ser contador b, lo inicializo a 0, ¿vale?
00:06:10
Voy a dejar límite la misma variable y ahora simplemente le doy a repetir, ¿vale? Entonces, fijaros, ahora la sintaxis, la forma de escribirlo cambia completamente. Ahora, en primer lugar, ejecutamos una acción y al final la comprueba, ¿vale?
00:06:21
Entonces, vamos a hacer lo mismo, por lo tanto me voy a copiar el código este que tenemos aquí, tal y como está, ¿vale?
00:06:41
Simplemente que ahora ya no tengo una variable contador, sino que la variable es contador b, ¿vale?
00:06:50
Y lo mismo aquí, contador y contador b, eso.
00:06:55
Y ahora la expresión lógica pues será la misma que antes, mientras contador sea menor o igual que límite.
00:07:00
Y ejecuto. Bueno, voy a poner aquí un mensaje para que veáis la diferencia, ¿vale? Voy a poner aquí escribir, utilizando repetir, y me copio esto, me lo voy a poner aquí, utilizando mientras.
00:07:07
Y fijaros, ejecuto y fijaros que el utilizando mientras está funcionando perfectamente, pero cuando nos vamos a utilizando repetir no funciona, solo se muestra el cero.
00:07:34
¿Esto por qué? Pues si nos vamos al código, podéis ver que en el mientras que no hemos puesto nuestra variable contador, se me ha olvidado, ¿vale?
00:07:56
Entonces, si yo lo pongo ahora, contador b, ahora sí que funciona, ¿vale?
00:08:11
Entonces podéis ver aquí cómo sale utilizando repetir y nos hace la misma cuenta, ¿vale? Y funciona exactamente igual de bien o de mal, ¿vale? De bien.
00:08:19
Vale, vamos a hacer ahora una cosita y es que para que veáis también cómo funciona esto de los bucles, lo vamos a ver en el diagrama de flujo, ¿vale?
00:08:34
Entonces, voy a comentar toda esta parte de código, porque como los dos hacen lo mismo, para que no veamos mucho código.
00:08:44
Entonces, le voy a editar, comentar, ¿vale?
00:08:51
No sé si esto lo estaréis viendo, pero bueno.
00:08:57
Ok, y ahora le vamos a dar al ejecutar paso a paso, no, a dibujar diagrama de flux.
00:09:01
Vale, y lo que se abre... Dejadme un segundito... A ver si... Ahora, ¿vale? Esto es lo que se abre. Voy a hacerlo un poquito más pequeño, así... Vale, entonces ahí lo podéis ver.
00:09:08
Y vamos a ver si puedo hacer una ejecución paso a paso para que lo veáis conmigo.
00:09:48
Le damos aquí para ejecutar paso a paso, ¿vale?
00:09:54
Vale, se está ejecutando, pero quiero que se pare, párate un poquito, pausar, detener.
00:10:04
Vale, ya se ha detenido y le vamos a dar al primer paso.
00:10:13
Vale, pues un segundito que voy a también hacer.
00:10:19
aquí está
00:10:25
vale, entonces
00:10:35
entiendo que estáis viendo
00:10:44
también aquí la ventana de ejecución
00:10:47
voy a quitar
00:10:49
mi careto
00:10:50
ahí, vale
00:10:51
entonces, ya estáis viendo
00:10:54
todo más o menos
00:10:56
ok, pues ahora
00:10:58
vamos a ir ejecutando paso a paso
00:11:00
para que veáis que es lo que está pasando
00:11:02
entonces fijaros
00:11:04
le voy a dar avanzar un paso
00:11:07
Lo primero que ha hecho es poner un cero en contador. Si nos vamos aquí a la lista de variables y hacemos doble botón derecho en contador, vemos que todavía no se ha ejecutado, pero se ejecutará en breve.
00:11:08
Entonces le damos a avanzar un paso y ya tenemos ese cero en contador. Ahora tenemos un cero en límite, ¿vale? Y lo primero que vamos a hacer es escribir, que lo tendréis que ver aquí, ¿vale?
00:11:27
Entonces, le damos a ese botón de escribir y ya veis que aparece utilizando mientras.
00:11:42
Y ahora empieza el bucle. Como decía, lo primero que hace ahora es comprobar si contador es menor que límite, ¿vale?
00:11:52
¿Qué pasa? Que contador inicialmente vale 0 y límite vale 10, por lo tanto se va a cumplir.
00:11:59
Si le damos, entra dentro, ¿vale? Y lo que hace es que imprime. Imprime, el contador vale 0 y ahora le suma 1 a contador y vuelve a subir.
00:12:03
Y se va a la condición, ¿vale? Se va a la condición. Como veis, la v de verdadero va hacia abajo.
00:12:18
Como la condición es verdadera, baja y lo que hace es que escribe otra vez el valor del contador, ¿vale?
00:12:24
Y en este caso veis, la variable contador vale 1.
00:12:33
Le aumenta 1 y vuelve otra vez al condicional.
00:12:36
Como sigue siendo verdadera, va ejecutando y va ejecutando consecutivamente, ¿vale?
00:12:41
Conforme yo le voy dando, contador vale 7, contador vale 9 y ahora contador vale 10.
00:12:46
Y en la línea en la que estoy parado, cuando ahora le sume 1, contador va a valer 11.
00:12:53
Como vale 11, contador ya no es menor o igual que el límite, y por lo tanto, al ser falso, se iría por el camino del fin.
00:13:00
Es decir, iría al fin del algoritmo.
00:13:11
¿Vale?
00:13:15
Lo ejecuta y final del programa.
00:13:16
¿Vale?
00:13:20
Bueno, yo creo que queda medianamente claro este proceso de operación de los bucles, ¿vale?
00:13:21
Y ya está. Siempre podréis utilizar o el repetir o el mientras indiferentemente, el que os sea más cómodo, ¿vale?
00:13:45
Solo un matiz para que veáis la diferencia entre uno y otro, ¿vale?
00:13:54
Vamos a imaginarnos, voy a descomentar todo este código, ¿vale? Editar, descomentar, eso, ¿vale? Bueno, PSIN sustituye esto muchas veces por el igual, ¿vale? La flechita, pero da lo mismo, ¿vale? Da igual que esté escrita la flecha, que esté escrito en igual, no os rayéis con eso.
00:13:59
Vale, vamos a imaginarnos que el límite, mejor dicho, vamos a imaginarnos que contador en vez de empezar en 0 empieza en 10, ¿vale?
00:14:25
En los dos casos, ¿vale? O mejor dicho, empieza en 11, ¿vale?
00:14:40
Entonces, si contador en ambos casos empezara en 11, no debería de entrar en ningún bucle, no debería de imprimirse esta línea ni esta, ¿vale?
00:14:48
¿Pero qué pasa si ejecuto? Vamos a verlo. Vamos a verlo porque es bastante interesante lo que pasa. Si ejecuto, lo que se ve es esto.
00:14:57
Ay, perdona, voy a volver a ejecutarlo, ¿vale? Ejecuto otra vez. Ahí lo tenéis, ¿vale? Fijaros, imprime el primer mensaje de escribir utilizando mientras, ¿vale?
00:15:19
Que eso es, digamos, lo normal, ¿vale? Que escriba imprimir utilizando mientras, ¿vale? Y a continuación, como no se cumple la condición, no entra aquí y no lo imprime, ¿vale?
00:15:39
¿Por qué? Porque como hacemos la comprobación al principio, no ejecuta lo que hay adentro.
00:15:57
Sin embargo, en repetir, no solo imprime esto, sino que también imprime esta línea una vez.
00:16:02
¿Por qué la imprime? Pues la imprime porque la condición se hace al final.
00:16:09
Como la condición se hace al final, pues entonces sí que me imprime una vez, aunque yo en realidad no quisiera, me la imprime una vez.
00:16:15
¿Vale? Para que veáis esa diferencia entre el mientras y el repetir.
00:16:24
¿Ok? Bueno, pues espero que haya quedado claro y nos vemos en el siguiente.
00:16:30
- Autor/es:
- Fernando Martínez Martí
- Subido por:
- Fernando M.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 332
- Fecha:
- 20 de mayo de 2021 - 19:19
- Visibilidad:
- Público
- Centro:
- IES EL BURGO - IGNACIO ECHEVERRÍA
- Duración:
- 16′ 38″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 53.51 MBytes