practica 2.docx

23
PRÁTICA Nº 02: PROGRAMACIÓN EN JAVA DESARROLLE LOS SIGUIENTES PROGRAMAS: 1.Dados los valores enteros P y Q, determine si los mismos satisfacen la siguiente expresión: P 3 + Q 4 – 2*P 2 < 680 En caso afirmativo debe imprimir los valores de P y Q. package ejercicio1; import javax.swing.JOptionPane; public class Ejercicio1 { public static void main(String[] args) { int P,Q; P=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el valor de P")); Q=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el valor de Q")); if(((Math.pow(P,3)+Math.pow(Q,4))-(2*(Math.pow(P,2))))<680) JOptionPane.showMessageDialog(null,"El valor de P es:"+" "+P +"\ nEl valor de Q es:"+" "+Q); } } 2.Las raíces reales de la expresión ax2 + bx + c = 0, se obtiene a través de la fórmula: x 12 = b 2 4 ac 2 a package ejercicio2; import javax.swing.JOptionPane; public class Ejercicio2 { public static void main(String[] args) { double d,x1,x2,c1,c2,r1,r2,a,b,c; a=Float.parseFloat(JOptionPane.showInputDialog("ingrese el coeficiente del Primer termino (aX[2])")); b=Float.parseFloat(JOptionPane.showInputDialog("ingrese el coeficiente del Segundo termino (bX)")); c=Float.parseFloat(JOptionPane.showInputDialog("ingrese el coeficiente del termino independiente (c))"));

Transcript of practica 2.docx

Page 1: practica 2.docx

PRÁTICA Nº 02: PROGRAMACIÓN EN JAVA

DESARROLLE LOS SIGUIENTES PROGRAMAS:

1. Dados los valores enteros P y Q, determine si los mismos satisfacen la siguiente expresión:

P3 + Q4 – 2*P2 < 680

En caso afirmativo debe imprimir los valores de P y Q.

package ejercicio1;import javax.swing.JOptionPane;public class Ejercicio1 {public static void main(String[] args) {int P,Q;P=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el valor de P"));Q=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el valor de Q"));if(((Math.pow(P,3)+Math.pow(Q,4))-(2*(Math.pow(P,2))))<680)JOptionPane.showMessageDialog(null,"El valor de P es:"+" "+P +"\nEl valor de Q es:"+" "+Q);}}

2. Las raíces reales de la expresión ax2 + bx + c = 0, se obtiene a través de la fórmula:

x12=−b±√b2−4 ac

2a

package ejercicio2;import javax.swing.JOptionPane;public class Ejercicio2 {public static void main(String[] args) {double d,x1,x2,c1,c2,r1,r2,a,b,c;

a=Float.parseFloat(JOptionPane.showInputDialog("ingrese el coeficiente del Primer termino (aX[2])"));b=Float.parseFloat(JOptionPane.showInputDialog("ingrese el coeficiente del Segundo termino (bX)"));c=Float.parseFloat(JOptionPane.showInputDialog("ingrese el coeficiente del termino independiente (c))"));d=(Math.pow(b,2)-(4*a*c));if (d>0) {x1=((-b+Math.sqrt(d))/(2*a)); x2=((-b-Math.sqrt(d))/(2*a)); c1= Math.sqrt(d)/(2*a); c2= -Math.sqrt(d)/(2*a); JOptionPane.showMessageDialog(null,"Las raíces son reales, y son:"+"\n X1="+x1 +"\n X2="+x2); }else if (d==0) {r1=-b/(2*a); r2=-b/(2*a);

Page 2: practica 2.docx

JOptionPane.showMessageDialog(null,"Las raíces son reales e iguales, y son:"+"\n X1="+r1 +"\n X2="+r2);} else {JOptionPane.showMessageDialog(null,"Las raíces son imaginarias");} }}

3. Sea la siguiente función:

