ESTRUCTURA MIENTRAS_REPETIR
ESTRUCTURAS DE CONTROL REPETITIVAS: son aquellas que permiten que una o varias sentencias se ejecuten repetidamente. BUCLE: es la estructura de control que permite la repetición de una serie determinada de sentencias. Es importante tener en cuenta cuántas veces se repite el bucle y cuál es el cuerpo del bucle. El cuerpo del bucle lo constituyen la serie de sentencias que pueden ser de cualquier tipo (secuenciales, de decisión o repetitivas) las cuales serán repetidas n veces, pudiendo ser n conocido o desconocido. Cuando n es desconocido, el número de veces que debe repetirse el cuerpo del bucle estará condicionado por una expresión lógica.
ESTRUCTURA DE CONTROL REPETITIVA WHILE: se usa cuando no se conoce el número de iteraciones. Mediante esta estructura el cuerpo del bucle se repite mientras se cumpla una determinada condición (en otras palabras, mientras el resultado de la evaluación de la expresión lógica sea verdadero). La condición se evalúa siempre al principio de cada iteración. Esto implica que, si el resultado de su evaluación es falso desde el comienzo de la estructura, el bucle no se ejecuta nunca.
ESTRUCTURA DE CONTROL REPETITIVA REPEAT: se usa cuando no se conoce el número de iteraciones. Mediante esta estructura el cuerpo del bucle se repite hasta que la condición se hace verdadera. La condición se evalúa después de que el cuerpo del bucle se ha ejecutado al menos una vez.
ESTRUCTURAS REPETITIVAS
Las estructuras repetitivas son aquellas que ingresan a un "loop" o ciclo repetitivo; repitiendo una o varias instrucciones, tantas veces lo hayamos indicado o definido en nuestra lógica.
La siguiente ilustración muestra las estructuras de repetición básicas.
¿Qué es una estructura repetitiva?
Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se ejecuten un cierto número finito de veces, por ejemplo, escribir algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otro cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de veces. Se les llama bucle o ciclo a todo proceso que se repite cierto número de veces dentro de un pseudocódigo o un programa y las estructuras repetitivas nos permiten hacerlo de forma sencilla.
Existen diferentes tipos de estructuras que veremos una a una:
Estructuras de repetición en diagrama de flujo a) hacer mientras (while) y b) repetir
hasta (do-while).
Lo que caracteriza a la estructura de repetición “hacer mientras”, es que los enunciados del cuerpo del ciclo se realizan cuando la condición es verdadera, además de que se pregunta por la condición al principio, de donde se deduce que las sentencias se podrán ejecutar de 0 a N veces.
En la estructura de repetición “repetir hasta”, las sentencias del interior del ciclo se ejecutan una vez y continúan repitiéndose hasta que la condición sea falsa. La verificación de la condición se realiza al final del ciclo, por lo que se deduce que las sentencias se ejecutarán al menos una vez y hasta un máximo de N.
Estructuras iterativas. Estructura mientras.
Estructura Mientras - Hacer
Se llama Mientras a la estructura algorítmica que se ejecuta mientras la condición evaluada resulte verdadera. Se evalúa la expresión booleana y, si es cierta, se ejecuta la instrucción especificada, llamada el cuerpo del bucle. Entonces se vuelve a evaluar la expresión booleana, y si todavía es cierta se ejecuta de nuevo el cuerpo. Este proceso de evaluación de la expresión booleana y ejecución del cuerpo se repite mientras la expresión sea cierta.
Cuando se hace falsa, finaliza la repetición. En la lección anterior iniciamos con las estructuras repetitivas. La estructura While y la estructura Repeat, se conocen como Iterativas. Se usan cuando no se conoce con anticipación el número de veces que se ejecutará la acción.
La diferencia entre ambas es que la condición se sitúa al principio (Mientras) o al final (Repetir) de la secuencia de instrucciones. Entonces, en el primero, el bucle continúa mientras la condición es verdadera (la cual se comprueba antes de ejecutar la acción) y en el segundo, el bucle continúa hasta que la condición se hace verdadera (la condición se comprueba después de ejecutar la acción, es decir, se ejecutará al menos una vez).
Sintaxis:
1. {Inicialización de la variable del test de salida}
2. MIENTRAS Condición HACER
3. INICIO
4. {Instrucciones de Proceso}
5. {Actualización de las variables del test de salida}
6. FIN
Estructura repetitiva while.
Representación gráfica de la estructura while:
El formato de la estructura de repetición MIENTRAS es:
Mientras (condición) Hacer
instrucción 1
instrucción 2
.....
instrucción n
fin mientras
El resultado de evaluar condición puede ser verdadero o falso:
Mientras sea verdadero, se ejecutarán: instrucción 1, instrucción 2, ... , instrucción n. Estas instrucciones dejarán de ejecutarse cuando condición sea falso.
Semántica
¿Cómo funciona esta estructura?
La estructura repetitiva “mientras” es aquella es que el cuerpo del bucle se repite mientras se cumple una determinada condición.
Primero se procede a la inicialización de las variables que involucran el test de salida; luego se procede a verificar la condición o test de salida, entrando al bucle si esta condición es verdadera. Si la condición no es verdadera se termina la ejecución del bucle, pasando a ejecutarse la primera instrucción que sigue al bucle.
Al entrar al bucle, primero se ejecutan las instrucciones que sigue al bucle.
Al entrar al bucle, primero se ejecutan las instrucciones de proceso, seguidas de las instrucciones de actualización de las variables del test de salida. Ambas partes ejecutar hasta que la condición que involucra la evaluación del test de salida sea falsa.
Las instrucciones de actualización y las instrucciones de proceso pueden permutarse, al igual que en el bucle repetir.
Problema Base
Veamos un ejemplo para ilustrar esta estructura. Consideremos el enunciado y el análisis del primer problema resuelto en este capítulo.
Escribir un algoritmo que escriba los n primeros enteros positivos.
· inicio {Escribir los N primeros números enteros}
· leer N
· {Escribir los N primero números enteros}
· Numero = 1
· MIENTRAS Numero = 1 HACER {Test de salida}
· Inicio
§ Escribir Número {Instrucciones de proceso}
§ Numero = Numero + 1 {Actualización}
§ Fin
· Fin
Ejemplo 2:
Leer (contraseña)
mientras (contraseña < > "tecla")
imprimir("La contraseña es incorrecta !")
leer (contraseña)
fin-mientras
imprimir("Ha tecleado la contraseña correcta")
Repetir hasta (do while)
La estructura repetir cumple la misma función que la estructura mientras. La diferencia está en que la estructura mientras comprueba la condición al inicio y repetir lo hace al final. Es por ello que la estructura repetir se ejecuta por lo menos una vez.
Estructura Repetitiva
Se llama Repetir a la estructura algorítmica que se ejecuta un número definido de veces hasta que la condición se torna verdadera:
Representación pseudocodificada :
Español Inglés
Repetir Repeat
Acciones Acciones
Hasta que <condición> until <condición>
Diferencia de las estructuras mientras y repetir
- En la estructura mientras la condición se evalúa al inicio, antes de entrar al bucle, por tanto es más general y permite la posibilidad de que el bucle pueda no ejecutarse. Mientras que en la estructura repetir la condición se evalúa al final, por tanto el bucle se ejecutará al menos una vez bajo cualquier circunstancia.
- La estructura mientras termina cuando la condición es falsa, en tanto que la estructura repetir termina cuando la condición es verdadera.
- Ambas estructuras deben utilizarse cuando no se conoce de antemano el número de veces que debe ejecutarse el bucle.
¿Cuál de las estructuras es la más conveniente?, depende de la naturaleza de cada problema. Pero todo problema implementado con la estructura repitir - hasta puede implementarse con la estructura mientras hacer.
Representación pseudocodificada del MIENTRAS:
Español Inglés
Mientras <condición> While <condición> do
Acciones Acciones
Fin_mientras end_while
Ejemplo:
Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado.
Solución.
Como recordarás, resolvimos este ejercicio en la lección anterior pero utilizando la estructura Desde. Hoy lo haremos con la estructura Mientras. Que tendremos de diferente?
El mismo ejercicio con el ciclo REPETIR-Hasta
Este codigo es el mismo que el ejercicio anterior pero utiliza la estructura Repetir - Hasta, ¿Funciona?,
haz lo mismo que en los ejercicios anteriores, busca los errores
Proceso Repetir1al100conRepetir
//Hacer un pseudocodigo que imprima los numeros del 1 al 100
c <- 0
Repetir
ESCRIBIR c;
Hasta Que c < 100
ESCRIBIR "ultimo ciclo: " c;
ESCRIBIR "Fin de repeticion";
FinProceso
Realizar un algoritmo que pida al usuario digitar un color y lo muestre, pero cuando el usuario digita el color rojo se termine y lo indica. Utiliza ciclo Mientras
INICIO
CADENA: COLOR
COLOR= ''
MIENTRAS( COLOR <> 'ROJO') HAGA
MOSTRAR('DIGITE COLOR')
LEER(COLOR)
MOSTRAR('EL COLOR ES:', COLOR)
FIN MIENTRAS
MOSTRAR('HA FINALIZADO')
FIN
Ejemplo
Raíz cuadrada que tome solo los valores positivos. Utilizar ciclo Repetir Hasta
Proceso Raiz_Cuadrada
Definir x como entero;
Repetir
Escribir "Dime un numero";
Leer x;
Si x < 0 Entonces
Escribir "No puede ser negativo";
FinSi
Hasta Que x >= 0
Escribir "Su raiz es ", rc(x);
FinProceso