Sei sulla pagina 1di 9

MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java

Ing. Jos Alberto, CASTRO CURAY Pg. N 18


ESTRUCTURAS DE CONTROL REPETITIVAS

Son estructuras que permiten ejecutar varias veces un conjunto de sentencias, a los que comnmente
se les denomina bucle. Un bucle es una estructura que permite repetir una tarea un nmero de veces,
determinado por una condicin.
Existen tres tipos de sentencias de control para especificar la repeticin: WHILE, DO...WHILE y FOR
Las estructuras WHILE y DO...WHILE permiten repetir los bucles indefinidamente mientras se cumpla
una condicin. La diferencia entre ellas es que la primera comprueba dicha condicin antes de realizar
cada iteracin y la segunda lo hace despus. En cambio la estructura FOR repite los bucles una
determinada cantidad de veces.

a) SENTENCIA WHILE

Se utiliza mayormente cuando el nmero de iteraciones no se conoce por anticipado y el cuerpo
del bucle se repite mientras se cumpla una determinada condicin. SINTAXIS:







Donde: Accin a y accin b pueden estar conformadas por una ms sentencias. La accin si
estuviera conformada por una sola sentencia no es necesario que est valla entre llaves,
pero si estuviera conformada por ms de una sentencia entonces ah si es obligatorio que
dichas sentencias estn entre llaves.

FUNCIONAMIENTO:

1. La condicin se evala antes y despus de cada ejecucin del bucle. Si la condicin es
verdadera se ejecuta el bucle, y si es falsa, el control pasa a la sentencia siguiente del
bucle.
2. Si la condicin se evala a falso cuando se ejecuta el bucle por primera vez, el cuerpo no se
ejecuta nunca.
3. Mientras la condicin sea verdadera el bucle se ejecutar, a menos que algo en el interior
del bucle modifique la condicin haciendo que su valor pase a falso.
4. Si la expresin nunca cambia de valor, entonces el bucle no termina nunca y se determina
bucle infinito o sin fin.

Aplicacin N 20: Hacer una aplicacin que calcule la suma de los n primeros nmeros enteros

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int n, numero, suma=0, cont=0;
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese cantidad de nmeros"));
while(cont<n)
{ cont=cont+1;
numero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese numero"));
suma=suma+numero;
}
JOptionPane.showMessageDialog(null,"La suma de los "+n+" numero es "+suma);
System.exit(0);
}
}

Aplicacin N 21: Hacer una aplicacin que calcule el factorial de un nmero entero

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int n, cont=1;
long fact=1;
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese numero"));
while(cont<n)
{ cont=cont+1;
fact=fact*cont;
}
JOptionPane.showMessageDialog(null,"El factorial de "+n+" es "+fact);
System.exit(0);
}
}
while (condicin)
{ accin a;
accin b;
...
accin n
}

MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java


Ing. Jos Alberto, CASTRO CURAY Pg. N 19
Aplicacin N 22: Hacer una aplicacin que calcule la potencia de un nmero entero elevado a un
exponente entero (base>0 y exponente>0).

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int base, expo, cuenta=0;
long potencia=1;
base = Integer.parseInt(JOptionPane.showInputDialog("Ingrese base"));
expo = Integer.parseInt(JOptionPane.showInputDialog("Ingrese exponente"));
while(cuenta<expo)
{ cuenta=cuenta+1;
potencia=potencia*base;
}
JOptionPane.showMessageDialog(null, base+" a la "+expo+" es "+potencia );
System.exit(0);
}
}

Aplicacin N 23: Hacer una aplicacin que lea n notas y calcule el promedio respectivo.
import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int n, nota, cont=0;
float suma=0,promedio;
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero de notas"));
while(cont<n)
{ cont=cont+1;
nota = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nota"));
suma=suma+nota;
}
promedio=suma/n;
JOptionPane.showMessageDialog(null,"El promedio es "+promedio);
System.exit(0);
}
}