f ( x )={ x2+1; si x ≤0x2++3 x+2 ; si0< x<3

x+1 ;si x ≥3

Lea un número y obtenga el valor numérico de la función.

package ejercicio3;import javax.swing.JOptionPane;public class Ejercicio3 {public static void main(String[] args) {double x,funA,funB,funC;x=Double.parseDouble(JOptionPane.showInputDialog("Ingrese el valor de X"));if (x<=0) {funA=Math.pow(x,2)+1; JOptionPane.showMessageDialog(null,"El valor de la función es:"+" "+funA); }else if (0<x&x<3) {funB=Math.pow(x,2)+(3*x)+2; JOptionPane.showMessageDialog(null,"El valor de la función es:"+funB); } else {funC=x+1; JOptionPane.showMessageDialog(null,"El valor de la función es:"+funC);}}

}

4. Dado tres longitudes, compruebe si pueden formar un triángulo y luego clasifique el triángulo según sus ángulos.

package ejercicio04;import javax.swing.JOptionPane;public class Ejercicio04 {public static void main(String[] args) { double L1,L2,L3,r1,r2,r3,ang1,ang2,ang3; L1=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la primera longitud: ")); L2=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la segunda longitud: ")); L3=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la tercera longitud: ")); if (L1+L2>L3 && L2+L3>L1 && L1+L3>L2){

Page 3: practica 2.docx

r1=(L1*L1 - L2*L2 - L3*L3)/(-2*L2*L3); ang1 = 180*Math.acos(r1)/Math.PI; r2=(L2*L2 - L1*L1 - L3*L3)/(-2*L1*L3); ang2 = 180*Math.acos(r2)/Math.PI; r3=(L3*L3 - L1*L1 - L2*L2)/(-2*L1*L2); ang3 = 180*Math.acos(r3)/Math.PI; if(ang1<90 && ang2<90 && ang3<90){ JOptionPane.showMessageDialog(null," Con las longitudes "+L1+" , "+L2+" , "+L3+ " se puede formar un triángulo."+"\n El triángulo es acutángulo"); } else if(ang1==90 || ang2==90 || ang3==90){ JOptionPane.showMessageDialog(null," Con las longitudes "+L1+" , "+L2+" , "+L3+ " se puede formar un triángulo."+"\n El triángulo es rectángulo"); } else{ JOptionPane.showMessageDialog(null," Con las longitudes "+L1+" , "+L2+" , "+L3+ " se puede formar un triángulo."+"\n El triángulo es obtusángulo"); } } else{ JOptionPane.showMessageDialog(null," Con las longitudes "+L1+" , "+L2+" , "+L3+ " no se puede formar un triángulo."); } }}

5. Se ingresa tres números cualesquiera, que el programa determine el valor intermedio si es que existe.

package ejercicio5;import javax.swing.JOptionPane;public class Ejercicio5 {public static void main(String[] args) {int a,b,c;a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero:"));b=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero:"));c=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero:"));if (a<b&b<c){JOptionPane.showMessageDialog(null,"El valor intermedio es:"+" "+b);}else if (c<b&b<a){JOptionPane.showMessageDialog(null,"El valor intermedio es:"+" "+b);}elseif(b<a&a<c){JOptionPane.showMessageDialog(null,"El valor intermedio es:"+" "+a);}else if (c<a&a<b){JOptionPane.showMessageDialog(null,"El valor intermedio es:"+" "+a);}elseif(b<c&c<a){JOptionPane.showMessageDialog(null,"El valor intermedio es:"+" "+c);}else if (a<c&c<b){JOptionPane.showMessageDialog(null,"El valor intermedio es:"+" "+c);}else{JOptionPane.showMessageDialog(null,"No hay valor intermedio");}

Page 4: practica 2.docx

}}

6. Se ingresa tres números por teclado: a, b y c y determine si pueden formar un triángulo comprobando que p > a, p > b y p > c, donde p es el semiperímetro y equivale a p = (a+b+c+)/2.

Luego calcule el área del triángulo usando la fórmula de Herón: A = p(p-a)(p-b)(p-c).

package ejercicio6;import javax.swing.JOptionPane;public class Ejercicio6 {public static void main(String[] args) {int a,b,c;double p, tria;a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el lado a del triángulo:"));b=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el lado b del triángulo:"));c=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el lado c del triángulo:"));p=(a+b+c)/2;if (p>a&p>b&p>c){tria=Math.sqrt((p*(p-a)*(p-b)*(p-c)));JOptionPane.showMessageDialog(null,"Si se forma un triángulo"+"\nCuyo Area es:"+" "+tria);}else {JOptionPane.showMessageDialog(null,"No se puede formar un triángulo");}

}}

