Como programar en Java 10ma [Respuesta - Cap2] Parte 3

Solución del capítulo 2 del libro Como programar en Java 10ma edición (deitel) Parte 3

Para resolver los ejercicios solo se uso, lo aprendido en el capítulo dos, así que se omitió el uso de instrucciones de repetición y/o cualquier tema avanzado.

Ejercicio 2.28


// Ejercicio 2.28
// diámetro, circunferencia y área de un círculo usando Math.PI
import java.util.Scanner;
public class Ejercicio2_28
{
    public static void main(String[]args)
    {
        int a;
        Scanner entrada = new Scanner(System.in);
        
        System.out.print("ingrese el radio de un circulo: ");
        a = entrada.nextInt();
        System.out.println("Diametro " + (2*a));
        System.out.printf("%s %f %n", "Circunferencia", (2*Math.PI*a));
        System.out.print("Area " + (a*a));
    }
}

Ejercicio 2.29


// Ejercicio 2.29
// Valor entero de un carácter, convertir un carácter a su valor numérico
// En este ejercicio se esta haciendo un "casteo" de carácter a entero

public class Ejercicio2_29
{
    public static void main(String[]args)
    {
        System.out.printf("%d, %d, %d%n", ((int)'A'), ((int)'B'), ((int)'C'));
        System.out.printf("%d, %d, %d%n", ((int)'a'), ((int)'b'), ((int)'c'));
        System.out.printf("%d, %d, %d%n", ((int)'0'), ((int)'1'), ((int)'2'));
        System.out.printf("%d, %d, %d, %d, %c%n", ((int)'$'), ((int)'*'), ((int)'+'), ((int)'/'), ((int)' '));
    }
}

Ejercicio 2.30


// Ejercicio 2.30
// Separación de lo dígito en un entero
// ingresar un número de 5 dígitos y separar
// sus cifras por tres espacios.
import java.util.Scanner;

public class Ejercicio2_30
{
    public static void main(String[]args)
    {
        int a,b,c,d;
        Scanner entrada = new Scanner(System.in);
        
        System.out.print("Ingresa un numero de 5 cifras: ");
        a = entrada.nextInt();
        // vamos a condicionar para que el cálculo solo se
        // realice con números de 5 cifras.
        if (a>9999)
            if (a<100000)
            
            /* el printf se separó para poder ver mejor el
            código y saber cómo se calcula cada cifra.
            Por precedencia los cálculos se realizan de 
            izquierda a derecha para estos operadores, 
            le puse los () solo por apariencia*/

            System.out.printf("%d   %d   %d   %d   %d",
            
             a/10000,
      
            (a%10000)/1000,
       
            (a%10000%1000)/100,

            (a%10000%1000%100)/10,

            (a%10000%1000%100%10));

        if (a>99999)
            System.out.print("Este numero tiene mas de 5 cifra!!!");
        if (a<10000)
            System.out.print("Este numero tiene menos de 5 cifras!!");
    }
}

Ejercicio 2.31


// Ejercicio 2.31
// "tabla de cuadrado y cubos" programa que muestra
// el cuadrado y cubo del 0 al 10.
public class Ejercicio2_31
{
    public static void main(String[]args)
    {
        System.out.println("numero\tnumero\tnumero");
        //como se trata del 0 y 1 no los multiplique
        System.out.println("0\t0\t0");
        System.out.println("1\t1\t1");
        // en lugar de colocar solo los resultados hice
        // java multiplique los números para sacar los
        // cuadrados y cubos.
        System.out.println("2\t" + 2*2 + "\t" + 2*2*2);
        System.out.println("3\t" + 3*3 + "\t" + 3*3*3);
        System.out.println("4\t" + 4*4 + "\t" + 4*4*4);
        System.out.println("5\t" + 5*5 + "\t" + 5*5*5);
        System.out.println("6\t" + 6*6 + "\t" + 6*6*6);
        System.out.println("7\t" + 7*7 + "\t" + 7*7*7);
        System.out.println("8\t" + 8*8 + "\t" + 8*8*8);
        System.out.println("9\t" + 9*9 + "\t" + 9*9*9);
        System.out.println("10\t" + 10*10 + "\t" + 10*10*10);
    }
}

