Sie sind auf Seite 1von 7

Objetivo Aprender y aplicar en los algoritmos los conceptos de expresiones lgica y las teoras sobre datos y resolucin de problemas

Al finalizar el curso los estudiosos estarn en capacidad de: Identificar y diferenciar las expresiones relacionales. Evaluar adecuadamente una expresin relacional. Crear segn las circunstancias, expresiones relacionales para la toma de decisiones. Fundamentos, expresiones lgicas

Presentacin.

Es frecuente encontrar decisiones que necesitan la identificacin de varios criterios en simultnea. Es normal que en las decisiones existan las obligaciones o las alternativas, es como tomar un vehculo para ir al trabajo, si se presentan varias alternativas entonces se elige segn otros criterios, como pueden ser cual es ms rpido, cual cuesta menos, en cual puedo estar ms cmodo, al final el resultado es el mismo lograr movilizarse, pero los criterios varan. Cuando una expresin relacional, requiere de ms de un operador relacional, la expresin debe ser lgica y cada parte de esta es una expresin relacional. Las expresiones lgicas son una extensin de las expresiones relacionales, dado que las lgicas necesitan de las relacionales para su funcionamiento, las expresiones lgicas permiten unir en una sola expresin a varias de las relacionales, de este modo las expresiones lgicas permiten tener varios criterios de seleccin al mismo tiempo. Contenido temtico.

Operadores lgicos

Elementos, que definen la forma de interaccin entre dos expresiones relacionales o lgicas, determinando para cada caso que se debe cumplir para ser True o en caso contrario falsedad. Un operador relacional solo se aplica entre dos partes, pero en este caso las partes son expresiones relacionales o expresiones lgicas. Smbolo Nombre Utilidad

Ejemplo and Conjuncin lgica, denominada (AND ingles) ( Y en espaol). Este operador permite asociar dos expresiones relacionales o lgicas de modo que ambas deben ser True para que la expresin lgica sea True . La palabra est asociada a obligar que todo tiene que cumplirse para continuar. 5>0 and 21<90 Retorna True , dado que al lado izquierdo y derecho del operador las expresiones son True.

21*4<22*5 and 21>9 and 9%4!=0 esta expresin contiene dos operadores and para el caso se evalan cada uno de ellos del lado izquierdo y derecho en este caso la respuesta es True . or Disyuncin lgica, denominada (OR ingles) (O en espaol). Este operador determina que cualquiera de las expresiones del lado derecho o del izquierdo del operador debe ser True para que la expresin lgica sea True era. La palabra est asociada a eleccin una u otra.

123%5==0 or 123%5 > 2 Retorna True , evaluando la expresin de lado derecho esta es False, pero la expresin del lado derecho es True . not Negacin (NOT en ingles) (no en espaol). Este operador se aplica a una expresin relacional o expresin lgica. Para cambiar su respuesta, si una expresin retorna True , al aplicar la negacin retorna falsedad y viceversa. La expresin que se desea negar debe colocarse entre parntesis. not(3>100) Retorna True , la expresin contenida dentro de los parntesis retorna False , pero al negarse, queda True. not(64%4==0 and 54*10>98) Retorna False , la expresin contenida en parntesis es del tipo lgica, al evaluarla retorna True , pero al negarla retorna False .

Tabla 4 Operadores lgicos

Evaluacin del operador lgico (and).

Figura 5 Forma general del operador (and) El operador (and) tiene un comportamiento el cual se muestra a continuacin. Expresin izquierda Expresin derecha (and) True True True True False False False True False False False False

Tabla 5 Tabla de True del operador and and

Esta tabla nos indica que la nica forma en la cual una expresin lgica formada por el operador and es True , es cuando las expresiones del lado izquierdo y derecho son True . Este operador obliga a que las expresiones involucradas tanto en su parte derecha como en la izquierda sean True para retornar True . Si cualquiera de las expresiones es del tipo lgico es muy aconsejable usar parntesis para delimitarla. Para realizar una evaluacin correcta del operador (and), comenzamos evaluando la expresin del lado izquierdo, es muy importante que si esta expresin da False , ya no evaluemos la del lado derecho pues esto significa que es

