Tengo la siguiente expresion a la que le aplico varios negados.
!((3>x) || (x>7))
No entiendo como afecta el negado a :
- Los signos && y || (Osea si le aplico un negado a una expresion que tenga
(!(letra>='A' && letra<='Z'))
No se si hay algunos casos donde el negado transforma el && a un || o viceversa.
Tampoco entiendo como afecta el negado a los signos de mayor y menor.
Si los cambia o les pone mayor o igual o menor o igual.
He leido sobre leyes de demorgan pero no entiendo aun sobre en como afecta.
Si hablas de C++, '!' transforma los true en false y los false en true, sin más.
Si hablas de cómo negar una expresión sin englobarla con '!', suele bastar con invertir los operadores de comparación y lógicos (&&, ||).
Así pues, "a < b && b == c" quedaría: "a >= b || b != c".
Tu ejemplo: "!(letra>='A' && letra<='Z')". Podemos quitar el '!', invirtiendo lo de dentro, y quedaría: "letra<'A' || letra>'Z'".
El negado no cambia los operadores
Por teoría de lógica con "o" y "no" se hace "y" y "xor"
!(p || q)
p q
V V - F
V F - F
F V - F
F F - V
!(p && q)
p q
V V - F
V F - V
F V - V
F F - V
Para convertir "no" y "o" en "y"
!(!p || !q)
p q
V V - V
V F - F
F V - F
F F - F
Para convertir "no" y "y" en "o"
!(!p && !q)
p q
V V - V
V F - V
F V - V
F F - F
No se si esto es a lo que te refieres, tu tema no es muy claro