Estructuras Iterativas

32
FUNDAMENTOS DE PROGRAMACIÓN INGENIERÍA EN SISTEMAS COMPUTACIONALES M.S.C. RAÚL MORA REYES

description

Aprende como aplicar ciclos en la solución de problemas.

Transcript of Estructuras Iterativas

Page 1: Estructuras Iterativas

FUNDAMENTOS DE PROGRAMACIÓNINGENIERÍA EN SISTEMAS COMPUTACIONALES

M.S.C. RAÚL MORA REYES

Page 2: Estructuras Iterativas

ESTRUCTURAS ITERATIVAS

M.S.C. Raúl Mora Reyes

Page 3: Estructuras Iterativas

CLASIFICACIÓN

Controladas por:

DATO CENTINELA

TAREA

CONTADOR

Page 4: Estructuras Iterativas

CICLO CONTROLADO POR DATO CENTINELA

M.S.C. Raúl Mora Reyes

Page 5: Estructuras Iterativas

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

Page 6: Estructuras Iterativas

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

Page 7: Estructuras Iterativas

M.S.C. Raúl Mora Reyes

while do while

Page 8: Estructuras Iterativas

ANTES DE UTILIZAR EL CICLO

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Clase Principal

Page 9: Estructuras Iterativas

CON CICLO WHILE

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Clase Principal

Page 10: Estructuras Iterativas

CON CICLO DO-WHILE

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Clase Principal

Page 11: Estructuras Iterativas

CICLO CONTROLADO POR TAREA

M.S.C. Raúl Mora Reyes

Page 12: Estructuras Iterativas

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

Page 13: Estructuras Iterativas

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

Page 14: Estructuras Iterativas

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)

Page 15: Estructuras Iterativas

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

Page 16: Estructuras Iterativas

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Diagramade Flujo

Page 17: Estructuras Iterativas

4.DESARROLLO DE LA CODIFICACIÓN

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

ClaseAhorros

Page 18: Estructuras Iterativas

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Clase Principal

Page 19: Estructuras Iterativas

5.DEPURACIÓN Y PRUEBAS

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Page 20: Estructuras Iterativas

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

Page 21: Estructuras Iterativas

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

Page 22: Estructuras Iterativas

OTRA VERSIÓN DE LA CLASE

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

ClaseAhorros

Page 23: Estructuras Iterativas

CICLO CONTROLADO POR CONTADOR

M.S.C. Raúl Mora Reyes

Page 24: Estructuras Iterativas

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

Page 25: Estructuras Iterativas

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

Page 26: Estructuras Iterativas

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)

Page 27: Estructuras Iterativas

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

Page 28: Estructuras Iterativas

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Diagramade Flujo

Page 29: Estructuras Iterativas

4.DESARROLLO DE LA CODIFICACIÓN

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

ClaseMultiplicarSumando

Page 30: Estructuras Iterativas

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Clase Principal

Page 31: Estructuras Iterativas

5.DEPURACIÓN Y PRUEBAS

M.S.C. Raúl Mora ReyesM.S.C. Raúl Mora Reyes

Page 32: Estructuras Iterativas

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