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
||

Soluciones
Solución ejercicio 1:

a) (X && Y) || (X && Z) " true
   (T && F) || (T && T)
       F    ||    T
             T
b) (X || !Y) && (!X || Z) " true
   (T || !F) && (!T || T)
   (T ||  T) && (F  || T)
       T     &&      T
              T
c) X || Y && Z " true
   T || F && T
   T ||   F
     T
d) !(X || Y) && Z " false
   !(T || F) && T
       !T    && T
        F    && T
              F
e) X || Y || X && !Z && !Y " true
   T || F || T && !T && !F 
   T || F || T && F  && T
   T || F ||   F     && T
   T || F ||          F
     T    ||          F
           T
f) !X || !Y || Z && X && !Y " true
   !T || !F || T && T && !F
    F || T  || T && T && T
    F || T  ||   T    && T
    F || T  ||        T
       T    ||        T
             T

Solución ejercicio 2:

a) W || Y && X && W || Z " false
   F || T && T && F || F
   F ||    T   && F || F
   F ||        F    || F
      F             || F
                    F
b) X && !Y && !X || !W && Y " true
   T && !T && !T || !F && T
   T && F  && F  ||  T && T
      F    && F  ||  T && T
            F    ||    T
                  T
c) !(W || !Y) && X || Z " true
   !(F || !T) && T || F
   !(F ||  F) && T || F
       !F     && T || F
        T     && T || F
              T    || F
                   T
d) X && Y && W || Z || X " true
   T && T && F || F || T
     T    && F || F || T
          F    || F || T
                F   || T
                    T
e) Y || !(Y || Z && W) " true
   T || !(T || F && F)
   T || !(T ||    F  )
   T || !(   T       )
   T || F
     T
f) !X && Y && (!Z || !X) " false
   !T && T && (!F || !T)
    F && T && (T  ||  F)
    F && T &&     T
      F    &&     T
            F


3 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
  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