7. Un centro de estudios categoriza a sus estudiantes según el promedio obtenido el ciclo anterior de acuerdo a la siguiente tabla:

Promedio (p) Categoría 0 <= p < 5 D 5 < = p < 10 C10 <= p < 15 B15 <= p <= 20 A

Realice un programa que pida el promedio de un estudiante y determine a que categoría pertenece.

package ejercicio7;import javax.swing.JOptionPane;public class Ejercicio7 {public static void main(String[] args) {double p;char D,C,B,A;p=Double.parseDouble(JOptionPane.showInputDialog("Ingrese el promedio del estudiante:"));if (0<=p&p<5){JOptionPane.showMessageDialog(null,"El alumno pertenece a la categoria:"+"D");}else

Page 5: practica 2.docx

if(5<=p&p<10){JOptionPane.showMessageDialog(null,"El alumno pertenece a la categoria:"+"C");}elseif (10<=p&p<15){JOptionPane.showMessageDialog(null,"El alumno pertenece a la categoria:"+"B");}else{JOptionPane.showMessageDialog(null,"El alumno pertenece a la categoria:"+"A");}

}}

8. Construya un programa tal que dado como datos de matrícula de un alumno, la carrera en que está inscrito, su semestre y su promedio; determine si el mismo es apto para pertenecer a alguna de las facultades menores que tiene la universidad. Si el alumno es aceptado teniendo en cuenta las especificaciones que se listan abajo, se debe imprimir su matrícula, carrera y la palabra “aceptado”.

Especificaciones para pertenecer a las facultades menores:Economía : Semestre 6 y promedio 8,8Computación : Semestre > 6 y promedio > 8,5Administración: Semestre > 5 y promedio > 8,5Contabilidad : Semestre > 5 y promedio > 8,5

package ejercicio08;import javax.swing.JOptionPane;public class Ejercicio08 {public static void main(String[] args) { int CodMat; double Sem,Prom; String Carrera; CodMat=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el código-matrícula del alumno: ")); Carrera=JOptionPane.showInputDialog("Ingrese la carrera: "); Sem=Double.parseDouble(JOptionPane.showInputDialog("Ingrese el semestre que cursa el alumno: ")); Prom=Double.parseDouble(JOptionPane.showInputDialog("Ingrese el promedio del alumno: ")); switch(Carrera){ case "Economía": if (Sem>=6 && Prom>=8.8){ JOptionPane.showMessageDialog(null,"Estudiante ACEPTADO "+"\nMatrícula: "+CodMat+ "\nCarrera: "+Carrera); } else{ JOptionPane.showMessageDialog(null,"Estudiante NO ACEPTADO "); } break; case "Computación": if (Sem>6 && Prom>8.5){ JOptionPane.showMessageDialog(null,"Estudiante ACEPTADO "+"\nMatrícula: "+CodMat+ "\nCarrera: "+Carrera); } else{

Page 6: practica 2.docx

JOptionPane.showMessageDialog(null,"Estudiante NO ACEPTADO "); } break; case "Administración": if (Sem>5 && Prom>8.5){ JOptionPane.showMessageDialog(null,"Estudiante ACEPTADO "+"\nMatrícula: "+CodMat+ "\nCarrera: "+Carrera); } else{ JOptionPane.showMessageDialog(null,"Estudiante NO ACEPTADO "); } break; case "Contabilidad": if (Sem>5 && Prom>8.5){ JOptionPane.showMessageDialog(null,"Estudiante ACEPTADO "+"\nMatrícula: "+CodMat+ "\nCarrera: "+Carrera); } else{ JOptionPane.showMessageDialog(null,"Estudiante NO ACEPTADO "); } break; default: JOptionPane.showMessageDialog(null,"Estudiante NO ACEPTADO, facultad desconocida"); } }}

9. En una universidad tiene como política considerar tres notas en cada curso la nota de trabajos T, la nota de medio ciclo M y la de fin de ciclo F, cada uno tiene un peso de 50%, 20% y 30% respectivamente. Un alumno es calificado según lo siguiente:

