Ad01

Ad02

viernes, 19 de junio de 2015

Desarrollar Algoritmos con el lenguaje de programación Java

1. Una persona deposita hoy al Banco cierta cantidad de dinero, donde le reconocen un interés del 2% mensual, capitalizado mensualmente. ¿Cuál será el saldo al cabo de 5 años? Formula a utilizar: Valor Futuro = Valor Presente * (1 + interes) ^ meses Para solucionar el Ejercicio, se requiere que usted desarrolle un algoritmo que le permita conocer a una persona ¿Cuál será el saldo al cabo de 5 años?, si deposita hoy cierta cantidad de dinero. Como resultado se debe imprimir en pantalla:

package Ejercicios;

import javax.swing.JOptionPane;

public class Ejercicio1
{
    public static void main(String[] args) {
       
        double valorPresente;
        int meses;
        double valorFuturo;
        int anios;
        valorPresente =Double.parseDouble(JOptionPane.showInputDialog(null,
        "Introduzca el valor presente de dinero" ));
        meses =Integer.parseInt(JOptionPane.showInputDialog(null,
        "Introduzca el numero de meses que su dinero ha estado en el banco"));
        valorFuturo = valorPresente*((double)Math.pow(1.02,meses));
        anios = meses/12;
        JOptionPane.showMessageDialog(null, "El valor consignado fue de "
        + valorPresente + " entonces el valor futuro en " + anios + " anios sera "
        + valorFuturo );
    }
}


2. Una frutería ofrece las manzanas a $4.200 el kilo, con un descuento de acuerdo a la siguiente tabla: Desarrollar un algoritmo que le permita a la frutería y al cliente conocer cuánto pagará un cliente que compre manzanas.Muestre los resultados así: La compra de N kilos tiene un valor de $, pero usted tiene un descuento por valor de $, por lo tanto el valor a pagar es: $.

package Ejercicios;

import javax.swing.JOptionPane;

public class Ejercicio2 
{
    public static void main(String[] args) {
        
        int kilos;
        double valorPagar;
        double valorReal;
        double descuento;
        kilos =Integer.parseInt(JOptionPane.showInputDialog(null, 
        "Ingrese el numero de kilos de manzana" ));
        if (kilos<=2) {
            valorPagar=kilos*4200;
            JOptionPane.showMessageDialog(null, "La compra de " 
            + kilos + " Kilos tiene un valor de " + valorPagar + " Usted tendrá "
                    + "que pagar la suma anteriormente mencionada porque su compra "
                    + "es poca y no tiene descuento ");
            }
        else if (kilos<=5) {
            valorPagar=(kilos*4200)-(kilos*4200)*0.1;
            valorReal=kilos*4200;
            descuento=(kilos*4200)*0.1;
            JOptionPane.showMessageDialog(null, "La compra de " 
            + kilos + " Kilos tiene un valor de " + valorReal + " pero usted tiene "
                    + "un descuento por valor de " + descuento
                    + "por lo tanto el valor a pagar es " + valorPagar);
            }
        else if (kilos<=10) {
            valorPagar=(kilos*4200)-(kilos*4200)*0.15;
            valorReal=kilos*4200;
            descuento=(kilos*4200)*0.15;
            JOptionPane.showMessageDialog(null, "La compra de " 
            + kilos + " Kilos tiene un valor de " + valorReal + " pero usted tiene "
                    + "un descuento por valor de " + descuento
                    + "por lo tanto el valor a pagar es " + valorPagar);
        }
        else {
            valorPagar=(kilos*4200)-(kilos*4200)*0.2;
            valorReal=kilos*4200;
            descuento=(kilos*4200)*0.2;
            JOptionPane.showMessageDialog(null, "La compra de " 
            + kilos + " Kilos tiene un valor de " + valorReal + " pero usted tiene "
                    + "un descuento por valor de " + descuento
                    + "por lo tanto el valor a pagar es " + valorPagar);
        }
  }
   
}



