Você está na página 1de 12

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA MECANICA


CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas

ESTRUCTURA ITERATIVA: do - while


Repite la ejecución de la acción mientras la expresión lógica siga siendo verdad. Cuando sea falsa, el proceso termina.
Debe observarse que la acción y la variación se realizan por lo menos una vez.
Esta estructura de programación repetitiva es recomendable cuando la acción se va a realizar de todas maneras, por lo
menos una vez, o cuando no se sabe la cantidad de veces que se va a repetir la acción.
inicialización
do {
acción
variación
}while (condición);

Por ejemplo, imprimir los 100 primeros números naturales:

int n=1; // inicialización


do {
Imprimir n
n++ // aumenta en 1
} while (n <=100);

Note que mientras que la condición sea verdad, se seguirá ejecutando la acción
n++ equivale a escribir n=n+1

ESTRUCTURA ITERATIVA: while


Repite la ejecución de la acción mientras la expresión lógica siga siendo verdad. Cuando sea falsa, el proceso termina.
Similar a la estructura do-while sólo que en ésta estructura es posible que la acción y la variación no se realicen ninguna
vez y esto puede ocurrir cuando el resultado de la condición es falsa desde un comienzo.

inicialización
while (condición) {
acción
variación
}

Por ejemplo, imprimir los 100 primeros números naturales:

int n=1; // inicialización


while (n <=100) {
Imprimir n
n++ // aumenta en 1
}
Note que mientras que la condición sea verdad, se seguirá ejecutando la acción

ESTRUCTURA ITERATIVA: for


Es un while simplificado, mucho más rápido y eficaz. Muy preferido por los programadores. Veamos su forma general:

for (inicialización; condición; variación) {


acción;
}

Por ejemplo, imprimir los 100 primeros números naturales:

for (int n=1; n <=100; n++) {


Imprimir n;
};

Note que la inicialización y la variación se relacionan con la variable de control utilizada en la condición.

Elaborado por Ing. Julio Vásquez Paragulla 1


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas
En este caso lo primero que hará será la inicialización ( n=1;) luego comprobará si es cierta la comparación (n <=100) y de
ser verdad, ejecutará las instrucciones. Finalmente ejecutará la variación ( n++ ) . Luego comprobará de nuevo la
comparación para continuar con el proceso repetitivo o para finalizar cuando el resultado de la comparación sea falsa.
Observe que todo proceso repetitivo necesita de una previa inicialización de algún contador, acumulador, estado, lo cual
permite la evaluación de la condición que controla la repetición del proceso.

La inicialización puede contener varias ordenes de asignación separadas por comas y terminando con punto y coma.
Igualmente, la variación puede contener varias ordenes de variación y/o acumulación separadas por comas y terminando
con el paréntesis del for, Por ejemplo, vea el siguiente for hipotético:

for (int a=1, b=0, c=2; a<= n; a++, b+=3, c+= x) {


Mas ordenes
}

La inicialización puede incluir la declaración de la variable pero no necesariamente debe ser así, por ejemplo:

int x;
for (x=1; x<=100; x++){
más ordenes
}

Cuál es la diferencia entre declararlo antes del for con hacer la declaración dentro de la inicialización?. Simplemente el
alcance para la utilización de la variable.

Cuando se declara antes del for, el alcance de la variable se extiende dentro y fuera de las llaves del for; es decir que
podemos utilizar la variable dentro y también fuera de las llaves; en cambio, cuando se declara dentro de la inicialización, el
alcance se limita solamente dentro de las llaves del for; es decir que sólo se puede utilizar la variable dentro de las llaves
del for y nó fuera de ellas.

Una pregunta frecuente es: cual estructura de repetición debo utilizar?. En realidad, la respuesta de un programador
experimentado seria: cualquiera. Sin embargo, para efectos de un aprendizaje progresivo daré el siguiente criterio de
decisión: Cuando usted tenga identificado el rango de la repetición: desde hasta, utilice for y cuando no tenga identificado
dicho rango utilice do-while o while. Cuando el proceso se realiza de todas maneras, por lo menos una vez, use do-while.

Por ejemplo: muestre los números capicúas de 3 cifras. La estructura más adecuada seria for porque usted va a repetir el
proceso desde 100 hasta 999.

Otro ejemplo: muestre la cantidad de cifras que tiene un número entero. La estructura más adecuada sería do-while o
while porque no se puede identificar la cantidad de veces que ocurrirá la repetición. Tiene que buscar una condición de
continuidad de la repetición.

Un acumulador es aquel que cambia su valor asimismo aumentando, disminuyendo, multiplicando, dividiendo.
Ejm:
suma += valor; equivale a escribir suma = suma + valor;
saldo –= valor; equivale a escribir saldo = saldo - valor;
factor *= valor; equivale a escribir factor = factor * valor;
n /= 10; equivale a escribir n = n / 10;

ESTRUCTURA INTERACTIVA

Se dice que existe una estructura interactiva cuando la repetición depende de la respuesta del usuario, presionando un
botón cada vez que se quiera realizar un proceso o mostrar algún resultado. En estos procesos se utilizan contadores,
acumuladores y otras variables globales, las cuales necesiten conservar su valor por cada proceso.

Elaborado por Ing. Julio Vásquez Paragulla 2


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas
ESTRUCTURAS REPETITIVAS INTERACTIVAS

