|
CarlosPes.com
> Curso
de Diseño de Algoritmos
> Expresiones Lógicas |
|
Expresiones
Lógicas
|
|
|
|
|
¿Qué
tipos de expresiones lógicas existen en
programación?
|
|
» Prioridad
de los Operadores Relacionales y Lógicos |
|
De
la evaluación de una expresión
lógica siempre se obtiene un valor de tipo
lógico (verdadero o falso).
En las expresiones lógicas se pueden utilizar dos
tipos de operadores:
Un
operador relacional
se utiliza para comparar los valores de dos
expresiones. Éstas deben ser del mismo tipo
(aritméticas, lógicas, de carácter o
de cadena).
Ejemplo 1: Algunos ejemplos son:
22 > 13 (comparación de dos
expresiones
aritméticas)
22.5 < 3.44 (comparación de dos
expresiones
aritméticas)
verdadero = falso (comparación de dos
expresiones
lógicas)
'c' > 'f' (comparación de dos
expresiones de
carácter)
"coche" = "Coche" (comparación de dos
expresiones de cadena)
Proporcionan los valores:
verdadero (22 es mayor que 13)
falso (22.5 no es menor que 3.44)
falso (verdadero no es igual que falso)
falso ('c' no es mayor que 'f')
falso ("coche" no es igual que "Coche")
Las comparaciones entre los valores de tipo numérico son
obvias. En cuanto a los valores de tipo lógico (verdadero y
falso) se considera que falso es menor que verdadero. En lo que
respecta a los valores de tipo carácter, su orden viene dado
por el ASCII extendido utilizado por el ordenador para representarlos.
Y en el caso de los valores de tipo cadena, también se tiene
en cuenta dicho código.
Los operadores relacionales son: |
|
|
|
Figura - Clasificación de
los operadores relacionales en pseudocódigo. |
|
Para
escribir una expresión relacional
(lógica) se
utiliza la sintaxis: |
|
<expresión_1>
<operador_de_relación>
<expresión_2> |
|
|
Siendo
<expresión_1> y
<expresión_2> del mismo tipo
(aritmética,
lógica, de carácter o de cadena).
Por otra parte,
un operador lógico
actúa, exclusivamente, sobre
valores de expresiones lógicas. Los operadores
lógicos son: |
|
|
|
Figura - Clasificación de
los operadores lógicos en pseudocódigo. |
|
El
operador conjunción (y) y el operador disyunción
(o) siempre actúan sobre dos operandos, mientras que, el
operador negación (no) sólo actúa
sobre un operando, o dicho de otra forma, es un operador monario. El
modo en que actúan los operadores lógicos se
resume en las llamadas tablas de verdad, definidas por el
matemático George Boole.
La tabla de verdad del operador conjunción
(y) es: |
|
|
|
Figura - Tabla de verdad del operador
conjunción (y) en pseudocódigo. |
|
Se
supone que <expresión_1> y
<expresión_2> son expresiones
lógicas. De la tabla de verdad se deduce que
<expresión_1> y
<expresión_2> se evalúa a verdadero
sólo en el caso de que tanto
<expresión_1> como
<expresión_2> se evalúen
también como verdaderas, en cualquier otro caso el resultado
será falso. Dicho de otro modo, si al menos una de las dos
expresiones es falsa, el resultado será falso.
Ejemplo 2: Algunos ejemplos son:
9 > 3 y 8 > 6
9 > 3 y 8 > 9
9 = 3 y 8 >= 6
9 = 3 y 8 >= 9
Las expresiones anteriores se evalúan a:
verdadero (9 > 3 es verdadero y 8 > 6 es verdadero)
falso (9 > 3 es verdadero y 8 > 9 es falso)
falso (9 = 3 es falso y 8 >= 6 es verdadero)
falso (9 = 3 es falso y 8 >= 9 es falso)
La tabla de verdad del operador disyunción
(o) es: |
|
|
|
Figura - Tabla de verdad del operador
disyunción (o) en pseudocódigo. |
|
De
la tabla de verdad se deduce que si al menos una de las dos expresiones
es verdadera, el resultado será verdadero.
La tabla de verdad del operador negación
(no) es: |
|
|
|
Figura - Tabla de verdad del operador
negación (no) en pseudocódigo. |
|
El
valor de no <expresión> es el contrario al
valor obtenido de <expresión>.
Ejemplo 3: De las expresiones
no ( 9 > 3 )
no ( 8 > 9 )
los resultados de evaluarlas son:
falso (9 > 3 es verdadero)
verdadero (8 > 9 es falso) |
|