3. Dada la siguiente función: Y = x^2 – 2x Se requiere desarrollar un algoritmo que imprima en pantalla, para valores de x desde 1 a 10, lo siguiente: a) La suma de todos los valores de Y. b) Valores de Y múltiplos de 3. c) Suma de los valores de Y múltiplos de 3. d) Valores de Y cuyo último digito sea 5. e) Suma de los valores de Y cuyo último digito es 5.
package Ejercicios;
import javax.swing.JOptionPane;
public class Ejercicio3 
{
    public static void main(String[] args) {
        int suma;
        int suma3;
        int suma5;
        int ultimo5;
        int y;
        int x;
        suma=0;
        suma3=0;
        suma5=0;
        for (x=1; x<=10; x++) {
            y=(int)Math.pow(x,2)-2*x;
            suma=suma+y;
            if ((y%3)==0) {
            JOptionPane.showMessageDialog(null, y + " es un multiplo de 3 ");
            suma3=suma3+y;
        }
        }
        for (x=1; x<=10; x++) {
            y=(int)Math.pow(x,2)-2*x;
            ultimo5=y%10;
            if (ultimo5==5) {
            JOptionPane.showMessageDialog(null, y + " es un valor que tiene como ultimo digito 5 ");
            suma5=suma5+y;
        }
        }
        JOptionPane.showMessageDialog(null, "La suma de los valores que tiene "
        + "como ultimo digito 5 es " + suma5);
        JOptionPane.showMessageDialog(null, "La suma de los valores de y multiplos de 3 es "
        + suma3);
        JOptionPane.showMessageDialog(null, "La suma de todos los valores de y es "
        + suma); 
        
        
    }
}


4. Desarrollar un algoritmo que lea un número N entero positivo de cualquier número de dígitos, calcule la suma de sus dígitos y que imprima en pantalla el número leído y la suma de sus dígitos. Se requiere que en el desarrollo utilice la Estructura Cíclica Mientr
package Ejercicios;

import javax.swing.JOptionPane;

public class Ejercicio4 
{
    public static void main(String[] args) {
        double numero;
        double suma;
        double valor1;
        double valor2;
        double valor3;
        double valor4;
        numero=Double.parseDouble(JOptionPane.showInputDialog(null, 
        "Ingrese un número para hallarle la suma de sus dígitos " ));              
        suma=0;
        valor3=0;
        valor4=0; 
        valor1=numero/10;
        valor2=numero%10;
        suma=suma+valor2;
        valor1=valor1-(valor2*0.1);
        while (valor1>0) {
            valor3=valor1/10;
            valor4=valor1%10;
            suma=suma+valor4;
            valor1=valor3-(valor4*0.1);       
        }
        JOptionPane.showMessageDialog(null, "El numero ingresado fue " + numero
        + " y la suma de sus digitos es " + suma);      
        
              
        
        
    }
}


5. Desarrollar un algoritmo que calcule el salario neto que debe recibir un vendedor de un almacén. Se debe tener en cuenta si tiene derecho o no al auxilio de transporte. Para el desarrollo del ejercicio tenga en cuenta las siguientes formulas: Sueldo devengado = salario básico * días laborados / 30 Días laborados = debe ser entre 1 y 30. Auxilio de Transporte: Lo reciben los empleados cuyo salario básico sea menor o igual a 2 salarios mínimos legales vigentes.Salario Mínimo Legal Vigente (2013): 589500 Auxilio de Transporte = 70500 * días laborados / 30 (año 2013 en Colombia). Comisión de Ventas: En la empresa se tiene estipulado dar una comisión de ventas del 2% sobre las ventas del mes de cada vendedor. Total devengado = sueldo devengado + comisión de ventas. Total deducciones = descuentos por prestamos. Salario Neto = Total devengado – Total deducciones.
package Ejercicios;

import javax.swing.JOptionPane;

