Ejercicios sobre operadores lógicos Java

Ejercicios sobre operadores lógicos Java
Ejercicio 1: Si X, Y y Z son variables de tipo boolean con valores X = true, Y = false, Z = true, determina el valor de las siguientes expresiones lógicas:

a) (X && Y) || (X && Z)                 b) (X || !Y)&& (!X || Z)

c) X || Y && Z                          d) !(X || Y) && Z 

e) X || Y || X && !Z && !Y              f) !X || !Y || Z && X && !Y
Ejercicio 2: Si W, X, Y y Z son variables de tipo boolean con valores W = false, X = true, Y = true, Z = false, determina el valor de las siguientes expresiones lógicas:
a) W || Y && X && W || Z                b) X && !Y && !X || !W && Y

c) !(W || !Y) && X || Z                 d) X && Y && W || Z || X

e) Y || !(Y || Z && W)                  f) !X && Y && (!Z || !X)
Para resolver ejercicios con operadores lógicos tienes que conocer las tablas de verdad de estos operadores:

Operador AND

Operador OR

Operador NOT
A
B
A && B

A
B
A || B

A
!A
F
F
F

F
F
F

T
F
F
T
F

F
T
T

F
T
T
F
F

T
F
T



T
T
T

T
T
T



Como puedes observar:
  • El operador lógico && (AND) da como resultado true cuando ambos operandos son true, en cualquier otro caso el resultado es false.
  • El operador || (OR) da como resultado false cuando ambn cualquier otro caso el resultado es true.
  • El operador ! (NOT) cambia el valor lógico del operando.
También debemos tener en cuenta para resolver estos ejercicios cuál es la precedencia de los operadores lógicos en Java:

Precedencia de los operadores lógicos
Mayor precedencia
!

&&
Menor Precedencia
||


Puedes encontrar más ejercicios para seguir practicando en este libro.


Contiene ejercicios resueltos sobre los conceptos básicos del lenguaje java: Declaración de variables, literales, tipos de datos, operadores, crear expresiones algebraicas correctas, etc.

Las soluciones de los ejercicios incluyen una explicación detallada sobre cómo se ha resuelto.

El contenido del libro es una recopilación de ejercicios realizados en mis clases de Programación en los ciclos formativos de grado superior Desarrollo de aplicaciones web y Desarrollo de aplicaciones multiplataforma.

Soluciones
Solución ejercicio 1:

a) (X && Y) || (X && Z) => true             b) (X || !Y) && (!X || Z) => true
   (T && F) || (T && T)                        (T || !F) && (!T || T)
       F    ||    T                            (T ||  T) && (F  || T)
             T                                     T     &&      T

                                                         T
c) X || Y && Z => true                      d) !(X || Y) && Z => false
   T || F && T                                 !(T || F) && T
   T ||   F                                        !T    && T
     T                                              F    && T
                                                         F                       
   
                    
e) X || Y || X && !Z && !Y => true          f) !X || !Y || Z && X && !Y => true
   T || F || T && !T && !F                     !T || !F || T && T && !F
   T || F || T && F  && T                       F || T  || T && T && T
   T || F ||   F     && T                       F || T  ||   T    && T
   T || F ||          F                         F || T  ||        T
     T    ||          F                            T    ||        T
           T                                            T

Solución ejercicio 2:

a) W || Y && X && W || Z => false            b) X && !Y && !X || !W && Y => true
   F || T && T && F || F                        T && !T && !T || !F && T
   F ||    T   && F || F                        T && F  && F  ||  T && T
   F ||        F    || F                           F    && F  ||  T && T
      F             || F                                 F    ||    T
                    F                                         T


c) !(W || !Y) && X || Z => true              d) X && Y && W || Z || X => true
   !(F || !T) && T || F                         T && T && F || F || T
   !(F ||  F) && T || F                           T    && F || F || T
       !F     && T || F                                F    || F || T
        T     && T || F                                      F   || T
              T    || F                                          T
                   T


e) Y || !(Y || Z && W) => true               f) !X && Y && (!Z || !X) => false
   T || !(T || F && F)                          !T && T && (!F || !T)
   T || !(T ||    F  )                           F && T && (T  ||  F)
   T || !(   T       )                           F && T &&     T
   T || F                                          F    &&     T
     T                                                  F

10 comentarios:

  1. Buenas tardes, hay un error en la solución del ejercicio, pues en el inciso f) usted escribió que el ejercicio es: !X && Y && (!Z || !X) cuando el enunciado correcto es
    !X || !Y || Z && X && !Y por lo que el resultado me da T, espero mi respuesta sea correcta asi como la corrección pertinente, gracias, buen dia.

    ResponderEliminar
    Respuestas
    1. hola mi nombre es Johnny ya vi el error y no, no esta en el ejercicio mas bien es una percepción de ubicación de buscar el resultado, estas mirando el resultado equivocado de la primera sección f) la f del primer ejercicio a la f) del segundo ejercicio. espero te sea útil. bay

      Eliminar
  2. buenaaas,
    tambien vi el error al corroborar los ejercicios resueltos, y mi resultado fue True.
    :-D

    ResponderEliminar
  3. Gracias a los dos por avisar, estaba repetido el apartado f) del ejercicio 2. Ya está corregido.

    ResponderEliminar
    Respuestas
    1. hola enrique, que pena ya habias hecho las correccion, exelente dia.

      Eliminar
  4. Hola buen dia, muy buenos ejercicios y de mucha ayuda :D
    GRACIAS

    ResponderEliminar
  5. yo digo que me fue de muy buena ayuda estos operadores logicos, les doy las gracias..

    ResponderEliminar
  6. las operaciones siguientes: A VERDAD: B-FALSO, C-VERDAD; D-FALSO

    (2 PUNTOS)

    A) (DANS C) OR (A AND B) B) (NOT (A AND B)) AND (D OR C)

    C) CA AND D) OR (BOR C) D) (NOT(A AND C)) OR (D AND B) puedes resolver esto

    ResponderEliminar
  7. estoy aprendiendo java, pregunta: como definis el codigo no comprendo la sintaxis, yo lo hago así
    boolean x = true, z = true;
    boolean y = false;
    boolean operacion = (x && y) || (x && z);

    System.out.println("el valor es "+operacion);

    ResponderEliminar