Bueno : si su promedio esta entre 16 y 20.Regular: si su promedio esta entre 11 y 15.Malo : si su promedio esta entre 6 y 10.Pésimo: si su promedio esta entre 0 y 5.Desarrolle un programa que lea tres notas de un alumno y en un curso y diga cómo ha sido catalogado el alumno.

package ejercicio09;import javax.swing.JOptionPane;public class Ejercicio09 {public static void main(String[] args) { double T,M,F,Prom; String Curso; Curso=JOptionPane.showInputDialog("Ingrese el curso: "); T=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la nota de Trabajos: ")); M=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la nota de Medio Ciclo: ")); F=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la nota de Fin de Ciclo: ")); Prom=T*0.5 + M*0.2 + F*0.3;

Page 7: practica 2.docx

if (0<=Prom && Prom<6) { JOptionPane.showMessageDialog(null," Estudiante catalogado como PÉSIMO en el curso "+Curso); } else if (6<=Prom && Prom<11){ JOptionPane.showMessageDialog(null," Estudiante catalogado como MALO en el curso "+Curso); } else if (11<=Prom && Prom<16){ JOptionPane.showMessageDialog(null," Estudiante catalogado como REGULAR en el curso "+Curso); } else if (16<=Prom && Prom<=20){ JOptionPane.showMessageDialog(null," Estudiante catalogado como BUENO en el curso "+Curso); } else{ JOptionPane.showMessageDialog(null," Error promedio no válido "); } }}

10. En un cierto país el impuesto que se debe de pagar por los artículos se calcula mediante la siguiente regla: los primeros $20 no causan impuesto, los siguientes $20 tienen el 30% de impuesto y el resto 40% de impuesto, pero si el costo del producto es mayor a $500, entonces en lugar de 40% se cobra 50%.

Desarrolle un programa que lea el costo básico de un artículo y calcule su precio total (precio total= precio básico + impuesto)

package ejercicio10;import javax.swing.JOptionPane;public class Ejercicio10 {public static void main(String[] args) { double PreBas,PreTot; PreBas=Double.parseDouble(JOptionPane.showInputDialog("Ingrese el Precio Básico del Producto: ")); if (0<PreBas && PreBas<=20) { PreTot = PreBas; JOptionPane.showMessageDialog(null," El Producto está libre de impuesto, el Precio Total del Producto es: "+PreTot); } else if (PreBas<=40){ PreTot = PreBas*1.3; JOptionPane.showMessageDialog(null," Con impuesto al 30%, el Precio Total del Producto es: "+PreTot); } else if (PreBas<=500){ PreTot = PreBas*1.4;

Page 8: practica 2.docx

JOptionPane.showMessageDialog(null," Con impuesto al 40%, el Precio Total del Producto es: "+PreTot); } else if (PreBas>500){ PreTot = PreBas*1.5; JOptionPane.showMessageDialog(null," Con impuesto al 50%, el Precio Total del Producto es: "+PreTot); } else{JOptionPane.showMessageDialog(null," Error al ingresar el Precio Básico ");}}

11. En un empresa comercial, existen tres categorías de artículos (A, B y C) y cuatro categorías de clientes (excelentes, buenos, regulares y malos) y tienen implementada la siguiente política de descuentos (en %)

Tipo cliente\Tipo artículo A B CE: Excelente 40 30 20B: Bueno 30 20 10R: Regular 20 10 0M: Malo 0 0 0

Además se sabe que los clientes de tipo E y B pueden pagar en efectivo, con cheque o al crédito, los de tipo R solo pueden hacerlo en efectivo o con cheque, mientras que los tipo M sólo pueden hacer compras en efectivo. Construya un programa que lea el tipo de cliente, el tipo de artículo que desea adquirir e indique el descuento y las alternativas de pago que le son permitidas.

package ejercicio11;import javax.swing.JOptionPane;public class Ejercicio11 {public static void main(String[] args) { String CateArt,CateCli; CateArt=JOptionPane.showInputDialog("Ingrese la Categoría del Artículo (A,B o C): "); CateCli=JOptionPane.showInputDialog("Ingrese la Categoría del Cliente (E,B,R o M): "); switch(CateCli){ case "E": switch(CateArt){ case "A": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo, Cheque"+ " o Crédito; y está sujeto a un 40% de descuento en su pago");break; case "B": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo, Cheque"+ " o Crédito; y está sujeto a un 30% de descuento en su pago");break; case "C": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo, Cheque"+ " o Crédito; y está sujeto a un 20% de descuento en su pago");break; } break; case "B": switch(CateArt){ case "A":

Page 9: practica 2.docx

JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo, Cheque"+ " o Crédito; y está sujeto a un 30% de descuento en su pago");break; case "B": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo, Cheque"+ " o Crédito; y está sujeto a un 20% de descuento en su pago");break; case "C": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo, Cheque"+ " o Crédito; y está sujeto a un 10% de descuento en su pago");break; } break; case "R": switch(CateArt){ case "A": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo o Cheque;"+ " y está sujeto a un 20% de descuento en su pago");break; case "B": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo o Cheque;"+ " y está sujeto a un 10% de descuento en su pago");break; case "C": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo o Cheque;"+ " y está sujeto a un 0% de descuento en su pago");break; } break; case "M": switch(CateArt){ case "A": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo;"+ " y está sujeto a un 0% de descuento en su pago");break; case "B": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo;"+ " y está sujeto a un 0% de descuento en su pago");break; case "C": JOptionPane.showMessageDialog(null," El Cliente puede pagar con Efectivo;"+ " y está sujeto a un 0% de descuento en su pago");break; } break; } }}

