Problemas Lp2 Problema_1: Diseñe un programa que genere aleatoriamente los sueldos de n empleados de una empresa con valores en el intervalo de S/. 800 a S/. 1700 y determine: El sueldo promedio. El sueldo máximo. El sueldo mínimo. El número de empleados ganan un sueldo inferior a S/. 1000.
import java.awt.event.*; import java.awt.*; import javax.swing.*;
public class Problema_1 extends JApplet implements ActionListener{ // Declaración de variables miembro JButton btnProcesar, btnBorrar; JTextArea txtS; JLabel lblNumero; JTextField txtNumero; JScrollPane scpScroll;
//-------------------------------------------------------------------------// Crea la interfaz gráfica de usuario public void init() { getContentPane().setLayout(null);
txtNumero = new JTextField(); txtNumero.setBounds(105, 15, 100, 23); getContentPane().add(txtNumero);
btnProcesar = new JButton("Procesar"); btnProcesar.setBounds(321, 15, 100, 23); btnProcesar.addActionListener(this); getContentPane().add(btnProcesar);
btnBorrar = new JButton("Borrar"); btnBorrar.setBounds(220, 15, 100, 23); btnBorrar.addActionListener(this); getContentPane().add(btnBorrar);
lblNumero = new JLabel("Numero"); lblNumero.setBounds(15, 15, 90, 23); getContentPane().add(lblNumero);
txtS = new JTextArea(); txtS.setFont(new Font("monospaced", 0, 12));
scpScroll = new JScrollPane(txtS); scpScroll.setBounds(15, 53, 406, 250); getContentPane().add(scpScroll); } //-------------------------------------------------------------------------// Procesa eventos de tipo ActionEvent public void actionPerformed( ActionEvent e ){ if(e.getSource() == btnProcesar) procesar(); if(e.getSource() == btnBorrar) borrar(); } //-------------------------------------------------------------------------void borrar(){ txtNumero.setText(""); txtS.setText(""); txtNumero.requestFocus(); } //-------------------------------------------------------------------------int getN(){ return Integer.parseInt(txtNumero.getText()); } //-------------------------------------------------------------------------void procesar(){ int n;
n= getN(); //funcion con valor de retorno sueldosAleatorios(n); //procedimiento
}
void sueldosAleatorios(int n) { int sueldo,suma_suel=0,suel_max=800,suel_min=1700,cont_emp=0; double prom_suel; txtS.setText(""); for(int i=1;i<=n;i++) { sueldo = (int) ((1700-800+1)*Math.random()+800); // (int) ((MAX - MIN + 1)*Math.random()+MIN)
txtS.append(sueldo+"\n"); suma_suel += sueldo; if(sueldo>suel_max) suel_max = sueldo; if(sueldo
} prom_suel = suma_suel/(n*1.0);
txtS.append("El sueldo promedio de los "+n+" empleados es: S/."+prom_suel+"\n"); txtS.append("El sueldo maximo es: S/."+suel_max+"\n"); txtS.append("El sueldo minimo es: S/."+suel_min+"\n"); txtS.append("El numero de empleados que ganan menos de S/.1,000 es: "+cont_emp+"\n"); } }
Problema_2: Diseñe un programa que genere números aleatorios en el intervalo de 10 a 99 hasta obtener un número cuya suma de sus cifras sea igual a 4 ó 6. Muestre los números conforme se vayan generando y muestre al final: · La cantidad de números generados. · El mayor número generado. · El menor número generado. import java.awt.event.*; import java.awt.*; import javax.swing.*;
public class Problema_2 extends JApplet implements ActionListener{ // Declaración de variables miembro JButton btnProcesar, btnBorrar; JTextArea txtS; JLabel lblNumero; JScrollPane scpScroll;
//-------------------------------------------------------------------------// Crea la interfaz gráfica de usuario public void init() { getContentPane().setLayout(null);
btnProcesar = new JButton("Procesar"); btnProcesar.setBounds(321, 15, 100, 23); btnProcesar.addActionListener(this); getContentPane().add(btnProcesar);
btnBorrar = new JButton("Borrar"); btnBorrar.setBounds(220, 15, 100, 23); btnBorrar.addActionListener(this); getContentPane().add(btnBorrar);
lblNumero = new JLabel("Numero"); lblNumero.setBounds(15, 15, 90, 23); getContentPane().add(lblNumero);
txtS = new JTextArea(); txtS.setFont(new Font("monospaced", 0, 12));
scpScroll = new JScrollPane(txtS); scpScroll.setBounds(15, 53, 406, 250); getContentPane().add(scpScroll); } //-------------------------------------------------------------------------// Procesa eventos de tipo ActionEvent public void actionPerformed( ActionEvent e ){ if(e.getSource() == btnProcesar) procesar(); if(e.getSource() == btnBorrar) borrar(); } //-------------------------------------------------------------------------void borrar(){ txtS.setText("");
}
//-------------------------------------------------------------------------void procesar(){
numerosAleatorios(); //procedimiento }
void numerosAleatorios() { int num,cont_num=0,num_may=10,num_men=99,sum_cif,coc,res;
do { sum_cif = 0;
num = (int)((99-10+1)*Math.random()+10); txtS.append(num+"\n"); // ver numeros aleatorios en pantalla cont_num++; if(num > num_may) num_may = num; if(num < num_men) num_men = num; while(num>0) // descomposicion de un numero de n cifras { coc = num/10; res = num%10; sum_cif += res; num = coc; }
}while(!(sum_cif==4 || sum_cif==6)); //(!)---> negar s u proposicion para lograr valor falso
txtS.append("La cantidad de numeros generados es: "+cont_num+"\n"); txtS.append("El mayor maximo es: "+num_may+"\n"); txtS.append("El menor minimo es: "+num_men+"\n"); } }