Bucles y bifurcaciones
Actividad 01: ¿Qué es un bucle? 1
- Esta actividad consiste en ver y entender que es un bucle en un programa. La primera imagen de abajo muestra 2 figuras: una con una secuencia de 2 oŕdenes (mover y girar) que se repite 4 veces, y la otra con esa misma secuencia convertida en bucle. Es decir, un bucle es una repetición.
- La segunda imagen muestra un bucle (dentro de un algoritmo) visto en un programa anterior: la orden de mostrar un número impar se repite hasta que N sea cero.
- Crea el programa bucle_figuras utilizando bucles. Este programa ha de dibujar se dibuja un triángulo (de lado 150), un cuadrado (de lado 125) y una circunferencia. En tu programa has de unir las 2 partes que muestra la 4ª imagen.
Actividad 02: ¿Qué es un bucle? 2
- El programa que viene a continuación tiene un bucle que puede ser infinito, es decir, que podríamos estar repitiendo las misma secuencia todo el tiempo. Y los programas han de tener, siempre, una finalización.
- Echa un vistazo al diagrama de flujo del programa e intenta entender lo que hace.
- El programa le pide (dice) a un/una estudiante que estudie, que haga un examen e introduzca la nota del examen (variable N). El programa calcula la nota final (variable NF) sumando 0,5 puntos a la nota del examen y, si esa nota final es inferior a 5, le manda repasar, volver a hacer el examen... Cuando esa nota final sea 5 o superior, el programa manda al estudiante de viaje.
- Crea el programa bucle_examen1 y comprueba que puedes entrar en un bucle infinito. En la actividad siguiente a ésta solucionaremos este problema, con otro bucle.
Actividad 03: ¿Qué es un bucle? 3
- ¿ Qué hace que el bucle del programa anterior pueda ser infinito y el programa no tenga fin?
- Para asegurarnos que un bucle finalice debemos incluir condiciones que se acaben cumpliendo. Por ejemplo fijando un número máximo de repeticiones del bucle. Y ésta es la solución: el bucle sólo permite que se repita el examen 3 veces, y a la 4ª (la primera vez más 3 repeticiones) se va al final para terminar. Para ello se introduce una nueva variable (R) que controla el nº de veces que se hace el examen.
- Trata de entender el algoritmo (representado por su diagrama de flujo) y ver que funciona. El programa correspondiente es un poco más complicado de seguir que el algoritmo. Aquí podemos ver que el lenguaje de programación que estemos utilizando para crear los programas tienen su influencia a la hora de traducir ese algoritmo a un programa ejecutable.
- Crea el programa bucle_examen2 y comprueba que ahora ya no tenemos un bucle infinito.
Actividad 04: Aplicación con bucle.
- El siguiente programa es un juego. El usuario tiene que intentar acertar que número ha generado el programa (entre 0 y 100) en menos de 10 intentos.
- Echa un vistazo al diagrama de flujo del programa e intenta entender lo que hace.
- El programa es casi un bucle en sí mismo: lleva el control del nº que el usuario introduce (variable Nuser), comprueba si es igual al número generado al azar (variable N) y cuenta el nº de intentos (variable T). Saldremos del bucle si acertamos o si hemos consumidos los 10 intentos.
- Crea el programa bucle_aciertos. Puedes personalizarlo un poco con frases más ingeniosas, disminuyendo el nº de intentos...
- El siguiente video muestra la ejecución del programa bucle_aciertos (creado con Scratch) e incluye una animación inicial en tanto que se trata de un juego o una aplicación.
Actividad 05: ¿Qué es una bifurcación? 1
- Las bifurcaciones o condicionales nos van a permitir ejecutar distintas secuencias de órdenes en función de una determinada condición (si se cumple o no).
- En anteriores programas ya hemos utilizado bifurcaciones. La primera imagen de abajo muestra una bifurcación en el programa bucle_examen1 donde si NF es menor que 5 la siguiente orden es repasar. En caso contrario es irse de viaje.
- Fíjate en el diagrama de flujo del programa que has de crear; presenta 3 bifurcaciones, aunque la tercera es directa al no cumplirse ninguna de las otras 2 condiciones. ¿Entiendes lo que determina este programa? Si no, llama al profesor.
- Crea el programa bucle_mayorque1 y comprueba que funciona introduciendo tus propios números.
Actividad 06: ¿Qué es una bifurcación? 2
- En este último programa de esta sección juntamos bucle y bifurcaciones. Fíjate en el diagrama de flujo de un algoritmo que ordena, de mayor a menor, una lista de 3 números que nosotros le damos.
- El algoritmo (fíjate en el diagrama de flujo) consiste en comparar los números en grupos de 2. En la primera comparación se acaba almacenando en la variable A el mayor y en B el menor de entre los 2 primeros números. Para ello se utiliza una variable X para no perder los valores originales.
- En la segunda comparación se hace lo mismo pero ahora queda en B el mayor y en C el menor de entre los dos números B y C originales. También utiliza una variable Y para no perder los valores originales.
- Después de la segunda bifurcación tenemos los dos números mayores almacenados en A y B, y en C el menor de los 3.
- Si los números A, B y C son distintos entre sí, se necesita una tercera comparación. Esa vuelve a ser la comparación 1 en donde finalmente quedará el mayor en A y el menor de los 2 en B (en C había ya quedado el menor entre B y C). Y nos saldremos del bucle mostrando esos tres números en orden de mayor a menor (A, B y C).
- Crea el programa bucle_mayorque2 y comprueba que funciona.
- Programas:
- Programas subidos a Classroom: los 6 de esta sección (Elementos de Programación). Y sus correspondientes capturas de pantalla.
- Programas publicados en tu web (página bucles & bifurcaciones): 6
- Actividades por sesiones:
- Sesión 4: actividades 1 y 2 con los programas bucle_figuras y bucle_examen1.
- Sesión 5: actividad 3 y 4 con los programas bucle_examen2 y bucle_aciertos.
- Sesión 6: actividad 5 y 6 con los programa bucle_mayorque1 y bucle_mayorque2.