12. El costo total de las llamadas telefónicas internacionales depende de la zona geográfica en la que se encuentre el país destino y del número de minutos hablados. En la siguiente tabla se presenta el costo del minuto por zona. A cada zona se le ha asociado una clave.

Clave

Zona Precio

12 América del norte 215 América central 2,218 América del sur 4,5

Page 10: practica 2.docx

19 Europa 3,523 Asia 625 África 629 Oceanía 5

Construya un programa que permita calcular e imprimir el costo total de una llamada.

package ejercicio12;import javax.swing.JOptionPane;public class Ejercicio12 {public static void main(String[] args) { int Clave; double Duracion,Costo; Clave=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la Clave de la Zona: ")); Duracion=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la duración de la llamada en minutos: ")); switch(Clave){ case 12: Costo=Duracion*2.0; JOptionPane.showMessageDialog(null," El Costo total de la llamada telefónica es: "+Costo); break; case 15: Costo=Duracion*2.2; JOptionPane.showMessageDialog(null," El Costo total de la llamada telefónica es: "+Costo); break; case 18: Costo=Duracion*4.5; JOptionPane.showMessageDialog(null," El Costo total de la llamada telefónica es: "+Costo); break; case 19: Costo=Duracion*3.5; JOptionPane.showMessageDialog(null," El Costo total de la llamada telefónica es: "+Costo); break; case 23: Costo=Duracion*6.0; JOptionPane.showMessageDialog(null," El Costo total de la llamada telefónica es: "+Costo); break; case 25: Costo=Duracion*6.0; JOptionPane.showMessageDialog(null," El Costo total de la llamada telefónica es: "+Costo); break; case 29: Costo=Duracion*5.0; JOptionPane.showMessageDialog(null," El Costo total de la llamada telefónica es: "+Costo); break; default: JOptionPane.showMessageDialog(null,"Se desconoce la Clave de la zona donde se realizó la llamada"); } }}

Page 11: practica 2.docx

13. El gobierno ha implementado como parte de su programa social, un subsidio familiar bajo la siguiente reglamentación:

i. Las familias que tienen hasta 2 hijos reciben S/. 700.00, las que tienen entre 3 y 5 hijos reciben S/. 900.00 y las que tienen 6 hijos o más reciben S/. 120.00 mensual.

ii. Por cada hijo en edad escolar reciben S/.100.00 adicionales. Se considera la edad escolar entre 6 y 18 años.

iii. Si la madre de familia fuera viuda, la familia recibe S/. 200.00 adicionales.

Determinar el monto mensual que recibirá una familia de acuerdo a su propia realidad familiar.