public class Ejercicio5 
{
    public static void main(String[] args) {
        int cedula; 
        String nombre;
        double sueldoDevengado;
        double salarioBasico;
        int dias;
        double auxilioTransporte;
        double ventas;
        double comisionVentas;
        double totalDevengado;
        double descuentoPrestamos;
        double totalDeducciones;
        double salarioNeto;
               
        cedula=Integer.parseInt(JOptionPane.showInputDialog(null, 
        "Ingrese el numero de identificacion del vendedor: " ));
        nombre=JOptionPane.showInputDialog(null, "Ingrese el nombre del vendedor:  ");
        salarioBasico=Double.parseDouble(JOptionPane.showInputDialog(null, 
        "Ingrese el salario basico: "));
        dias=Integer.parseInt(JOptionPane.showInputDialog(null, 
        "Ingrese el numero de dias laborados entre 1 y 30: " ));
        sueldoDevengado=(salarioBasico*dias)/30;
        if (salarioBasico<=(589500*2)) {
            auxilioTransporte=(70500*dias)/30;
        }
        else {
            auxilioTransporte=0;
        }
        ventas=Double.parseDouble(JOptionPane.showInputDialog(null, 
        "Ingrese el valor de las ventas: "));
        comisionVentas=ventas*0.02;
totalDevengado=sueldoDevengado+comisionVentas;
        descuentoPrestamos=Double.parseDouble(JOptionPane.showInputDialog(null, 
        "Ingrese los descuentos por prestamos: "));
        totalDeducciones=descuentoPrestamos;
        salarioNeto=totalDevengado-totalDeducciones;
        JOptionPane.showMessageDialog(null, "Cedula empleado: " + cedula + "\n"
        + "Nombre empleado: " + nombre + "\n" + "Salario basico: " + salarioBasico 
        + "\n" + "Auxilio de transporte: " + auxilioTransporte + "\n" 
                + "Comisicion de ventas: " + comisionVentas + "\n" + "Prestamos: "
                + descuentoPrestamos + "\n" + "Salario neto a recibir: " + salarioNeto);
        }
}


6. Hacer un algoritmo que imprima los primeros 20 términos de la siguiente serie: 1, 3, 6, 10, 15, 21, 28,……..

package Ejercicios;

import javax.swing.JOptionPane;

public class Ejercicio6 
{
    public static void main(String[] args) {
        int i;
        int n;
        for (n=1; n<=20; n++) {
            i=n*(n+1)/2;
            JOptionPane.showMessageDialog(null, "El termino " + n  
            + " de la serie es " + i);          
        }
    }
}


7. Desarrollar un algoritmo que permita calcular los siguientes datos de una fiesta: ¿Cuántas personas asistieron a la fiesta? ¿Cuántos hombres y cuantas mujeres? -Promedio de edades por sexo. -La edad de la persona más joven que asistió.Consideraciones: -No se permiten menores de edad a la fiesta. -Ingresar datos hasta que se ingrese una edad igual a cero.

package Ejercicios;

import javax.swing.JOptionPane;

public class Ejercicio7 
{
    public static void main(String[] args) {
        int edad;
        int sexo;
        int sumaHombres;
        int sumaMujeres;
        int sumaTotal;
        int promedioHombres;
        int promedioMujeres;
        int edadHombres;
        int edadMujeres;
        int edadJoven;
        sumaHombres=0;
        sumaMujeres=0;
        edadHombres=0;
        edadMujeres=0;
        edadJoven=100;
        JOptionPane.showMessageDialog(null, "Ingrese la edad como 0 cuando "
        + "quiera que el programa se detenga" + "\n" + "Ingrese una edad que "
        + "este por encima de 17 porque los menores de edad no estan   permitidos ");
        edad=Integer.parseInt(JOptionPane.showInputDialog(null, 
        "Ingrese la edad del invitado" ));
        while (edad>0) {
            JOptionPane.showMessageDialog(null, "Ingrese el sexo del invitado, "
            + "1 para hombre y 0 para mujer");    
            sexo=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese el"
            + "sexo del invitado, 1 para hombre y 0 para mujer" ));
            if (sexo==1) {
                sumaHombres=sumaHombres+1;
                edadHombres=edadHombres+edad;
            }
            else {
                sumaMujeres=sumaMujeres+1;
                edadMujeres=edadMujeres+edad;
            }
            if (edad<edadJoven && edad>18) {
                edadJoven=edad;        
            } 
            edad=Integer.parseInt(JOptionPane.showInputDialog(null, 
            "Ingrese la edad del invitado" ));    
        
        }
        sumaTotal=sumaHombres+sumaMujeres;
        promedioHombres=edadHombres/sumaHombres;
        promedioMujeres=edadMujeres/sumaMujeres;
        JOptionPane.showMessageDialog(null, "El numero de invitados que "
        + "asistieron a la fiesta fueron: " + sumaTotal + "\n" + "El numero de "
        + "hombres que asistieron a la fiesta fueron: " + sumaHombres + "\n" 
        + "El numero de mujeres que asistieron a la fiesta fueron: " + sumaMujeres 
        + "\n" + "El promedio de las edades de los hombres que asistieron a la "
        + "fiesta es: " + promedioHombres + "\n" + "El promedio de las edades de "
        + "las mujeres que asistieron a la fiesta es: " + promedioMujeres + "\n" 
        + "La edad de la persona mas joven es: " + edadJoven);
     
        
    }
}