PROBLEMA 1:
Diseñe un programa que permita realizar una encuesta acerca de los colores favoritos de las personas a escoger entre:
verde, azul, amarillo, rosado, otro. Por cada encuestado debe mostrar la cantidad de votos de cada color así como el(los)
color(es) favoritos. Valide los datos de entrada.

Para el diseño de la interfaz gráfica utilizaremos distribuciones (layouts).

En el frame que ha creado dele clic derecho y elija distribución de borde: Set Layout, BorderLayout, así:

Arrastre un panel y colóquelo en la parte norte (superior), arrastre otro panel y colóquelo en la parte sur (inferior), arraster
un área de texto y colóquelo en la parte central (centro), así:
Elaborado por Ing. Julio Vásquez Paragulla 3
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas

Ahora arrastre los objetos para la entrada de datos en el panel de la parte superior y los botones en el panel de la parte
inferior, así:

Ahora, seleccione el panel superior, haga clic derecho y elija la distribución de caja (setLayaut, BoxLayout), así:

Elaborado por Ing. Julio Vásquez Paragulla 4


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas

Quedará así:

Ahora, seleccione el panel inferior, haga clic derecho y elija la distribución de flujo(setLayaut, FlowLayout), así:

Quedará así:

Listo!. Ahora en la propiedad Model del comboBox ponga las opciones de los colores favoritos, cambie los nombres de
variable y proteja el área de texto.

Elaborado por Ing. Julio Vásquez Paragulla 5


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas

Nombres de variable: cboColor, txtSalida, btnProcesar

Vista previa:

Clic en la pestaña Source para declarar las variables globales:

Clic en la pestaña Design para programar el botón procesar:

Elaborado por Ing. Julio Vásquez Paragulla 6


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas

Ejecute su programa.

Elaborado por Ing. Julio Vásquez Paragulla 7


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas
PROBLEMA 2:
En una estación de control se desea registrar el peso que transportan los vehículos de transporte pesado para determinar,
por cada vehículo la cantidad de vehículos, el peso promedio, el mayor y el menor peso registrado. Valide los datos de
entrada.

Usando distribuciones (Layouts) diseñe la siguiente interface:

Aplique las propiedades correspondientes a los objetos visuales y cambie el nombre de variable de los mismos,
considerando txtPeso, txtSalida, btnProcesar.

Clic en la pestaña Source para declarar las variables globales, así:

Elaborado por Ing. Julio Vásquez Paragulla 8


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas

Clic en la pestaña Design para regresar al diseño de la interface y programar el botón PROCESAR haciendo doble clic en
él:

Ejecute su programa.

Elaborado por Ing. Julio Vásquez Paragulla 9


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas

ESTRUCTURAS REPETITIVAS ITERATIVAS: while, do while, for

PROBLEMA 3:
Muestre los N primeros números pares. Valide los datos de entrada.

Diseñe la interface gráfica usando distribuciones (Layouts). Cambie los nombres de variable a los objetos visuales
considerando txtN, txtSalida, btnProcesar.

Doble clic en el botón procesar para programar:

Ejecute su programa.

Elaborado por Ing. Julio Vásquez Paragulla 10


UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas
PROBLEMA 4:
Dado un número entero positivo, muestre sus divisores, la cantidad y la suma de ellos.

Diseñe la interface gráfica usando distribuciones (Layouts). Cambie los nombres de variable a los objetos visuales
considerando txtN, txtSalida, btnProcesar.

Doble clic en el botón procesar para programar:

Ejecute su programa.
Elaborado por Ing. Julio Vásquez Paragulla 11
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE INGENIERIA MECANICA
CURSO: BIC01
SEMANA05
ESTRUCTURAS DE CONTROL REPETITIVAS
interactivas, iterativas
PROBLEMA 5:
Determine la suma de la siguiente serie matemática para N términos:

1 + x + x2 + x3 + …

PROBLEMA 6:
Una empresa automotriz desea registrar los reportes de la cantidad de vehículos defectuosos que se identifiquen en cada
uno de los siguientes paises: Peru, Chile, Argentina. Por cada reporte registrado debe mostrar la siguiente información en
forma de tabla:

Peru Chile Argentina


Cantidad 999 999 999
Mayor 999 999 999
Menor 999 999 999

Validar los datos de entrada y aplicar una estructura repetitiva interactiva.

PROBLEMA 7:
Determine el valor de PI con la suma de los N primeros términos de la siguiente serie matemática:

4 -4/3 +4/5 -4/7 +4/9 -…

Validar los datos de entrada y aplicar una estructura repetitiva interactiva.

PROBLEMA 8:
Dado el lado de un cuadrado, dibújelo con asteriscos considerando la posibilidad de hacerlo sólo el borde o relleno
completo. Validar los datos de entrada y aplicar una estructura repetitiva interactiva.

Ejm. Lado = 5

Sólo con borde: relleno:

* * * * * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * * * * *

PROBLEMA 9:
Muestre y sume los N primeros términos de la siguiente serie matemática: Validar los datos de entrada y aplicar una
estructura repetitiva interactiva.

10 11 13 16 20 25 …

PROBLEMA 10:
Muestre y sume los N primeros términos de la serie de Fibonacci: Validar los datos de entrada y aplicar una estructura
repetitiva interactiva.

1 1 2 3 5 8 13 21 …

Elaborado por Ing. Julio Vásquez Paragulla 12

Você também pode gostar