package ejercicio13;import javax.swing.JOptionPane;public class Ejercicio13 { public static void main(String[] args) { int NumHij,NumEsc,SubFam=0; String EstCivMadre; NumHij=Integer.parseInt(JOptionPane.showInputDialog("¿Cuántos hijos tiene la familia?: ")); NumEsc=Integer.parseInt(JOptionPane.showInputDialog("¿Cuántos hijos en edad escolar(6 a 18 años)?: ")); EstCivMadre=JOptionPane.showInputDialog("¿La madre es viuda? si/no?: "); if (0<=NumHij && NumHij<=2){ SubFam=700; } else if (3<=NumHij && NumHij<=5){ SubFam=900; } else if (6<=NumHij){ SubFam=1200; } SubFam=SubFam + 100*NumEsc; switch(EstCivMadre){ case "si": SubFam=SubFam + 200; break; case "no": SubFam=SubFam + 0; break; } JOptionPane.showMessageDialog(null,"El Subsidio Familiar Mensual es: S/. " + SubFam); }}

14. Realice los siguientes programas:

a) Lea un mes y un año y determine cuantos días tiene ese mes.

Page 12: practica 2.docx

package ejercicio14a;import javax.swing.JOptionPane;public class Ejercicio14A {public static void main(String[] args) { int Mes,Año,Dias=0; Mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el mes: ")); Año=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el año: ")); switch (Mes){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: Dias=31;break; case 2: if ((Año%4==0 && Año%100!=0) || (Año%400==0)){ Dias=29; } else{ Dias=28; } break; case 4: case 6: case 9: case 11: Dias=30;break; } JOptionPane.showMessageDialog(null,"El Mes " +Mes+ " del Año " +Año+ " tiene " +Dias+ " días"); }}

b) Lea un número menor a 4000 y convierta a números romanos.

package ejercicio14b;import javax.swing.JOptionPane;public class Ejercicio14B { public static void main(String[] args) { int Num,Uni,Dec,Cen,Mil,r; String U="",D="",C="",M=""; Num=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el número arábigo: ")); Uni = Num%10; r = Num/10; Dec = r%10; r = r/10; Cen = r%10; Mil = r/10; if (0<Num && Num<4000){

Page 13: practica 2.docx

switch(Uni){ case 1: U = "I";break; case 2: U = "II";break; case 3: U = "III";break; case 4: U = "IV";break; case 5: U = "V";break; case 6: U = "VI";break; case 7: U = "VII";break; case 8: U = "VIII";break; case 9: U = "IX";break; } switch(Dec){ case 1: D = "X";break; case 2: D = "XX";break; case 3: D = "XXX";break; case 4: D = "XL";break; case 5: D = "L";break; case 6: D = "LX";break; case 7: D = "LXX";break; case 8: D = "LXXX";break; case 9: D = "XC";break; } switch(Cen){ case 1: C = "C";break; case 2: C = "CC";break; case 3: C = "CCC";break; case 4: C = "CD";break; case 5: C = "D";break; case 6: C = "DC";break; case 7: C = "DCC";break; case 8: C = "DCCC";break; case 9: C = "CM";break; } switch(Mil){ case 1: M = "M";break; case 2: M = "MM";break; case 3: M = "MMM";break; } JOptionPane.showMessageDialog(null,"El número arábigo "+Num+" se escribe en números romanos como: "+ M+C+D+U); } else{ JOptionPane.showMessageDialog(null,"No se admite el número cero ni números mayores o igual a 4000"); } }}

c) Dada una fecha, que determine cuántos días faltan para que termine el año.

Page 14: practica 2.docx