Aplicacin N 24: Hacer una aplicacin que lea nmeros y cuente cuantos de ellos son positivos y
cuantos son negativos. Termina cuando se ingrese el cero.

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int numero, np=0,nn=0;
numero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero"));
while(numero!=0)
{ if (numero>0)
np++;
else
nn++;
numero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero"));
}
JOptionPane.showMessageDialog(null,"Cantidad de nmero positivos = "+np+"\n Cantidad de
numeros negativos = "+nn);
System.exit(0);
}
}

Aplicacin N 25: Hacer una aplicacin que lea nmeros y cuente cuantos de ellos son pares y
cuantos son impares. Termina cuando se ingrese el cero.

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int numero, npar=0,nimpar=0;
numero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero"));
while(numero!=0)
{ if (numero%2==0)
npar++;
else
nimpar++;
numero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero"));

MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java


Ing. Jos Alberto, CASTRO CURAY Pg. N 20
}
JOptionPane.showMessageDialog(null,"Cantidad de nmero pares = "+npar+"\n Cantidad de
numeros impares = "+nimpar);
System.exit(0);
}
}

Aplicacin N 26: Hacer una aplicacin que lea dos nmeros y muestre sus divisores comunes

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int num1,num2,i=2;
num1 = Integer.parseInt(JOptionPane.showInputDialog("Ingrese primer nmero"));
num2 = Integer.parseInt(JOptionPane.showInputDialog("Ingrese segundo nmero"));
while(i<=num1 && i<=num2)
{ if (num1%i==0 && num2%i==0)
JOptionPane.showMessageDialog(null,"DIVISOR = "+i);
i++;
}
System.exit(0);
}
}

Aplicacin N 27: Hacer una aplicacin que muestre los factores que tiene un nmero entero
ingresado por teclado

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int num,i=2;
num = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero"));
while(i<=num)
{ if (num%i==0)
{num=num/i;
JOptionPane.showMessageDialog(null,"FACTOR = "+i);
}
else
i++;
}
System.exit(0);
}
}

Aplicacin N 28: Hacer un programa que verifique si un nmero es primo. (Un nmero es primo
cuando se divide entre uno y entre si mismo)

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int num,bandera,i;
num = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero"));
i=num/2;
bandera=1;
while(i>1 && bandera==1)
{ if (num%i==0)
{bandera=0;
}
i=i-1;
}
if (bandera==1)
JOptionPane.showMessageDialog(null,"EL NUMERO "+num+" ES PRIMO");
else
JOptionPane.showMessageDialog(null,"EL NUMERO "+num+" NO ES PRIMO");
System.exit(0);
}
}






MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java


Ing. Jos Alberto, CASTRO CURAY Pg. N 21
Aplicacin N 29: Hacer un programa que simplifique una fraccin a su mnima expresin

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int num,den,i;
num = Integer.parseInt(JOptionPane.showInputDialog("Ingrese numerador"));
den = Integer.parseInt(JOptionPane.showInputDialog("Ingrese denominador"));
i=2;
while(i<=num&&i<=den)
{ if (num%i==0 && den%i==0)
{num=num/i;
den=den/i;
}
else
{i=i+1;
}
}
JOptionPane.showMessageDialog(null,"FRACCION SIMPLIFICADA = "+num+" / "+den);
System.exit(0);
}
}


PRACTICA CALIFICADA

