ALGUIEN QUIEN PUEDA RESOLVERLO
EVALUÉ LAS SIGUIENTES EXPRESIONES LOGICAS APLICANDO LAS REGLAS DE PRIORIDAD.
Asuma los valores a = 34, b = 12 y c = 8, x = 23, y = 7, i = 2, j = 34, A = 7, B = 5, C = 72, MINIMO = 2, MAXIMO = 4, contador = 3, encontrado= falso.
a) (b >= y) || (j >= a) && (c != A)
b) (C + (B * A) / i ) * b == MINIMO
c) ! ((c = x)
a) !((i > 4) || (j <= 6))
Respuestas
Respuesta:
a) (b >= y) || (j >= a) && (c != A)
=> (12 >= 7) || (34 >= 34) && (8 != 7)
=> verdadero || verdadero && verdadero
=> verdadero || (verdadero && verdadero)
=> verdadero || verdadero
=> verdadero
b) (C + (B * A) / i ) * b == MINIMO
=> (72 + (5 * 7) / 2) * 12 == 2
=> (72 + 35 / 2) * 12 == 2
=> (72 + 17) * 12 == 2 (suponiendo que A esté declarada como entero)
=> 89 * 12 == 2
=> 1068 == 2
=> falso
c) ! ((c = x) Aquí o sobra un paréntesis o falta algo. Supondré que sobra.
=> !(c = 8)
=> !8
Eso no estoy seguro de si da error (no tengo a mano un compilador), o si interpreta que la negación de un valor distinto de cero (verdadero) nos da falso como resultado. Supondré esto último.
=> falso.
d) !((i > 4) || (j <= 6))
=> !((2 > 4) || (34 <= 6))
=> !(falso || falso)
=> !falso
=> verdadero
He utilizado "verdadero" y "falso" en español porque veo que así está escrito en la variable "encontrado", pero tal vez se espere que pongas "true" y "false".
PD: Estoy pensando que en el apartado c) tal vez te hayas confundido y has puesto "=" en lugar de "==". En ese caso cambia, aunque el resultado es el mismo:
!(c == x)
=> !(8 == 8)
=> !verdadero
=> falso