package ejercicio14c;import javax.swing.JOptionPane;public class Ejercicio14C { public static void main(String[] args) { int Dia,Mes,Año,NDias=0,aux,TDias,DiaF; Dia=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Día: ")); Mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Mes: ")); Año=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Año: ")); if ((Año%4==0 && Año%100!=0) || (Año%400==0)){ aux=29; TDias=366; } else{ aux=28; TDias=365; } switch (Mes){ case 1: NDias=Dia;break; case 2: NDias=Dia+31;break; case 3: NDias=Dia+aux+31;break; case 4: NDias=Dia+aux+31+30;break; case 5: NDias=Dia+aux+31+30+31;break; case 6: NDias=Dia+aux+31+30+31+30;break; case 7: NDias=Dia+aux+31+30+31+30+31;break; case 8: NDias=Dia+aux+31+30+31+30+31+31;break; case 9: NDias=Dia+aux+31+30+31+30+31+31+30;break; case 10: NDias=Dia+aux+31+30+31+30+31+31+30+31;break; case 11: NDias=Dia+aux+31+30+31+30+31+31+30+31+30;break; case 12: NDias=Dia+aux+31+30+31+30+31+31+30+31+30+31;break; } DiaF = TDias - NDias; JOptionPane.showMessageDialog(null," Siendo la fecha "+Dia+"/"+Mes+"/"+Año+" quedan "+DiaF+" días para finalizar el año"); }}

d) Obtenga el número de días transcurridos entre dos fechas.

package ejercicio14d;import javax.swing.JOptionPane;import java.util.Calendar;public class Ejercicio14D { public static void main(String[] args) { Calendar Fecha1 = Calendar.getInstance(); Calendar Fecha2 = Calendar.getInstance(); int Dia1,Mes1,Año1,Dia2,Mes2,Año2; long MiliS1,MiliS2,DifMiliS,DifDias; Dia1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Día de la Primera Fecha: ")); Mes1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Mes de la Primera Fecha: "));

Page 15: practica 2.docx

Año1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Año de la Primera Fecha: ")); Dia2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Día de la Segunda Fecha: ")); Mes2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Mes de la Segunda Fecha: ")); Año2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Año de la Segunda Fecha: ")); Fecha1.set(Año1, Mes1, Dia1); Fecha2.set(Año2, Mes2, Dia2); MiliS1 = Fecha1.getTimeInMillis(); MiliS2 = Fecha2.getTimeInMillis(); DifMiliS = Math.abs(MiliS2 - MiliS1); DifDias = DifMiliS/(24*3600*1000); JOptionPane.showMessageDialog(null," Entre las fechas "+Dia1+"/"+Mes1+"/"+Año1+" y "+ Dia2+"/"+Mes2+"/"+Año2+" han transcurrido "+DifDias+" días"); }}

e) Dada una fecha, determine qué día de la semana fue, sabiendo que el primero de enero de 1900 fue lunes.

package ejercicio14e;import javax.swing.JOptionPane;public class Ejercicio14E { public static void main(String[] args) { int Dia,Mes,Año,A,Y,M,D; Dia=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Día: ")); Mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Mes: ")); Año=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Año: ")); A = (14 - Mes)/12; Y = Año - A; M = Mes + 12*A - 2; D =(Dia + Y + Y/4 - Y/100 + Y/400 +(31*M)/12)%7; if(D==0) JOptionPane.showMessageDialog(null, " El "+Dia+"/"+Mes+"/"+Año+" fue domingo"); if(D==1) JOptionPane.showMessageDialog(null, " El "+Dia+"/"+Mes+"/"+Año+" fue lunes"); if(D==2) JOptionPane.showMessageDialog(null, " El "+Dia+"/"+Mes+"/"+Año+" fue martes"); if(D==3) JOptionPane.showMessageDialog(null, " El "+Dia+"/"+Mes+"/"+Año+" fue miercoles"); if(D==4) JOptionPane.showMessageDialog(null, " El "+Dia+"/"+Mes+"/"+Año+" fue jueves"); if(D==5) JOptionPane.showMessageDialog(null, " El "+Dia+"/"+Mes+"/"+Año+" fue viernes"); if(D==6) JOptionPane.showMessageDialog(null, " El "+Dia+"/"+Mes+"/"+Año+" fue sabado"); }}

f) Dada una fecha obtenga el número de días dentro de ese año. Por ejemplo el 26/10/2000 es el día 300 del año 2000.

Page 16: practica 2.docx

