jueves, 29 de mayo de 2014

Curso 2013-14. Estructuras de control repetitivas. Bucles con PSeInt

Un bucle es una estructura que nos permite repetir varias veces las instrucciones que alberga en su interior. Su utilidad se entiende mejor con un ejemplo. Supongamos que tenemos que escribir una sucesión de números. Si se trata de una lista breve, podemos hacer el esfuerzo de usar una instrucción Escribir para cada uno de ellos, pero si la lista es muy larga hay que buscar otra solución.
Los bucles tienen una variable de control que nos permite decidir si se ejecutan las instrucciones que contiene o no. Su valor cambia a cada iteración (incremento o decremento), de modo que llega un instante en que dejan de ejecutarse las instrucciones de su interior y se salta a la siguiente instrucción del programa.
Hay tres tipos de bucle: Mientras, Repetir y Para.

El bucle Mientras ejecuta una serie de instrucciones mientras la condición de control del bucle sea verdadera. Si la condición no es verdadera al inicio del bucle, el programa salta a la instrucción posterior al final del bucle.

Proceso Prg_7
    // Programa para escribir una lista de números usando un bucle Mientras
    i<-0 // Incialización del valor de la variable i
    //El bucle Mientras se ejecuta solo si la condición es verdadera al entrar en él
    Mientras i<5 Hacer
        Escribir i // Muestra el valor de i en pantalla
        i<-i+1 // Se modifica el valor de i para que se pueda salir del bucle
    Fin Mientras
FinProceso


Ejercicio. Piensa qué números compondrán la lista que aparecerá al ejecutar el programa y anótalo en tu cuaderno. ¿Qué ocurre al ejecutar el programa? ¿Coincide la lista que habías pensado con lo que te muestra el programa?
Ejercicio. Cambia el valor de i en la segunda línea a 10. ¿Qué ocurre al ejecutar el programa?
Ejercicio. Modifica el programa para que imprima correctamente los números de 1 a 5.

El bucle Repetir ejecuta una serie de instrucciones hasta que la condición de control del bucle sea verdadera. Las instrucciones en el interior del bucle se ejecutan al menos una vez.

Proceso Prg_8
    // Programa para escribir una lista de números usando un bucle Repetir Hasta
    i<-0 // Incialización del valor de la variable i
    // Este bucle se ejecuta al menos una vez, pues la condición se comprueba al final
    Repetir
        Escribir i // Muestra el valor de i en pantalla
        i<-i+1 // Se modifica el valor de i para que se pueda salir del bucle
    Hasta Que i=5
FinProceso


Ejercicio. Modifica el programa para que imprima los números pares comprendidos entre 0 y 10. Ten cuidado con la condición de salida, recuerda que se puede comparar usando los operadores = (igual que), < (menor que), > (mayor que), <= (menor o igual que), >= (mayor o igual que) y <> (distinto).
Ejercicio. Modifica el programa para que muestre los múltiplos de 3 comprendidos entre 0 y 20.

El último tipo de bucle es el Para. Ejecuta una secuencia de instrucciones un número prefijado de veces. Este número viene dado por la variable de control del bucle. Hay que indicar el valor inicial, el valor final y el paso (el incremento de la variable).

Proceso Prg_9
    // Programa para escribir una lista de números usando un bucle Para
    // Este bucle se ejecuta un número determinado de veces
    // La inicialización de la variable, el valor de salida y el paso
    // se definen en la primera línea del bucle
    Para i<-0 Hasta 10 Con Paso 1 Hacer
        Escribir i // Muestra el valor de i en pantalla
        // La variable de control se incrementa automáticamente
    Fin Para
FinProceso

Ejercicio. Modifica el programa para que muestre los números pares comprendidos entre 10 y 20. Pista: basta con cambiar el valor del paso.
Ejercicio. Modifica el programa para que muestre los múltiplos de 3 comprendidos entre 0 y 20.
Ejercicio. Modifica el programa para que haga una cuenta atrás desde 10 a 0.
Ejercicio. Piensa un modo de conseguir que los números no aparezcan de golpe en la pantalla, sino con un pequeño retardo entre cada uno. Pista: bucle anidado.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.