Sei sulla pagina 1di 8

Los operadores lgicos producen un resultado booleano, y sus operandos son tambin valores lgicos o asimilables a ellos (los

valores numricos son asimilados a cierto o falso segn su valor sea cero o distinto de cero). Por contra, recuerde que las operaciones entre bits producen valores arbitrarios. Los operadores lgicos son tres; dos de ellos son binarios, el ltimo (negacin) es unario. Tienen una doble posibilidad de representacin en el Estndar C++ actual: la representacin tradicional que se indica a continuacin, y la natural introducida recientemente que se detalla ms adelante .

Y lgico &&
O lgico ||

AND
OR

Negacin lgica ! NOT Las expresiones conectadas con los operadores && y || se evalan de izquierda a derecha, y la evaluacin se detiene tan pronto como el resultado verdadero o falso es conocido (muchos programas tienen una lgica que se basa en este propiedad).

Las reglas de construccin sintcticas son: Un smbolo slo no es una frmula Los operadores unarios se anteponen al smbolo. Los operadores binarios se sitan entre los smbolos. Los parntesis han de estar bien formados, y ha de haber tantos parntesis de abertura como de cierre: Son correctos: (p), p and (q), p or ((not q) and r)... No son correctos: (), (p (or) q), p and (q or (not r)... Son frmulas: p, not p, p and q, p xor (not q), not (p -> q)... Hemos hablado de operadores unarios y binarios. Los primeros afectan slo a un smbolo o frmula, en cambio los segundos afectan a los 2 smbolos o frmulas que haya a su izquierda y derecha. Una frmula es cualquier combinacin de elementos que cumplan las reglas sintcticas. Por ejemplo, si tengo un smbolo p: "hace fro". La frmula not p equivale a "no hace fro". De los smbolos no hay nada ms que decir, son letras minsculas del alfabeto. En cuanto a los operadores lgicos, no vamos a verlos todos, slo los necesarios para comprender la lgica que despus aplicaremos a la programacin. Cada operador est representado por un smbolo:

AND y OR trabajan con dos operandos y retornan un valor lgico basadas en las denominadas tablas de verdad. El operador NOT acta sobre un operando. Estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria, por ejemplo: "si hace sol Y tengo tiempo, ir a la playa", "si NO hace sol, me quedar en casa", "si llueve O hace viento, ir al cine". Las tablas de verdad de los operadores AND, OR y NOT se muestran en las tablas siguientes El operador lgico AND

x true true false false

y true false true false

resultado true false false false

EL OPERADOR LGICO OR
x
true true false false

y
true false true false

resultado
true true true false

EL OPERADOR LGICO NOT


x true resultado false

false

true

Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado por la ltima columna de sus tablas de verdad. Por ejemplo:

(a<b) && (b<c)es verdadero (true), si ambas son verdaderas. Si alguna o ambas son falsas el resultado es falso (false). En cambio, la expresin
(a<b) ||(b<c)es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es falso. La expresin " NO a es menor que b"

!(a<b) es falsa si (a<b) es verdadero, y es verdadera si la comparacin es falsa. Por tanto, el operador NOT actuando sobre (a<b) es equivalente a
(a>=b)La expresin "NO a es igual a b" !(a==b) es verdadera si a es distinto de b, y es falsa si a es igual a b. Esta expresin es equivalente a (a!=b)

Potrebbero piacerti anche