1. Hacer una aplicacin que lea un nmero y forme otro nmero con las cifras en orden inverso.
2. Hacer una aplicacin que verifique si un nmero es perfecto (Un nmero es perfecto si la suma de los
divisores da el mismo nmero Ejemplo 6=1+2+3).
3. Hacer una aplicacin que determine la cantidad de dgitos pares e impares que tiene un nmero
entero. Considerar al cero como nmero par.
4. Hacer una aplicacin que lea notas comprendidas entre 0 y 100 y los clasifique cualitativamente. (A de
91 a 100, B de 81 90, C de 71 a 80, D de 61 a 70 y E de 00 a 60). Debe mostrar la mayor y la
menor nota y la cantidad de notas ingresadas. El programa termina cuando se ingresa una nota fuera
del rango.
5. Hacer un programa que las notas y sexo de los alumnos, y luego que muestre la cantidad de hombres
y mujeres, la cantidad de hombres y mujeres aprobados, la cantidad de desaprobados, cantidad de
alumnos ingresados, nota mxima de hombres y mujeres. El programa termina cuando se ingresa un
sexo diferente a M o F o la nota esta fuera del rango de 0 a 20.
6. Hacer un programa que suma los n primeros trminos de la siguiente serie: + +1/6 +....
7. Hacer una aplicacin que lea nmeros enteros y muestre el mayor, segundo mayor y el total de
nmeros ledos. Termina cuando se ingresa un nmero menor que cero.
8. Hacer una aplicacin que sume los divisores comunes de dos nmeros
9. Hacer una aplicacin que determine la suma de los n primeros nmeros positivos impares.
10. Hacer un programa que lea nmeros, y que calcule y reporte lo siguiente: Cuantos nmeros pares
existen. (considere al cero como par) y Cuantos nmeros impares existen. Se sabe que el programa
finaliza cuando se ingresa el nmero 100.
11. Lea un nmero entero cualquiera, y muestre el digito mayor.


MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java


Ing. Jos Alberto, CASTRO CURAY Pg. N 22
b) SENTENCIA DOWHILE

Tambin se utiliza cuando el nmero de iteraciones no se conoce por anticipado. A diferencia de
WHILE, la condicin se valida al final del bucle, es decir, se ejecuta el cuerpo del bucle y luego se
verifica la condicin. Si la condicin es falsa el bucle se termina. SINTAXIS:









FUNCIONAMIENTO:

1. La condicin se evala al final de bucle, despus de ejecutarse todas las instrucciones.
2. Si la condicin es verdadera, se vuelve a repetir el bucle y se ejecuta todas las sentencias.
3. Si la condicin es falsa, se sale del bucle y se ejecuta la siguiente sentencia despus del
WHILE.

Aplicacin N 30: Hacer una aplicacin que lea una serie de nmeros hasta que se ingrese el cero (0)
y cuente la cantidad de nmeros positivos, negativos, pares e impares que fueron ingresados

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int numero, npos=0,nneg=0,npar=0,nimpar=0;
do{ numero = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero"));
if(numero!=0)
{ if (numero%2==0)
npar++;
else
nimpar++;
if (numero>0)
npos++;
else
nneg++;
}
}while(numero!=0);
JOptionPane.showMessageDialog(null,"Cantidad de nmero pares = "+npar+"\n Cantidad de
numeros impares = "+nimpar+"\n Cantidad de nmero
positivos = "+npos+"\n Cantidad de numeros negativos
= "+nneg);
System.exit(0);
}
}

Aplicacin N 31: Hacer una aplicacin que valide la edad de una persona, entre 0 y 99 aos.

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int edad;
do{ edad = Integer.parseInt(JOptionPane.showInputDialog("Ingrese edad"));
}while(edad<0 || edad>99);
JOptionPane.showMessageDialog(null,"Edad correcta");
System.exit(0);
}
}


Aplicacin N 32: Hacer una aplicacin que muestre el men de un restaurante con tres opciones
para que el usuario seleccione e ingrese la cantidad de platos y la aplicacin le mostrar el monto a
pagar. Considere la opcin SALIR dentro del men. Lomo S/. 8.00; Pollo S/. 5.00 y Chancho S/. 6.00.

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
String opc=new String();
int cantidad, monto=0;
do{
accin a;
accin b;
...
accin n
} while (condicin);

MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java


