Como afecta el negado a este tipo de expresion en C?

Iniciado por palacio29, 13 Diciembre 2016, 16:07 PM

0 Miembros y 1 Visitante están viendo este tema.

palacio29

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.

ivancea96

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'".

engel lex

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


El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.