EJERCITACIÓN JAVA
2013
CÁTEDRA DE LENGUAJES ORIENTADOS A OBJETOS Ing. Mario Bressano & Luciano Diamand
ENVÍO RESUELTO 05
LENGUAJES ORIENTADOS A OBJETOS
2013
Ejercicio 48: Dada la siguiente serie, confeccionar una aplicación donde ingresada la cantidad de términos calcule su valor. 1 + 1/2! + 1 /3! + 1/4! + 1/5! + 1/6! +……+ 1/n! import javax.swing.JOptionPane ; import javax.swing.JTextArea; import java.text.DecimalFormat; public class Serie { public static void main (String[]args){ String cTer; int ter = 0; double fact; double sum = 0; int i; JTextArea areaTextoSalida = new JTextArea(); cTer = JOptionPane.showInputDialog("Ingrese la cantidad de terminos:"); ter = Integer.parseInt(cTer); fact =1; areaTextoSalida.setText("La serie de "+ ter+ " terminos es:\n "); DecimalFormat formato = new DecimalFormat("0.00"); for(i=1;i<=ter;i += 1) { fact = 1/(fact * i); areaTextoSalida.append(formato.format(fact) + " + "); sum = sum + fact; } areaTextoSalida.append("\n la suma es: "+formato.format(sum) + "\n"); JOptionPane.showMessageDialog(null,areaTextoSalida,"Rsultado",JOptionPane.PLAIN_M ESSAGE); System.exit(0); } }
LENGUAJES ORIENTADOS A OBJETOS
2013
Ejercicio 49: Un triángulo recto puede tener lados cuyas longitudes sean valores enteros. El conjunto de tres valores enteros para los lados de un triángulo recto se conoce como TRIPLE DE PITÁGORAS. Las longitudes de los tres lados deben satisfacer la relación a 2=b2+c2. Escribir una aplicación que permita calcular todos los triples de Pitágoras hasta el valor 500.
import javax.swing.JOptionPane ; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class TripPitagoras { public static void main (String[]args){ int ter = 0; double fact; double sum = 0; int x; int y; int z; JTextArea areaTextoSalida = new JTextArea(17,20); JScrollPane barra = new JScrollPane(areaTextoSalida); areaTextoSalida.setText("Triples de Pitagoras: \n "); ter = 500; for(x=1;x<=ter;x += 1) { for(y=1;y<=ter;y += 1) { for(z=1;z<=ter;z += 1) { if( x*x == y*y+z*z) { areaTextoSalida.append(" a: "+x+" b: "+y+" c: "+z+ " \n "); } }
}
}
} }
JOptionPane.showMessageDialog(null,barra,"Rsultado",JOptionPane.PLAIN_MESSAGE); System.exit(0);
LENGUAJES ORIENTADOS A OBJETOS
2013
Ejercicio 50: En una empresa se desea confeccionar una aplicación Java que calcule el jornal de sus empleados. Esta aplicación debe calcular y presentar el resultado empleado por empleado en forma detallada. EMPLEADO: XXXXXXXX, XXXXXX CANTIDAD HORAS TRABAJADAS: XX SUELDO BÁSICO: XXX.XX$ CANTIDAD HORAS SIMPLES: XX DESCUENTOS : XX.XX$ CANTIDAD HORAS EXCEDENTES: XX PREMIO : XXX.XX$ A COBRAR
: XXX.XX$
De los mismos se conoce su nombre y apellido y cantidad de horas trabajadas. El jornal se paga por semana con el siguiente detalle: Valor pagado por hora 25$( hasta 40 hs semanales), pasadas las 40hs el valor por cada hora excedente es de 30$. Los descuentos aplicados son del 19,5 % sobre el valor calculado sobre las primeras 40 horas. Además si trabaja al menos 40 hs percibe una bonificación de 100$ sin descuentos. import javax.swing.JOptionPane ; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Locale; public class Ej1 { public static void main (String[]args){ String nbre; String ape; String cantHor; int chor = 0; int hsim = 25; int hex = 30; double sb = 0; double des =0; double premio =0; double cobrar =0; ape = JOptionPane.showInputDialog("Ingrese el apellido del empleado"); nbre = JOptionPane.showInputDialog("Ingrese el nombre del empleado"); cantHor = JOptionPane.showInputDialog("Ingrese la cantidad de horas trabajadas del empleado"); chor = Integer.parseInt(cantHor); DecimalFormat formato = new DecimalFormat("0.00"); NumberFormat peso = NumberFormat.getCurrencyInstance(Locale.CANADA_FRENCH ); if (chor <= 40 ) { hsim = 25; sb = hsim * chor; des = sb*0.195; cobrar = sb - des; else
} {
hex = 30; sb = hex * chor; premio = 100;
LENGUAJES ORIENTADOS A OBJETOS
2013
cobrar = sb+premio; } formato.format(sb); formato.format(des); formato.format(cobrar); peso.format(sb); peso.format(des); peso.format(cobrar);
JOptionPane.showMessageDialog(null,"Empleado: "+ape+"-"+nbre+" Cant horas trabajadas: "+chor+" Cant horas simples: "+hsim+"Cant horas excedentes: "+hex+" sueldo basico: "+sb+" descuento: "+des+" premio: "+premio+" A cobrar: "+cobrar,"Jornal",JOptionPane.PLAIN_MESSAGE); System.exit(0); } }
LENGUAJES ORIENTADOS A OBJETOS
2013
Ejercicio 51: Ingresado un ángulo (entre 0 y 90) en grados, minutos y segundos, calcular las funciones trigonométricas del mismo import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class Trigonom extends JApplet implements ActionListener { JTextArea areaS = new JTextArea(); //Inicializo las variables JLabel etiquetaTitulo1, etiquetaTitulo2, etiquetaGrado, etiquetaMinuto, etiquetaSegundo , etiquetaSeno, etiquetaCoseno, etiquetaTangente; JTextField campoGrado, campoMinuto, campoSegundo, campoSeno, campoCoseno, campoTangente; JButton boton; public void init() { Container contenedor= getContentPane(); contenedor.setLayout(new FlowLayout()); ángulo");
etiquetaTitulo1 =new JLabel("Cálculo de Funciones Trigonomètricas de un contenedor.add(etiquetaTitulo1); etiquetaTitulo2 =new JLabel("Ingrese un ángulo.."); contenedor.add(etiquetaTitulo2); etiquetaGrado =new JLabel("Grados :"); contenedor.add(etiquetaGrado); campoGrado =new JTextField (4); contenedor.add(campoGrado); etiquetaMinuto =new JLabel("Minutos :"); contenedor.add(etiquetaMinuto); campoMinuto =new JTextField (4); contenedor.add(campoMinuto); etiquetaSegundo =new JLabel("Segundos:"); contenedor.add(etiquetaSegundo); campoSegundo =new JTextField (4); contenedor.add(campoSegundo); boton =new JButton("Calcular"); contenedor.add(boton); //Registrar applet para que se escuchen las acciones boton.addActionListener(this); campoSeno =new JTextField (55); campoSeno.setEditable(false); contenedor.add(campoSeno); campoCoseno =new JTextField (55);
LENGUAJES ORIENTADOS A OBJETOS
2013
campoCoseno.setEditable(false); contenedor.add(campoCoseno); campoTangente =new JTextField (55); campoTangente.setEditable(false); contenedor.add(campoTangente); //Fin del método INIT } public void actionPerformed (ActionEvent actionEvent) { double gra, min, seg, tot, totRad; String seno, coseno, tangente; gra= Integer.parseInt(campoGrado.getText()); min= Integer.parseInt(campoMinuto.getText()); seg= Integer.parseInt(campoSegundo.getText()); if (gra<0||gra>90) { showStatus ("El valor del ángulo en grados no es permitido"); JOptionPane.showMessageDialog(null, "Valor de grados no permitido= "+gra, "Error",JOptionPane.ERROR_MESSAGE); System.exit(0); } else if (min<0||min>59) { showStatus ("El valor de los minutos del ángulo no es permitido"); JOptionPane.showMessageDialog(null, "Valor de minutos no permitido= "+min,"Error",JOptionPane.ERROR_MESSAGE); System.exit(0); } else if (seg<0||seg>59) { showStatus ("El valor de los segundos del ángulo no es permitido"); JOptionPane.showMessageDialog(null, "Valor de segundos no permitido= "+seg,"Error",JOptionPane.ERROR_MESSAGE); System.exit(0); } showStatus ("Calculando…");
tot = gra + (min/60)+ (seg/3600); totRad=tot*Math.PI/180; seno="El valor del seno es "+Math.sin(totRad); coseno="El valor del coseno es "+Math.cos(totRad); tangente="El valor de la tangente es "+Math.tan(totRad); showStatus ("Terminado"); campoSeno.setText(seno); campoCoseno.setText(coseno); campoTangente.setText(tangente); }//Fin de Action Performed }