falsa la expresin lgica. Si al evaluar el lado derecho esta arroja True , debemos continuar con la del lado derecho y en caso que sea True , la expresin lgica es True era, en caso contrario, la expresin lgica es falsa. (not(12*4>5**2)) and 12300>0.999**7 El resultado es False

Evaluacin del operador lgico (or).

Figura 6 Forma general del operador (or) El operador (and) tiene un comportamiento el cual se muestra a continuacin. Expresin izquierda Expresin derecha (or) True True True True False True False True True False False False

Tabla 6 Tabla de True del operador or or Esta tabla nos indica que la nica forma en la cual una expresin lgica formada por el operador or es falsa, es cuando las expresiones del lado izquierdo y derecho son falsas.

Este operador necesita que cualquiera de las expresiones involucradas en su parte derecha o en la izquierda sea True para retornar True . Si cualquiera de las expresiones es del tipo lgico es muy aconsejable usar parntesis para delimitarla. Para realizar una evaluacin correcta del operador (or), comenzamos evaluando la expresin del lado izquierdo, es muy importante que si esta expresin da True , ya no evaluemos la del lado derecho pues esto significa que la expresin lgica formada es True , esto lo corrobora la tabla de True . Si al evaluar el lado derecho sta arroja False , debemos continuar con la del lado derecho y en caso que sea True , la expresin lgica es True era, en caso contrario, la expresin lgica es falsa. 1.23>12**(1/2.0) or (123%5)**10 > 0.776 Resultado True

Evaluacin del operador lgico (not). Figura 7 Forma general del operador (not) El operador (not) tiene un comportamiento el cual se muestra a continuacin. Expresin en parntesis (not) False True True False

Tabla 7 Tabla de verdad del operador not not Esta tabla nos indica que este operador ejerce una negacin sobre el resultado de una expresin relacional o lgica. El operador busca cambiar el resultado de una expresin, esto visto de una manera ms analtica es hallar el complemento de una expresin, es decir determinar de una manera compleja los casos que quedan fuera de la expresin, no es recomendable usar expresiones negadas, aunque existen casos en los cuales son inevitables por la complejidad que conllevara re expresar la expresin original. Para ampliar este tema se aconseja mirar las inecuaciones matemticas y algbricas. Primero se obtiene el resultado de la expresin que se desea negar, luego se invierte el resultado siguiendo la tabla 7.

not(123> 1.25**8*100) Resultado es False Una expresin lgica ms elaborada usando simultneamente and , or y not

Entre la and y la or la prioridad la manejan las operaciones de la and. Siempre respetando los parntesis y las funciones que siempre se ejecutan primero.

Las expresiones lgicas pueden usar al mismo tiempo los operadores and, or y not, estas expresiones se evalan comenzando por los parntesis y luego de resolverlos se contina evaluando de izquierda a derecha, operador por operador, aplicando las tcnicas antes vistas. not(12>8**6) and (23==22+0**0) or 1250%5==0 El Resultado es True

Ejercicios propuestos para mejorar las competencias

1) (a and b or b) and not(a and b) or (a and not (b)) - si a=True b=False resultado=True - si a=False b=False resultado=False - si a=False b=True resultado=? 2) not(not((not(a and b or not(a and not (c))) and c) and b) and a) - si a=True b=True c=True resultado=False - si a=False b=True c=True resultado = True - si a=True b=False c= True resultado=? 3) not(a+b/c*a > a*b**(1/b) and b+5 != c) - si a=10 b=2 c=5 resultado=True - si a=0.5 b=1.0 c=1.5 resultado=False - si a=2 b=2 c=2 resultado=? 4) 6.5%3+7.6//3+5**2**2 < 8**0.2**0.4 or 65%a+b**c%c*2.5>0 - si a=2 b=2 c=2 resultado=True - si a=0.5 b=2.5 c=4.5 resultado=True

- para cules? valores de a=? b=? c=? resultado=False 5) not(not((b**a/c > (a*2)**c) and d) and (e and not(d) or e or d)) -si a=2 b=4 c=0.5 d=True e=False resultado=True -si a=20 b=10 c=5 d=True e=False resultado=True -si a=0.1 b=0.2 c=0.3 d=True e=True resultado=True -para cules valores de a=? b=? c=? d=? e=? el resultado es False

Das könnte Ihnen auch gefallen