Ejercicio 2.32

// Ejercicio 2.32
// valores negativos, positivos y cero
// programa que recibe cinco números y te muestra
// cuanto de ellos son negativos, positivos y ceros.

import java.util.Scanner;

public class Ejercicio2_32
{
    public static void main(String[]args)
    {
        int a,b,c,d,e,f,g,h;
        /*se asigna el valor cero ante de empezar 
        si ningún número cumple con la condiciones este
        sera el numero que mostrará el contador*/
        f=0;
        g=0;
        h=0;
        Scanner entrada = new Scanner(System.in);
        System.out.println("Ingresa el primer numero: ");
        a = entrada.nextInt();
        System.out.println("Ingresa el segundo numero: ");
        b = entrada.nextInt();
        System.out.println("Ingresa el tercer numero: ");
        c = entrada.nextInt();
        System.out.println("Ingresa el cuarto numero: ");
        d = entrada.nextInt();
        System.out.println("Ingresa el quinto numero: ");
        e = entrada.nextInt();
        if (a>0)
            f=1;
        if (b>0)
        /*la asignación se opera de izquierda a derecha
        entonces convocamos el valor guardado en f y le
        sumamos una unidad, y por último lo guardamos en 
        la misma variable, aumentando su valor.*/
            f=f+1;
        if (c>0)
            f=f+1;
        if (d>0)
            f=f+1;
        if (e>0)
            f=f+1;

        if (a<0)
            g=1;
        if (b<0)
            g=g+1;
        if (c<0)
            g=g+1;
        if (d<0)
            g=g+1;
        if (e<0)
            g=g+1;

        if (a==0)
            h=1;
        if (b==0)
            h=h+1;
        if (c==0)
            h=h+1;
        if (d==0)
            h=h+1;
        if (e==0)
            h=h+1;
        System.out.printf("%s%d%n","La cantidad de numeros positivos es:", f);
        System.out.printf("%s%d%n","La cantidad de numeros negativos es:", g);
        System.out.printf("%s%d","La cantidad de ceros es:", h);
    }
}

Marcando la diferencia


Ejercicio 2.33


// Ejercicio 2.33
// Calculadora del índice de masa corporal (BMI)

import java.util.Scanner;

public class Ejercicio2_33
{
    public static void main(String[]args)
    {
        //solo se usará datos tipo int (entero)

        int a,b,c;
        Scanner entero = new Scanner(System.in);

        System.out.print("Ingresa tu peso en Kilogramos: ");
        a = entero.nextInt();
        /* cambiaremos los m por cm, por que si ingresamos 1.8
        de altura saldra un error, ya que solo se acepta enteros*/
        System.out.print("Ingresa tu altura en metros: ");
        b = entero.nextInt();

        /* se usará el printf para mostrar los resultados en decimales
        gracias al especificador de formato %f.

        Se multiplica por 10000 al dividendo debido a que se está
        usando centímetros en el divisor y en la fórmula original
        se usa metros. Este cambio evita que el usuario ingrese en 
        decigramos en lugar de kilogramos*/

        System.out.printf("%s %f %n", "BMI:", (a*10000.0)/(b*b));
        /* se una el decimal cero en 10000 para que el especificador %f
        reconozca la operación con valores decimales*/

        System.out.println("VALORES DE BMI");
        System.out.println("Bajo peso:\tmenos e 18.5");
        System.out.println("Normal:\t\tentre 18.5 y 24.9");
        System.out.println("Sobrepeso:\tentre 25 y 29.9");
        System.out.println("Obeso:\t\t30 a mas");


    }
}

Ejercicio 2.34


Formula de crecimiento mundial:
  •  P=P° (1+i)^t)
Link

Indice de crecimiento mundial:
  • 1.1%
Link

