Ley de idempotencia para el producto:
Ley de absorción para el producto:
Ley de identidad para el producto:
Ley de idempotencia para la suma:
Ley de absorción para la suma:
Ley de identidad para la suma:
Es la negada de la función “OR”:
En c++: ! ( a && b )
Tabla NOR
a | b | y |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
Es la negada de la función “AND”:
En c++: !( a && b )
Tabla NAND
a | b | ¬( a + b ) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Es la función OR excluyente: uno u otro, pero no los dos. Se puede utilizar para detectar señales que son distintas.
En c++: ( a || b ) && !( a && b )
Tabla XOR
a | b | a ⊕ b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Es la negada de la función “XOR”. Se puede utilizar para detectar señales que son iguales:
En c++: !( ( a || b ) && !( a && b ) )
Tabla XNOR
a | b | ¬(a ⊕ b) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Solución:
Aplicar la Ley Distributiva:
Simplificar:
Para ( A \cdot (A + B) ):
(por la Ley de Absorción)
Para ( \overline{B} \cdot (A + B) ):
Entonces:
Entonces:
Aplicar la Ley de Absorción:
Entonces la expresión simplificada es:
Expresión a simplificar:
Solución:
Simplificar por agrupación:
con la Ley de Distributiva:
Aplicar la Ley de Absorción:
La expresión no se simplifica más. Entonces:
Imaginemos que queremos que el sistema de alarma se active bajo ciertas condiciones:
P
).M
).A
).Queremos que la alarma suene si:
La lógica para activar la alarma se puede expresar como:
o en sintaxis de c++
(P || M) && (P || A)
Donde:
Expresión Inicial:
Aplicar Leyes de Booleanos:
Resultado Simplificado:
bool shouldActivateAlarm(bool doorOpen, bool motionDetected, bool alarmOn) {
return doorOpen && (motionDetected || alarmOn);
}
int main() {
bool doorOpen = true; // Puerta abierta
bool motionDetected = false; // No hay movimiento
bool alarmOn = true; // Alarma encendida
if (shouldActivateAlarm(doorOpen, motionDetected, alarmOn)) {
cout << "La alarma se activa.";
} else {
cout << "La alarma NO se activa.";
}
return 0;
}
para subir el problema I, deben ingresar manualmente al gym, darle en submit y elegir el problema https://codeforces.com/gym/102890/submit
Mencionar que or es suma y and es multiplicación
la barra es la negación