viernes, 11 de diciembre de 2015

EJEMPLOS Y EJERCICIOS SOBRE IF-ELSE EN JAVA




I.              FUNDAMENTO TEORICO

1.1.        ESTRUCTURAS DE SELECCIÓN
(GUEVARA, 2011)Las estructuras de selección permiten modificar el flujo de un programa. La decisión de ejecutar un bloque de sentencias queda condicionada por el valor de una expresión lógica definida utilizando variables del programa.
En conclusión permite decidir si se ejecuta un bloque o no.

1.1.1.   ESTRUCTURA IF
(GARCIA DE JALON & IGNACIO RODRIGUEZ, 2000)
La estructura if se denomina estructura de selección única porque ejecuta un bloque de sentencias solo cuando se cumple la condición del if. Si la condición es verdadera se ejecuta el bloque de sentencias. Si la condición es falsa, el flujo del programa continúa en la sentencia inmediatamente posterior al if.

Una sentencia if tiene la siguiente sintaxis:



La condición es una expresión que evalúa un valor lógico, por lo que el resultado solo puede ser true o false. La condición siempre se escribe entre paréntesis. La selección se produce sobre el bloque de sentencias delimitado por llaves.

1.1.1.   ESTRUCTURA IF-ELSE
La estructura if-else se denomina de selección doble porque selecciona entre dos bloques de sentencias mutuamente excluyentes. Si se cumple la condición, se ejecuta el bloque de sentencias asociado al if. Si la condición no se cumple, entonces se ejecuta el bloque de sentencias asociado al else.
Una sentencia if-else tiene la siguiente sintaxis:


Al igual que en el if, la condición se debe escribir entre paréntesis. La selección depende del resultado de evaluar la condición. Si el resultado es true, se ejecuta el bloque de sentencias del if, en cualquier otro caso se ejecuta el bloque de instrucciones del else. Después de ejecutar el bloque de sentencias se ejecuta la sentencia inmediatamente posterior al if-else.

Ejemplos:
1. Se solicita leer un número entero positivo y determinar si es un número de 1, 2,3 o 4 cifras.

2.En un casino de juegos se desea mostrar los mensajes respectivos por el puntaje obtenido en el lanzamiento de tres dados de un cliente, de acuerdo a los siguientes resultados:
ü  Si los tres dados son seis, mostrar el mensaje “Excelente”
ü  Si dos dados se obtiene seis, mostrar el mensaje “Muy bien”
ü  Si un dado se obtienen seis, mostrar el mensaje “Regular”
ü  Si ningún dado se obtiene seis, mostrar el mensaje “Pésimo”

II.      EJERCICIOS PROPUESTOS
2.1.Ingresar tres números enteros y determinar cuál es el mayor.
2.2.Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: 
  • Si trabaja 40 horas o menos se le paga $16 por hora 
  • Si trabaja más de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra.

2.3. En el Mercado se hace un 20% de descuento a los clientes cuya compra supere los 300 .¿Cuál será la cantidad que pagara una persona por su compra? 
2.4.Una persona enferma, que pesa 70kg. Se encuentra en reposo y desea saber cuántas calorías consume durante todo el tiempo que realice una misma actividad. Las actividades que tiene permitido realizar son únicamente dormir o estar sentado en reposo.Los datos que tiene son estando dormido consume 1.08 calorías por minuto y estando sentado en reposo consume 1.66 calorías por minuto.
2.5.Un hombre desea saber cuánto dinero se genera por concepto de interés, sobre la cantidad que tiene en inversión en el banco. Él decidirá reinvertir los intereses siempre y cuando estos exceda a $7000, y en ese caso desea saber cuánto dinero tendrá finalmente en su cuenta.

III.            CONCLUSIONES Y RECOMENDACIONES

Las estructuras de control if-else nos permite decidir si se ejecuta o no un bloque, y nos posibilita definir las acciones que se deben llevar a cabo si se cumple cierta condición y también determinar las acciones que se deben ejecutar en caso de que no se cumpla.

Les recomendaría que si quieren programar con las estructuras if_else es importante que primero entiendan la sintaxis de ellas cómo funcionan, por qué hay un if y por qué hay un else.
Ya que si no saben la sintaxis y el funcionamiento de cada uno de ellos, tendrán problemas al momento de querer usarlas en su programa.