package ejercicio14f;import javax.swing.JOptionPane;public class Ejercicio14F { public static void main(String[] args) { int Dia,Mes,Año,NDias=0,aux; Dia=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Día: ")); Mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Mes: ")); Año=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Año: ")); if ((Año%4==0 && Año%100!=0) || (Año%400==0)){ aux=29; } else{ aux=28; } switch (Mes){ case 1: NDias=Dia;break; case 2: NDias=Dia+31;break; case 3: NDias=Dia+aux+31;break; case 4: NDias=Dia+aux+31+30;break; case 5: NDias=Dia+aux+31+30+31;break; case 6: NDias=Dia+aux+31+30+31+30;break; case 7: NDias=Dia+aux+31+30+31+30+31;break; case 8: NDias=Dia+aux+31+30+31+30+31+31;break; case 9: NDias=Dia+aux+31+30+31+30+31+31+30;break; case 10: NDias=Dia+aux+31+30+31+30+31+31+30+31;break; case 11: NDias=Dia+aux+31+30+31+30+31+31+30+31+30;break; case 12: NDias=Dia+aux+31+30+31+30+31+31+30+31+30+31;break; } JOptionPane.showMessageDialog(null," El "+Dia+"/"+Mes+"/"+Año+" es el Día "+NDias+" del año "+Año); }}

g) Un profesor desea implementar un algoritmo que le permita bonificar equitativamente a todos sus alumnos de acuerdo a la nota conseguida en un examen, de la siguiente forma: si la nota fuera menor que 5 bonifica con 3 puntos; si la nota fuera mayor o igual que 5 pero no menor que 10 se bonifica con 2 puntos y si la nota fuera mayor o igual que 10 pero no menor que 15 se bonifica con 1 punto; y si la nota fuera mayor o igual que 15 pero menor o igual que 20 se le descuenta el residuo de la nota entre 5. Determinar la nota bonificada a cualquier alumno.

package ejercicio14g;import javax.swing.JOptionPane;public class Ejercicio14G { public static void main(String[] args) { double Nota,Boni=0,NotaBoni; Nota=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la Nota del Estudiante: ")); if (0<Nota && Nota<5){ Boni=3; }

Page 17: practica 2.docx

else if (5<=Nota && Nota<10){ Boni=2; } else if (10<=Nota && Nota<15){ Boni=1; } else if (15<=Nota && Nota<=20){ Boni=-(Nota%5); } else{ JOptionPane.showMessageDialog(null,"La Nota ingresada no es válida o no será bonificada"); } NotaBoni = Nota + Boni; JOptionPane.showMessageDialog(null,"La Nota Bonificada para el estudiante es: " + NotaBoni); }}

h) Un trabajador del estado percibe un sueldo básico mensual de S/4 500.00; además recibe incremento de sueldo de acuerdo a los siguientes conceptos:

Instrucción %Hasta 5to Secundaria 5Técnico 10Profesional 20

Condición social %Casado 3Por cada hijo 2Sin vivienda 5

También por ley está sujeto a un descuento del 10% si su sueldo excede a S/. 7 000.00. Determinar el sueldo neto que recibe un trabajador.

package ejercicio14h;import javax.swing.JOptionPane;public class Ejercicio14H { public static void main(String[] args) { int NumHijos; double SBM; String GraIns,ConSoc; SBM=Double.parseDouble(JOptionPane.showInputDialog("Ingrese el Sueldo Básico Mensual del trabajador: ")); GraIns=JOptionPane.showInputDialog("Ingrese el Grado de Instrucción del trabajador (Sec,Tec,Pro): "); ConSoc=JOptionPane.showInputDialog("Ingrese la Condición Social del trabajador (Casado,ConHijos,SinVivienda): "); switch (GraIns){ case "Sec": SBM=SBM*1.05;break; case "Tec": SBM=SBM*1.10;break; case "Pro": SBM=SBM*1.20;break;} switch (ConSoc){case "Casado": SBM=SBM*1.03;break; case "ConHijos": NumHijos=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la cantidad de hijos: "));

Page 18: practica 2.docx

SBM=SBM + NumHijos*SBM*0.02;break; case "Sinvivienda": SBM=SBM*1.05;break; } if (SBM>7000){SBM=SBM*0.90;} else{ SBM=SBM*1.00; } JOptionPane.showMessageDialog(null,"El Sueldo Neto que recibirá el trabajador es: S/. " + SBM); }}