Claseinformatica28 01 15
•
Operadores lógicos
•
Estructura de decisión múltiple
•
Estructura Repetitiva Haga Para
Operadores lógicos
•
Los operadores lógicos permiten formular condiciones complejas a
partir de condiciones simples, (realizar más de una comparación)
•
Los operadores lógicos nos permiten agrupar condiciones simples
en una estructura condicional, esto nos facilita laimplementación de algoritmos más compactos y comprensibles.
Los operadores lógicos son los siguientes:
•
•
•
(y)
(o)
(not)
Las tablas de verdad de los conectivos lógicos son:
(P y Q son enunciados)
P
V
F
NOT(
P )
F
V
P
V
V
F
F
P y Q
V
F
V
F
Q
V
F
F
F
P
V
V
F
F
P O Q
V
F
V
F
Q
V
V
V
F
El resultado de una expresión lógica puede ser guardado en una
variable de tipo boolean. TRUE y FALSE son constantes que
representan los valores verdadero y falso respectivamente. Si uno
intenta imprimir con la instrucción escribir el contenido de una
variable de tipo boolean es TRUE o FALSE como resultado en la
pantalla.
Nota: Es importante entender bien el significado de cada uno de los
operadores lógicos. Estos conceptos serán requeridos a lo largo de
todo el curso.
Ejemplos con expresiones lógicas:
1.
a = (8 >= 8)
escribir 'El valor de a es:',a
{el resultado es: TRUE}
2.
a = (8 = 8) y (2 > 1)
escribir 'El valor de a es:', a
{el resultado es: TRUE}
3.
a = (8 = 8)
b = (2 > 1)
c = (a AND b)
escribir 'El valor de a es:', a
{el resultado es: TRUE}
4.
a = (8 = 8)
b = (2 > 1) c = a AND ( NOT(b) )
escribir 'El valor de c es:', c
{el resultado es: FALSE}
Cuando unimos dos condiciones simples con el operador lógico 'y'
ambas condiciones deben verificarse como verdaderas para que la
condición compuesta se verifique verdadera. Por ejempo si tenemos que
mostrar un mensaje si la edad de una persona está comprendida entre12 y 18 años podemos plantearla con una única estructura condicional:
si edad>=12 y edad<=18:
escribir 'Edad comprendida entre 12 y 18'
Estamos diciendo si la variable 'edad' tiene un valor mayor o igual a
12 y además la variable edad tiene un valor menor o igual a 18 luego
ejecutar el bloque de verdadero.
La condición anterior nos evita tener que implementar dos estructuras
condicionales:
si edad>=12:
si edad<=18: escribir 'Edad comprendida entre 12 y 18'
El operador lógico 'or' hace que con que alguna de las condiciones
sea verdadera luego ejecute el bloque del verdadero.
si x1<5 or x2<5:
Se ejecuta el bloque de verdadero si al menos una de las dos
variables es menor a 5.
El operador not invierte el valor de una condición:
si not x1>x2:Si x1 no es mayor a x2 luego ejecuta el bloque de verdadero de la
estructura condicional.
Podemos plantear condiciones con más de dos condiciones simples:
si x1<0 or x2<0 or x3<0:
Si x1 o x2 o x3 tienen un valor inferior a cero luego se ejecuta la
rama del verdadero del si.
Leer tres números y luego imprimir el mayor de los tres. Emplear
condiciones compuestas donde sea posible.
X1= entero (leer('Diga el número 1:'))x2= entero (leer('Diga el número 2:'))
x3= entero (leer('Diga el número 3:'))
escribir 'El mayor es:'
si x1>x2 y x1>x3:
escribir x1
sino si x2>x3 y x2>x3:
print x2
sino
print x3
Estructura de decisión Multiple
En la última clase aprendimos cómo tratar una dicotomía: si una
condición se cumple haz esto; en caso contrario, haz esto otro.
Pero, ¿y si debemos gestionar diversas opciones?La claúsula sino si dentro de la estructura si nos permite resolver
este problema.
Observa su utilización en el siguiente ejemplo:
valor = entero(leer('Introduce un número del 1 al 6: '))
si valor == 1:
escribir 'El dado rueda..., ha salido el UNO'
sino si valor == 2:
escribir 'La suerte está echada..., ha salido el DOS'
sino si valor == 3:...
Regístrate para leer el documento completo.