8. Hacer un algoritmo que imprima el costo de una llamada telefónica, capturando la duración de la llamada en minutos y conociendo lo siguiente: •Toda llamada que dure tres minutos o menos tiene un costo de $200. •Cada minuto adicional cuesta $30.

package Ejercicios;

import javax.swing.JOptionPane;

public class Ejercicio8 
{
    public static void main(String[] args) {
        
        int duracion;
        int duracionAdicional;
        int totalPagar;
        duracion =Integer.parseInt(JOptionPane.showInputDialog(null, 
        "Ingrese la durancion de la llamada en minutos "));
        if (duracion<4) {
            JOptionPane.showMessageDialog(null, "Tiene que pagar $200" );
        }
        else {
            duracionAdicional=duracion-3;
            totalPagar=(duracionAdicional*30)+200;
            JOptionPane.showMessageDialog(null, "Tiene que pagar $" +totalPagar);
                  
        }   
        
    }
}

9. Un grupo de 10 estudiantes presentan un examen de Física. Hacer un algoritmo que lea por cada estudiante la calificación obtenida. Al finalizar calcule e imprima: •La cantidad de estudiantes que obtuvieron una calificación menor a 50. •La cantidad de estudiantes que obtuvieron una calificación de 50 o más pero menor que 80. •La cantidad de estudiantes que obtuvieron una calificación de 70 o más pero menor que 80. •La cantidad de estudiantes que obtuvieron una calificación de 80 o más. La calificación obtenida en el examen de física debe ser entre 1 y 100.

package Ejercicios;

import javax.swing.JOptionPane;

public class Ejercicio9 
{
    public static void main(String[] args) {
        
        double calificacion;
        int i;
        double sumaMenor50;
        double sumaMenor70;
        double sumaMenor80;
        double sumaMenor100;
        sumaMenor50=0;
        sumaMenor70=0;
        sumaMenor80=0;
        sumaMenor100=0;
        for (i=1; i<=10; i++) {
            calificacion=Double.parseDouble(JOptionPane.showInputDialog(null, 
            "Ingrese la calificacion del estudiante " ));
            while (1>calificacion || calificacion>100) {
            JOptionPane.showMessageDialog(null, "Calificacion fuera del rango" );      
            calificacion=Double.parseDouble(JOptionPane.showInputDialog(null, 
            "Ingrese de nuevo la calificacion del estudiante entre 1 a 100" ));
        
            }
        if (calificacion<50){
            sumaMenor50=sumaMenor50+1;
        }
        else if (calificacion<70){
            sumaMenor70=sumaMenor70+1;
        }
        else if (calificacion<80){
            sumaMenor80=sumaMenor80+1;
        }
        else {
            sumaMenor100=sumaMenor100+1;
        }
        }  
        JOptionPane.showMessageDialog(null, "La cantidad de estudiantes que "
        + "obtuvieron una calificacion menor a 50 es" + sumaMenor50 + "\n" 
        + "La cantidad de estudiantes que obtuvieron una calificacion menor a 70 es" 
        + sumaMenor70 + "\n" + "La cantidad de estudiantes que obtuvieron una "
        + "calificacion menor a 80 es" + sumaMenor80 + "\n" + "La cantidad de estudiantes"
        + " que obtuvieron una calificacion menor a 100 es" + sumaMenor100);
    }    
        
        
        
}

6 comentarios:

Ad3