Is - 141 - 04 - Algoritmos - Estructura Secuenciales de Decision
Is - 141 - 04 - Algoritmos - Estructura Secuenciales de Decision
Is - 141 - 04 - Algoritmos - Estructura Secuenciales de Decision
IS 141
ESTRUCTURAS REPETITIVAS
Para solucionar este tipo de problemas, se utiliza un tipo de estructuras a las que se
conocen como estructuras de repetición, bucles o ciclos.
Las estructuras repetitivas (llamadas también bucles) se utilizan para realizar varias
veces el mismo conjunto de operaciones. Dentro de ellas encontramos aquellas donde la
cantidad repeticiones se manejan por un número, las que se realizan hasta que se cumple
cierta condición.
Iteración es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones
contenidas en el bucle.
La flecha que se regresa hacia arriba nos está indicando que hay que volver a evaluar la
expresión. En este caso el bucle es infinito y no tiene una condición para terminar y se
estará haciendo siempre.
CONTADOR:
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad
constante cada vez que se produce un determinado suceso o acción. Los contadores se
utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben
realizar una operación de inicialización y posteriormente las sucesivas de incremento o
decremento del mismo. La inicialización consiste en asignarle a un contador un valor.
Se situará antes y fuera del bucle.
ACUMULADOR O TOTALIZADOR :
Es una variable que suma sobre sí misma un conjunto de valores para de esta manera
tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un
acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va
aumentando en una cantidad variable.
Diagrama de Flujo
No
condición
Si
Acciones
Pseudocódigo
Código Java
while (Condición)
{
Sentencias
}
Este ciclo, permite ejecutar repetidas veces una instrucción o un grupo de ellas, pero a
diferencia de otras instrucciones de repetición, ésta maneja el valor inicial, el valor de
incremento o decremento y el valor final de la variable de control como parte de la
instrucción.
Cuando al ejecutarse un algoritmo se encuentra una instrucción para la variable de
control (contador) toma el valor inicial, se verifica que el valor inicial no sobrepase el
valor final y luego se ejecutan las instrucciones del ciclo. Al encontrar la instrucción fin
para, se produce el incremento y se vuelve a verificar que la variable de control no haya
superado el límite admitido, y se vuelven a ejecutar las instrucciones que están dentro
del ciclo, y así sucesivamente tantas veces como sea necesario hasta que se supere el
valor final establecido.
Diagrama de Flujo
No
Desde a hasta b
Si
Acciones
Pseudocódigo
Código Java
Español Inglés
Hacer Do
Acciones Acciones
Acciones Mientras <condición> While <condición>
Verdadero
Condicion
Falso
Código Java
do
{
Sentencias
}
while (condicion);
Ejercicios
Inicio
S=0 Ojo
Lo primero a tener en cuenta es la
declaración e inicialización de la
variable: Num = 1. En este caso no solo
Num =1 100 se está declarando una variable de tipo
entero, sino también se está asignando
un valor inicial, que será el primer
número mostrado.
La condición o expresión relacional
Escribir Num con la cual se implementa el ciclo es
Num <= 100, dado que Num inicia en
1, la primera vez que se encuentra la
S =S +Num instrucción mientras, la expresión es
verdadera, por tanto se ejecutan las
instrucciones que aparecen al interior
del ciclo.
Después de haber mostrado el
contenido de la variable Num, éste
cambia, se incrementa en 1 (por usar el
ciclo para).
Escribir S
Fin
Inicio
Con=1
Suma=0
Con<= 10
Leer Num
Con ==1
Ma=Num
Me=Num Nun < Me
Me=Num
Nun >Ma
Ma=Num
Suma=Suma+Num
Con=Con+1
P=Suma/10
Ma, Me, P
Fin
Bucles Repetitivos:
• Independientes, son cuando los bucles se realiza uno primero hasta que se
cumple la condición y solo en ese caso se entra al bucle B.
• Anidados, al entrar a una estructura de repetición, dentro de ella se encuentra otra.
La más interna se termina de realizar y se continúa con la externa hasta que la
condición se cumple.
• Cruzados, los cuales no son convenientes de utilizar, se tiene que iniciamos un
bucle y no se ha terminado cuando empezamos otro, luego utilizamos estructuras
goto (saltos) para pasar al bucle externo y se quedan entrelazados.
Esto puede ocasionar que el programa pierda el control de cuál proceso se está
ejecutando y podamos obtener resultados erróneos. Veamos gráficamente el diseño de
estas tres formas cíclicas:
CENTINELAS Y BANDERAS.
CENTINELAS.
En un ciclo While controlado por tarea, la condición de While especifica que el cuerpo
del ciclo debe continuar ejecutándose mientras la tarea no haya sido completada.
Cuando una decisión toma los valores de -1 o algún posible valor que no esté dentro del
rango válido en un momento determinado, se le denomina centinela y su función
primordial es detener el proceso de entrada de datos en una corrida de programa.
Si la lista de datos son números positivos, un valor centinela puede ser un número
negativo. Los centinelas solamente pueden usarse con las estructuras Mientras y
Repetir, no con estructuras Desde/Para. ¿PODRÍAS DECIR POR QUÉ?
BANDERAS.
Conocidas también como interruptores, switch, flags o conmutadores, son variables que
pueden tomar solamente dos valores durante la ejecución del programa, los cuales
pueden ser 0 ó 1, o bien los valores booleanos True o False. Se les suele llamar
interruptores porque cuando toman los valores 0 ó 1 están simulando un interruptor
abierto/cerrado o encendido/apagado.