Población mundial actual
  • 7770940000 personas
Link


// Ejercicio 2.34
// Calculadora el crecimiento de la población mundial

import java.util.Scanner;

public class Ejercicio2_34
{
    public static void main(String[]args)
    {
        int a;
        Scanner entrada = new Scanner(System.in);
        System.out.print("Ingresa la poblacion actual: ");
        a = entrada.nextInt();
        System.out.println("Poblaci\u00f3n estimada:");
        System.out.printf("%s %f %n", "a\u00f1o 1 :", a*(1+0.011));
        System.out.printf("%s %f %n", "a\u00f1o 2 :", a*1.011*1.011);
        System.out.printf("%s %f %n", "a\u00f1o 3 :", a*1.011*1.011*1.011);
        System.out.printf("%s %f %n", "a\u00f1o 4 :", a*1.011*1.011*1.011*1.011);
        System.out.printf("%s %f", "a\u00f1o 5 :", a*1.011*1.011*1.011*1.011*1.011);
    }
}

Ejercicio 2.25


Se podría sacar una formula simple para hallar el consumo a través de los datos que el ejercicio necesita, pero en este caso no pide que Investiguemos paginas web. asi que encontre esta pagina

https://www.motor.mapfre.es/consejos-practicos/consejos-para-ahorrar/como-calcular-consumo-gasolina/

Teniendo como fórmula

=(Total de km conducidos por dia / Promedio de km por litro)*costo por litro de gasolina

a esta formula solo le sumamos las cuotas de estacionamiento y peaje por dia, para cumplir con el reto del ejercicio.

Formula final

=((Total de km conducidos por dia / Promedio de km por litro)*costo por litro de gasolina) + cuotas de estacionamiento por dia + peaje por dia.

// Ejercicio 2.35
// Calculadora de ahorro por viaje compartidos de automóvil

import java.util.Scanner;

public class Ejercicio2_35
{
    public static void main(String[]args)
    {
        int a,b,c,d,e;
        Scanner entrada = new Scanner(System.in);
        System.out.println("\"Ingresa solo valores enteros\"");
        System.out.print("Ingresa el total de kilometros conducidos por dia: ");
        a = entrada.nextInt();
        System.out.print("Ingresa el costo por litros de gasolina: ");
        b = entrada.nextInt();
        System.out.print("Ingresa el promedio de kilometros por litro: ");
        c = entrada.nextInt();
        System.out.print("Ingresa las cuotas de estacionamiento por dia: ");
        d = entrada.nextInt();
        System.out.print("peaje por dia: ");
        e = entrada.nextInt();
        /* como se vio en el ejercicio 2.33 el especificador de factores %f,
        entregará un error si solo calcula valores enteros por eso multiplico por 1.0 
        siendo prácticamente 1 y el resultado no se afecta.*/
        System.out.printf("%s %f", "El costo diario de conducir su automovil es:", ((a/c)*b*1.0)+d+e);
    }
}

Comentarios

  1. Hola! Qué tal?

    Basado en el Ej 2.30 que te parece hecho de esta forma?
    Sabés si la forma en que vos hiciste el ejercicio tiene algún beneficio con respecto a como yo hice la selección de dígitos de forma mas resumida?

    import java.util.Scanner;

    public class Ej_2_30 {

    public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);

    System.out.println("Escriba un numero de cinco digitos:");
    int num = entrada.nextInt();

    if (num > 9999) {
    if (num < 100000) {

    System.out.printf("%d ", num / 10000);
    System.out.printf("%d ", num % 10000 / 1000);
    System.out.printf("%d ", num % 1000 / 100);
    System.out.printf("%d ", num % 100 / 10);
    System.out.printf("%d\n", num % 10);

    }

    }

    if (num > 99999) {
    System.out.println("Este numero tiene mas de 5 cifras!!!");
    }

    if (num < 10000) {
    System.out.println("Este numero tiene menos de 5 cifras!!!");
    }

    }
    }

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar

Publicar un comentario