Ing. Jos Alberto, CASTRO CURAY Pg. N 23
do{ opc = JOptionPane.showInputDialog("Ingrese su plato \n Lomo (L)\n Pollo (P) \n Chancho
(C) \n Salir (S)");
if(opc.equalsIgnoreCase("s"))
{JOptionPane.showMessageDialog(null,"Gracias por su prefencia");
}
else
{ cantidad = Integer.parseInt(JOptionPane.showInputDialog("Ingrese cantidad de
platos"));
if(opc.equalsIgnoreCase("l"))
{ monto=cantidad*8;
}
if(opc.equalsIgnoreCase("p"))
{ monto=cantidad*5;
}
if(opc.equalsIgnoreCase("c"))
{ monto=cantidad*6;
}
JOptionPane.showMessageDialog(null,"EL MONTO A PAGAR ES S/."+ monto);
}
}while(opc.equalsIgnoreCase("l")||opc.equalsIgnoreCase("p")||opc.equalsIgnoreCase("c"));
System.exit(0);
}
}

Aplicacin N 33: Hacer una aplicacin que simule un cajero automtico, con un men de Depsito,
Retiro y Salir. Cuando se finaliza muestra un reporte de saldo actual y numero de depsitos y retiros
realizados.

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
String opc=new String();
int saldo=0, monto, cd=0,cr=0;
do{ opc = JOptionPane.showInputDialog("CAJERO AUTOMATICO \n DEPOSITO (D)\n RETIRO (R)
\n SALR (S)");
if(opc.equalsIgnoreCase("s"))
{JOptionPane.showMessageDialog(null,"REPORTE \n N DEPOSITO ="+cd+"\n N RETIROS
="+cr+"\n SALDO ACTUAL ="+saldo);
}
else
{ monto = Integer.parseInt(JOptionPane.showInputDialog("Ingrese monto"));
if (opc.equalsIgnoreCase("d"))
{saldo=saldo+monto;
cd=cd+1;
}
else
if (monto>saldo)
{ JOptionPane.showMessageDialog(null,"SU MONTO EXCEDE AL SALDO");
}
else
{ saldo=saldo-monto;
cr=cr+1;
}
}
}while(opc.equalsIgnoreCase("r")||opc.equalsIgnoreCase("d"));
System.exit(0);
}
}


Aplicacin N 34: Hacer una aplicacin que clasifique a las personas de acuerdo a sus edades, y
muestre cuantos nios (0-12), Jvenes (13-20), adulto (21-50) y ancianos (mayores a 50) se han
ingresado. La aplicacin preguntar si hay otra edad por ingresar.

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
String opc=new String();
int cni=0,cjo=0,cad=0,can=0,edad;
do{
do{edad = Integer.parseInt(JOptionPane.showInputDialog("Ingrese edad"));
}while(edad<0 || edad>99);

MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java


Ing. Jos Alberto, CASTRO CURAY Pg. N 24
if (edad>50)
can++;
else
if (edad>20)
cad++;
else
if (edad>12)
cjo++;
else
cni++;
opc = JOptionPane.showInputDialog("DESEA INGRESAR OTRO DATO [S/N]");
}while(opc.equalsIgnoreCase("s"));
JOptionPane.showMessageDialog(null,"REPORTE \n Nios ="+cni+"\n Jovenes ="+cjo+"\n
Adultos ="+cad+"\n Ancianos ="+can);
System.exit(0);
}
}

PRACTICA CALIFICADA

1. Hacer un programa que realice una estadstica de preferencias de las carreras profesionales
(Ingeniera, Educacin, Derecho, Otros) que los jvenes desean estudiar. El programa preguntar SI
HAY OTRO JOVEN POR REGISTRAR?. Si es que la respuesta es N (no) entonces mostrar la estadstica
y terminar el programa, en caso contrario elegir una de las carreras profesionales.

2. Hacer un programa que cuente la cantidad de dgitos que tiene un nmero entero, y adems que
calcule la suma de los dgitos pares e impares (Considere al cero como par)

3. Hacer un programa que lea el sexo y la nota de alumnos y que determine cuantos son hombres,
mujeres, aprobados y desaprobados, nota mxima y minina por sexo. El programa debe de preguntar
si hay otro alumno.

4. Hacer un programa que lea n edades de personas y los clasifique segn el siguiente criterio:
NIOS <=12
ADOLESCENTES >12 Y <=24
ADULTOS >24 Y <=45
ANCIANOS >45

5. Hacer un programa que multiplique n fracciones y muestre el resultado simplificado.

6. Hacer un programa que lea nmeros positivos y que calcule el mayor, el segundo mayor y el total de
datos ledos. Termina cuando el nmero es menor a cero.

7. Hacer un programa que lea un nmero y lo convierta a su respectiva escritura.

8. Hacer un programa que multiplique n fracciones y muestre el resultado simplificado.

