martes, 17 de marzo de 2015

Lógica de Programación (7): Expresiones lógicas

Un segundo tipo de expresiones es la expresión lógica o booleana, cuyo valor es siempre verdadero o falso. Recuerda que existen sólo dos posibles valores para una variable (o constante) de tipo booleano: verdadero (true) y falso (false). En esencia, una expresión lógica es aquella cuyo resultado sólo puede tomar uno de esos dos valores.

Las expresiones lógicas se forman combinando constantes y variables lógicas con operadores lógicos como not, and y or y operadores relacionales (de relación o comparación) como =, <, >, <=, >=, <>.

Operadores de relación
Los operadores relacionales o de relación permiten realizar comparaciones entre valores o expresiones de cualquier tipo. Los operadores relacionales son:

(Clic para agrandar)

El formato general que seguimos para establecer una comparación en un algoritmo es:

expresión1 operador_de_relación expresión2

y el resultado de la operación siempre será verdadero o falso.

Por ejemplo, si suponemos que A = 4 y B = 3, entonces

A > B es verdadero

mientras que 

(A - 2) < (B - 4) es falso



Operadores relacionales y tipos de datos
Los operadores de relación se pueden aplicar a cualquiera de los cuatro tipos de datos estandar que conocemos: enteros, reales, lógicos y caracteres. En el caso de la aplicación a valores numéricos, la comparación es bastante evidente:

3 < 6 es verdadero
0 > 1 es falso
4 = 2 es falso
8 <= 5 es falso
9 >= 9 es verdadero
5 <> 5 es falso

Para realizar comparaciones entre caracteres, lo mejor es recurrir al código ASCII. En este código, cada caracter representable en una computadora tiene un valor numérico asignado. Ese valor nos servirá para revelar el valor de la comparación entre 2 caracteres. 

(Clic para agrandar)

Podemos, también, aplicar estos 4 principios para dichas comparaciones:
  • Los caracteres especiales (#, $, %, &, /, etc) exigen necesariamente la consulta del código ASCII
  • Los valores de los caracteres que representan dígitos están en su orden natural. Esto es, '0'<'1', '1'<'2', etc
  • Las letras mayúsculas 'A'...'Z' siguen el orden alfabético: 'A' < 'B', 'B'<'C', 'C'<'D', etc
  • Las letras minúsculas también siguen el criterio alfabético: 'a' < 'b', 'b'<'c', 'c'<'d', etc

En general, los 4 grupos mencionados anteriormente están situados en el código ASCII en orden creciente. Es decir:

caracteres especiales < dígitos < letras mayúsculas < letras minúsculas

Cuando se utilizan los operadores de relación entre valores lógicos, la regla es muy sencilla:

falso < verdadero

Esto es debido a que, en una computadora, falso = 0 y verdadero = 1. La comparación se hace sola.



Operadores lógicos
Los operadores lógicos o booleanos básicos son not (no), and (y) y or (o). ¿Y cómo funcionan? Bueno, todo depende de los valores que relacionemos con estos operadores. A las reglas de funcionamiento de los operadores lógicos las llamamos "Tablas de Verdad" y estas son las que se aplican para los operadores not, and y or:

(Clic para agrandar)

La forma general en que aplicamos estos operadores es:

expresión1 operador_lógico expresión2

Las expresiones lógicas pueden mezclar constantes/variables de todos los tipos, así como operadores aritméticos, de relación o lógicos. Así, por ejemplo:

(1 < 5) and (5 < 10)     es verdadera
(5 > 10) or ('A' < 'B')   es verdadera
not(4 > 6)  es verdadera
(1 > 4) and (4 < 7 + 2)  es falsa


¿Listos para practicar lo aprendido? en seguida van a encontrar algunos ejercicios prácticos para ver qué tanto aprendieron sobre las expresiones lógicas. En la siguiente lección vamos a aprender sobre las llamadas funciones internas que nos ayudarán a escribir sentencias un poco más complejas para nuestros algoritmos. ¡Hasta la próxima!

ACTIVIDADES DE APRENDIZAJE

¿Puedes calcular el valor booleano que resultará de cada una de las siguientes expresiones?
  • (4 <= 4) and 2 > 3
  • (15 / 3 + 2 < 9) or (4 * 2 > = 10 - 2)
  • not('B' < '1') and not('3' > 'r')
  • not (4 < 5 or (verdadero > falso))
  • not(not(5 > 3) and 3 > 5 + 10)




0 comentarios:

Publicar un comentario

Copyright © IsraelCapetillo.com - Un blog de tecnología, noticias geek y más Compartido por Gooyaabi Templates | Powered By Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com