Bibliografía

GARCIA DE JALON, J., & IGNACIO RODRIGUEZ, J. (2000). APRENDA JAVA COMO SI ESTUVIERA EN PRIMERO. NAVARRA: UNIVERSIDAD DE NAVARRA.
GUEVARA, J. M. (2011). FUNDAMENTOS DE PROGRAMACION JAVA. MADRID: EME.


  REFERENCIAS ELECTRONICAS

[1]APRENDA JAVA COMO SI ESTUVIERA EN PRIMERO


[2]FUNDAMENTOS DE PROGRAMACION JAVA

15 comentarios:

  1. Ayuda por favor


    Ingresar un número entero positivo de tres dígitos averiguar si el dígito central es par, en caso afirmativo emitir un mensaje q diga “dígito central par” (usar condicional simple )

    ResponderBorrar
  2. public class ·· {
    public static void main (String args[])
    {

    int ncualquiera1PrimeraCifra;
    int ncualquiera2DAcifra;
    int NparUltimaCifra;

    Scanner leer = new Scanner(System.in);

    ncualquiera1PrimeraCifra = leer.in;
    int ncualquiera2DAcifra = leer.in;
    int NparUltimaCifra = leer.in;

    if(NparUltimaCifra == 2){
    system.out.println("es par " + int ncualquiera1PrimeraCifra + ncualquiera2DAcifra + int NparUltimaCifra);
    }else if(NparUltimaCifra == 4){
    system.out.println("es par " + int ncualquiera1PrimeraCifra + ncualquiera2DAcifra + int NparUltimaCifra);
    }
    else if(NparUltimaCifra == 6){
    system.out.println("es par " + int ncualquiera1PrimeraCifra + ncualquiera2DAcifra + int NparUltimaCifra);
    }
    if(NparUltimaCifra == 8){
    system.out.println("es par " + int ncualquiera1PrimeraCifra + ncualquiera2DAcifra + int NparUltimaCifra);
    }else
    {system.out.println("es impar" + int ncualquiera1PrimeraCifra + ncualquiera2DAcifra + int NparUltimaCifra);
    }
    }

    ResponderBorrar
  3. String num = JOptionPane.showInputDialog("Introduce numero de tres cifras");
    if(num.charAt(1)=='0' || num.charAt(1)=='2' || num.charAt(1)=='4' || num.charAt(1)=='6' || num.charAt(1)=='8'){
    System.out.println("El segundo digito es un numero par");
    }else {
    System.out.println("El segundo digito NOO es un numero par");
    }

    ResponderBorrar
  4. Escriba un programa que pida una letra minúscula, el programa deberá imprimir si la letra es una vocal (a,e,i,o,u), semivocal (y) o una consonante.

    ResponderBorrar
    Respuestas
    1. String palabra = JOptionPane.showInputDialog("Introduzca su letra:");

      if (palabra.toLowerCase().equals("a") || palabra.toLowerCase().equals("e") || palabra.toLowerCase().toLowerCase().equals("i") || palabra.toLowerCase().equals("o") || palabra.toLowerCase().equals("u")) {
      System.out.println("Es una vocal");
      }else if (palabra.toLowerCase().equals("b") || palabra.toLowerCase().equals("c") || palabra.toLowerCase().equals("d") || palabra.toLowerCase().equals("f")
      || palabra.toLowerCase().equals("g") || palabra.toLowerCase().equals("h") || palabra.toLowerCase().equals("j") || palabra.toLowerCase().equals("k")
      || palabra.toLowerCase().equals("l") || palabra.toLowerCase().equals("m") || palabra.toLowerCase().equals("n") || palabra.toLowerCase().equals("ñ") ||
      palabra.toLowerCase().equals("p") || palabra.toLowerCase().equals("q") || palabra.toLowerCase().equals("r")||palabra.toLowerCase().equals("s")
      || palabra.toLowerCase().equals("t")||palabra.toLowerCase().equals("v")|| palabra.toLowerCase().equals("w")||palabra.toLowerCase().equals("x")
      ||palabra.toLowerCase().equals("z")) {
      System.out.println("Es una consonante");
      }else if (palabra.toLowerCase().equals("y")){
      System.out.println("Es una semi vocal");
      }else{
      System.out.println("Es otro caracter");
      }

      Borrar
  5. import java.util.*;
    public class estructuraIFELSE3 {

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    String vocal="a, e, i, o, u";
    String semivocal="y";
    Scanner teclado=new Scanner(System.in);
    System.out.println("Introduce una letra en míniscula");
    String letra=teclado.nextLine();

    if(letra ==vocal) {
    System.out.println(letra+" Es una vocal");
    }else {
    if(letra==semivocal) {
    System.out.println(letra+" Es una semivocal");
    }else {
    if(letra!=vocal || letra!=semivocal) {
    System.out.println(letra+" Es una consonante");
    }
    }

    }
    }

    }


    podria ser asi? y si no lo fuese, alguien me puede decir los errores!!!

    ResponderBorrar
  6. El igual igual solo funciona con numeros, en ese caso se deberia usar el .Equal creo

    ResponderBorrar
  7. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  8. Alguien podria ayudarme con el ejercicio de salario, sólo lo pude resolver creando 4 constantes. :(

    int horasalario = Integer.parseInt(JOptionPane.showInputDialog("Introduce las horas trabajadas:"));

    int salariofinal;
    final int horamenor = 16;
    final int horamayor = 20;
    final int desc = 800;
    final int agregado = 640;

    if (horasalario <= 40 ) {
    salariofinal = horasalario * horamenor;
    JOptionPane.showMessageDialog(null, "El salario es:" + salariofinal);

    }else if (horasalario > 40) {

    salariofinal = (horasalario * horamayor - desc + agregado);


    JOptionPane.showMessageDialog(null, "El salario es:" + salariofinal);
    }

    ResponderBorrar
    Respuestas
    1. yo lo hice de esta manera, asumiendo q las horas son horas completas :
      import java.util.Scanner;

      public class propuesto04 {
      public static void main(String args[]){

      int horas;
      int salario;
      int hExtras;
      System.out.println("cuantas horas traajo el obrero ? ");

      Scanner sc= new Scanner(System.in);

      horas=sc.nextInt();

      if(horas<=40){
      salario=horas*16;
      System.out.println("el salario es : "+salario);
      }else {
      hExtras=horas-40;
      salario=(40*16)+(hExtras*20);
      System.out.println("el salario es: "+salario);
      }

      }

      }

      Borrar
  9. También si podrían decirme si este otro ejercicio es correcto?
    String actividad;
    float horas;
    float dato;
    actividad = JOptionPane.showInputDialog("Introduce el tipo de actidad que hacia:");
    horas = Integer.parseInt(JOptionPane.showInputDialog("Introduce la candad de horas:"));

    if (actividad.equals("dormir") ) {
    dato = (horas * 1.08f);
    JOptionPane.showMessageDialog(null, "Las calorias quemadas son:"+" "+ dato);

    }else if (actividad.equals("sentar")) {
    dato = (horas * 1.66f);
    JOptionPane.showMessageDialog(null, "Las calorias quemadas son:"+" "+ dato);
    }else {
    JOptionPane.showMessageDialog(null, "Introduce una actidad correcta");
    }

    ResponderBorrar
  10. 4. Una tienda de motocicletas tiene una promoción de fin de año que consiste en el siguiente. Las motos marca HONDA tienen un descuento del 5%, las de marca YAMAHA del 8% y las SUZUKI el 10%, las de otras marcas el 2%. Calcular el Valor Neto a pagar.

    ResponderBorrar
  11. Ayuda porfavor es urgente el ejercicio dice:

    La empresa 3 puntos necesita saber cuánto le deben pagar a su vendedor cada fin de mes Si tiene las siguientes condiciones. El vendedor gana 50 diarios, debe vender mínimo al día 150, si el vendedor vende menos de 4500 tiene una comision de 3% de lo contrario tendrá una comisión del 5% ese vendedor no cuenta con prestaciones

    ResponderBorrar
  12. Realizar un programa que simule, mediante una función denominada cuenta,
    como el ordenador cuenta por pantalla, desde 0 hasta un número a determinar por el usuario. Dicho número se pide en la función principal y se envía a la función cuenta por valor, donde se irán imprimiendo.

    ResponderBorrar