9. Hacer un programa que lea un nmero y la operacin a realizar y muestre su respectiva tabla
(operacin: +, -, *, / )

10. Hacer un programa que calcule el MCM de tres nmeros.




MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java


Ing. Jos Alberto, CASTRO CURAY Pg. N 25
c) SENTENCIA FOR

La sentencia For se utiliza cuando se conoce por anticipado el nmero de veces que se ejecuta las
sentencias o acciones del interior del bucle. SINTAXIS:







FUNCIONAMIENTO:

1. Las variables de Control, Valor_Inicial y Valor_Final de la condicin deben ser enteros o
carcter.
2. El contador toma como valor inicial el valor de Valor_Inicial.
3. Si el contador <= Valor_Final, entonces:
4. Ejecuta las acciones e incrementa el Contador en una unidad.
5. Termina cuando el Contador sea mayor que el Valor_Final.
6. Es ilegal intentar modificar el valor de la variable de Control, Valor_Inicial y el Valor_Final
dentro del bucle.

Aplicacin N 35: Hacer una aplicacin que lea un nmero y calcule el factorial

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int n, i;
long fact=1;
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese numero"));
for(i=1;i<=n;i++)
{ fact=fact*i;
}
JOptionPane.showMessageDialog(null,"El factorial de "+n+" es "+fact);
System.exit(0);
}
}

Aplicacin N 36: Hacer una aplicacin que lea n notas y calcule el promedio del estudiante.

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int n, i, nota, suma=0;
float prom;
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese cantidad de notas"));
for(i=1;i<=n;i++)
{ nota = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nota"));
suma=suma+nota;
}
prom=suma/n;
JOptionPane.showMessageDialog(null,"El promedio es"+prom);
System.exit(0);
}
}

Aplicacin N 37: Hacer una aplicacin que lea n notas con sus respectivos pesos y calcule el
promedio del estudiante.

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int n, i, nota, peso, suman=0,sumap=0;
float prom;
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese cantidad de notas"));
for(i=1;i<=n;i++)
{ nota = Integer.parseInt(JOptionPane.showInputDialog("Ingrese nota"));
peso = Integer.parseInt(JOptionPane.showInputDialog("Ingrese peso"));
For(Inicializacin; Condicin; Incremento)
{
accin a;
accin b;
...
}
For(Control=V_Inic; Control<=V_final; Control++)
{
accin a;
accin b;
...
}

MANUAL PRACTICO DE PROGRAMACIN ORIENTADO OBJETO - Java


Ing. Jos Alberto, CASTRO CURAY Pg. N 26
suman=suman+nota*peso;
sumap=sumap+peso;
}
prom=suman/sumap;
JOptionPane.showMessageDialog(null,"El promedio es"+prom);
System.exit(0);
}
}


Aplicacin N 38: Hacer una aplicacin que calcule el mayor de N nmeros ingresados por teclado

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int n, i, num, mayor=0;
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese cantidad de numeros"));
for(i=1;i<=n;i++)
{ num = Integer.parseInt(JOptionPane.showInputDialog("Ingrese numero"));
if (num>mayor)
mayor=num;
}
prom=suman/sumap;
JOptionPane.showMessageDialog(null,"El mayor es"+mayor);
System.exit(0);
}
}

Aplicacin N 39: Hacer una aplicacin que multiplique N fracciones y muestre el resultado
simplificado

import javax.swing.JOptionPane;
public class NewClass {
public static void main(String[] args) {
int num, n, d, i, pn=1,pd=1;
num = Integer.parseInt(JOptionPane.showInputDialog("Ingrese numero de fracciones"));
for(i=1;i<=num;i++)
{ n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese numerador"));
d = Integer.parseInt(JOptionPane.showInputDialog("Ingrese denominador"));
pn=pn*n;
pd=pd*d;
}
i=2;
while(i<=pn && i<=pd)
{if(pn%i==0 && pd%i==0)
{pn=pn/i;
pd=pd/i;}
else
i++;
}

JOptionPane.showMessageDialog(null,"El product de fracciones ="+pn+/+pd);
System.exit(0);
}
}

Potrebbero piacerti anche