Estructuras Iterativas

Page 1

FUNDAMENTOS DE PROGRAMACIÓN INGENIERÍ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


while

do while

M.S.C. RaĂşl Mora Reyes


ANTES DE UTILIZAR EL CICLO

Clase Principal M.S.C. Raúl Mora Reyes


CON CICLO WHILE

Clase Principal M.S.C. Raúl Mora Reyes


CON CICLO DO-WHILE

Clase Principal M.S.C. Raúl Mora Reyes


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 RepetirHasta (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 DATOS DE ENTRADA Ahorro Mayor (ahorroMay) Ahorro Menor (ahorroMen) Monto Mayor (montoMay) Monto Menor (montoMen)

DATOS DE SALIDA

Semanas de ahorro (semanas)

M.S.C. Raúl Mora Reyes


3.DISEÑO DE LA LÓGICA Ahorros Diagrama de Clase

ahorroMay : float ahorroMen : float montoMay : float montoMen : float

semanas( ) : int

M.S.C. Raúl Mora Reyes


Diagrama de Flujo

M.S.C. RaĂşl Mora Reyes


4.DESARROLLO DE LA CODIFICACIÓN Clase Ahorros

M.S.C. Raúl Mora Reyes


Clase Principal M.S.C. RaĂşl Mora Reyes


5.DEPURACIÓN Y PRUEBAS

M.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 2 Cuando 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

Clase Ahorros

M.S.C. Raúl Mora Reyes


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 DATOS DE ENTRADA Valor de A (valorA) Valor de B (valorB)

DATOS DE SALIDA Multiplicación de A * B (multiplicar)

M.S.C. Raúl Mora Reyes


3.DISEÑO DE LA LÓGICA MultiplicarSumando Diagrama de Clase

valorA : int valorB : int

multiplicar( ) : double

M.S.C. Raúl Mora Reyes


Diagrama de Flujo

M.S.C. RaĂşl Mora Reyes


4.DESARROLLO DE LA CODIFICACIÓN

Clase MultiplicarSumando M.S.C. Raúl Mora Reyes


Clase Principal M.S.C. RaĂşl Mora Reyes


5.DEPURACIÓN Y PRUEBAS

M.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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.