Informatica
Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes
14/04/05
Programación Digital I
1
Expresión Lógica
El resultado de la evaluación de la expresión es un valor lógico (cierto o falso). Se construye mediante Operadores relacionales Operadores lógicos
14/04/05Programación Digital I
2
Operadores relacionales
Operan sobre operandos (constantes, variables, expresiones) de diferentes tipos (numéricos, caracteres) y dan como resultado un valor de tipo lógico (cierto o falso; 1 o 0).
Operación Igualdad Desigualdad Menor Menor Igual Mayor Mayor Igual Operador Alg. = ≠ < ≤ > ≥ Op. C == != < >= Exp. C a==b a!=b a=b
Recuerde que en lenguaje C es muyfacil confundir el operador de asignación = (igual) con el de comparación == (igual igual)
14/04/05 Programación Digital I 3
Operadores Relacionales
Ejemplos:
a b
a==b
falso
a!=b a < b a b a>=b
falso
2
3
cierto cierto cierto falso
‘a’ ‘d’
falso
cierto cierto cierto falso
falso
44
44
cierto
falso
falso
cierto falso cierto
14/04/05Programación Digital I
4
Precedencia de los Operadores Relacionales
( ) Subexpresiones encerradas entre paréntesis se
evalúan primero (mayor nivel de precedencia).
= ==, !=
(menor nivel de precedencia)
La evaluación de las operadores con la misma prioridad se realiza de izquierda a derecha.
14/04/05
Programación Digital I
5
Observación
A = B asigna el valor de la variable B ala variable A A == B compara el valor de la variable A con el valor de la variable B Una comparación produce un resultado CIERTO/FALSO. En C++ el valor falso corresponde a 0 (cero). Las formas de representar el cero o la falsedad son:
Como valor entero. int value = 0; Como caracter. char false_value = ‘\0’; Como palabra reservada. bool t = false;
14/04/05 Programación Digital I 6
ExpresionesLógicas
Ejemplos
(a + b) < c votos > electores a != (x*x + b*x + c) (alto - bajo) == 2 (horas*3600) >= (minutos*60 + segundos) numero = (y+z) R1 = y + z R2 = x >= R1 → Resultado
Para los valores x = 3, y = 4, z = 1 se tiene R1 = 4 + 1 = 5 R2 = 3 >= 5 = falso → Resultado
14/04/05
Programación Digital I
8
Expresiones Lógicas: Ejemplo 2
Evaluar la siguiente expresión lógica:contador1 + 1 < contador2 R1 = contador1 + 1 R2 = R1 < contador2 → Resultado
Para los valores contador1 = 3, contador2 = 1 se tiene R1 = 3 + 1 = 4 R2 = 4 < 1 = falso → Resultado
14/04/05
Programación Digital I
9
Expresiones Lógicas: Ejemplo 3
Evaluar la siguiente expresión lógica:
num % 4 == 0
R1 = num % 4 R2 = R1 == 0 → Resultado Para el valor num = 7 se tiene R1 = 7 % 4 = 3 R2 =3 == 0 = falso → Resultado
14/04/05
Programación Digital I
10
Expresiones Lógicas: Ejemplo 4
Evaluar la siguiente expresión lógica: (a + b - 1) < (x * y) R1 = a + b R2 = R1 - 1 R3 = x * y R4 = R2 < R3
→ Resultado
Para los valores a = 31, b = -1, x = 3, y = 2 se
tiene
14/04/05
R1 = 31 + (-1) = 30 R2 = 30 - 1 = 29 R3 = 3 * 2 = 6 R4 = 29 < 6 = falsoProgramación Digital I→ Resultado
11
Operadores Lógicos
Operan sobre operandos (constantes, variables, expresiones) de tipo lógico (cierto o falso) y evalúan a un valor de tipo lógico (cierto o falso).
Operación y lógico o lógico Negación Op. Algebraico ∧ ∨ ¬ Op. C && || ! Exp. C a && b a || b !a
14/04/05
Programación Digital I
12
Operadores Lógicos
Tabla de la Verdad:
a cierto cierto falso falsob cierto falso cierto falso a && b cierto falso falso falso a || b cierto cierto cierto falso !a falso falso cierto cierto
14/04/05
Programación Digital I
13
Expresiones Lógicas
Ejemplos
!(p && q) || s p && q && s (a || b) && (c || d) a > 5 && !(b < c) || 3 max) (edad >= 18) && (edad = == != && ||
Asociatividad
de izq. a der. de der. a izq. de izq. a der. de izq. a der. de...
Regístrate para leer el documento completo.