practica 2.docx

Post on 03-Jan-2016

210 views 0 download

Transcript of 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);

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){

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");}

}}

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

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{

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;

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;

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":

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

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"); } }}

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.

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){

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.

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: "));

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.

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; }

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: "));

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); }}