Estructuras Iterativas
-
Upload
raul-mora-reyes -
Category
Documents
-
view
232 -
download
2
description
Transcript of Estructuras Iterativas
FUNDAMENTOS DE PROGRAMACIÓNINGENIERÍA EN SISTEMAS COMPUTACIONALES
M.S.C. RAÚL MORA REYES
ESTRUCTURAS ITERATIVAS
M.S.C. Raúl Mora Reyes
CLASIFICACIÓN
Controladas por:
DATO CENTINELA
TAREA
CONTADOR
CICLO CONTROLADO POR DATO CENTINELA
M.S.C. Raúl Mora Reyes
CARACTERÍSTICAS
El dato centinela es proporcionado por el usuario, en respuesta a una pregunta o selección de un menú.
El contenido del ciclo se repite hasta que el dato centinela haga que la condición del ciclo deje de cumplirse.
Puede realizarse con el ciclo Hacer-Mientras (while) y Repetir-Hasta (do..while).
Ya que requiere interacción con el usuario, se utiliza en la clase principal, en el método main( ), y no se recomienda utilizarlo dentro de las otras clases que conforman la lógica de la aplicación.
M.S.C. Raúl Mora Reyes
EJEMPLO
Queremos que el último ejercicio que se realizó en la presentación de “Estructuras de Selección”, el usuario pueda calcular más de una venta, cada vez que ejecuta el programa; debemos incluir la interacción con el usuario en un ciclo controlado por dato centinela.
M.S.C. Raúl Mora Reyes
M.S.C. Raúl Mora Reyes
while do while
ANTES DE UTILIZAR EL CICLO
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
Clase Principal
CON CICLO WHILE
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
Clase Principal
CON CICLO DO-WHILE
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
Clase Principal
CICLO CONTROLADO POR TAREA
M.S.C. Raúl Mora Reyes
CARACTERÍSTICAS
El contenido del ciclo se repite hasta que se logra cumplir una tarea.
Puede realizarse con el ciclo Hacer-Mientras (while) y Repetir-Hasta (do..while).
Este tipo de ciclo se utiliza dentro de los métodos de una clase ya que se realiza sin la intervención del usuario.
M.S.C. Raúl Mora Reyes
1.DESCRIPCIÓN DEL PROBLEMA
Contamos con dos ahorros (ahorro mayor y ahorro menor), los cuales iremos incrementando cada semana con un monto diferente a cada una, el monto menor se adicionará al ahorro mayor y el monto mayor al ahorro menor. Se desea saber cuantas semanas deben pasar para que el ahorro menor supere al ahorro mayor.
M.S.C. Raúl Mora Reyes
2.DEFINICIÓN DE LA SOLUCIÓN
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
DATOS DE ENTRADA
Ahorro Mayor (ahorroMay)Ahorro Menor (ahorroMen)Monto Mayor (montoMay)Monto Menor (montoMen)
DATOS DE SALIDA
Semanas de ahorro (semanas)
3.DISEÑO DE LA LÓGICA
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
Ahorros
ahorroMay : floatahorroMen : floatmontoMay : floatmontoMen : float
semanas( ) : int
Diagramade Clase
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
Diagramade Flujo
4.DESARROLLO DE LA CODIFICACIÓN
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
ClaseAhorros
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
Clase Principal
5.DEPURACIÓN Y PRUEBAS
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
NOTA 1
En el ejercicio anterior se introduce dos conceptos importantes:
Contador: es una variable que incrementa (o decrementa) su valor en tantos de 1.
Acumulador: lo diferencia del contador en que sus incrementos son diferentes de 1 y pueden ser variables.
En en el ejemplo la variable “contador” funciona como Contador y “ahorroMay” y “ahorroMen" como Acumuladores
M.S.C. Raúl Mora Reyes
NOTA 2Cuando en una expresión aritmética, la variable del lado izquierdo forma parte de la expresión del lado derecho, de la asignación (=), se puede reducir de la siguiente manera:
var = var + valor; var += valor;
De esta manera tendremos los operadores: +=, -=, *=, /=.
Cuando se trata de sumar o restar la unidad también se puede:
var += 1; var++; var-=1; var- -;
M.S.C. Raúl Mora Reyes
OTRA VERSIÓN DE LA CLASE
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
ClaseAhorros
CICLO CONTROLADO POR CONTADOR
M.S.C. Raúl Mora Reyes
CARACTERÍSTICAS
El contenido del ciclo se repite hasta que la variable contador cumple con la condición del ciclo; ya sea que sea igual al valor, lo supere o sea menor. Para trabajar este tipo de ciclo debemos de:
1. Antes del ciclo declarar e inicializar el contador.
2. Dentro del ciclo incrementar o decrementar el contador
3. La condición del ciclo evalúa el contador.
M.S.C. Raúl Mora Reyes
1.DESCRIPCIÓN DEL PROBLEMA
Realizar la multiplicación de dos valores enteros (A y B), utilizando sumas.
M.S.C. Raúl Mora Reyes
2.DEFINICIÓN DE LA SOLUCIÓN
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
DATOS DE ENTRADA
Valor de A (valorA)Valor de B (valorB)
DATOS DE SALIDA
Multiplicación de A * B (multiplicar)
3.DISEÑO DE LA LÓGICA
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
MultiplicarSumando
valorA : intvalorB : int
multiplicar( ) : double
Diagramade Clase
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
Diagramade Flujo
4.DESARROLLO DE LA CODIFICACIÓN
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
ClaseMultiplicarSumando
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
Clase Principal
5.DEPURACIÓN Y PRUEBAS
M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes
NOTA 1
El ciclo Para (for en Java) es el ideal para los ciclos controlados por contador, aunque se pueden realizar también con while y do-while.
Al inicio, y como única vez, se crea e inicializa el contador; posteriormente el ciclo for tiene un orden al ejecutarse:
1. Condiciona el contador
2. Si la condición es verdadera ejecuta el cuerpo del ciclo
3. Realiza el incremento o decremento
M.S.C. Raúl Mora Reyes