martes, 10 de julio de 2012

Expresiones Relacionales

Las expresiones relacionales comparan dos datos y entregan un valor de verdad: Verdadero o Falso.

La comparación es respecto a si un dato es igual, distinto, mayor o menor que el otro. Los operadores relacionales en PSeInt son:


Resulta obvio el comparar dos datos numéricos, por ejemplo:

54 >= 39

Claro que lo más común es que uno o ambos datos estén dentro de una variable:

Edad >= 39

También es posible que uno o ambos valores sean expresiones matemáticas:

PrecioNeto * 1.19 > 45000

Como los operadores relacionales tienen menor precedencia que los matemáticos entonces primero se evalúa la expresión matemática y luego se evalúa la relación.

Los operadores relacionales trabajn sólo con dos operandos. Si queremos determinar si la edad está entre 18 y 65 no sirve lo siguiente:

18 <= Edad <= 65

En ese caso hay que usar 2 operaciones relaciones unidas mediante un operador lógico:

18 <= Edad Y Edad <= 65

Como los operadores relacionales tienen mayor precedencia que los lógicos, primero se evalúan las expresiones relacionales y sus resultados se usan en la expresión lógica.

Aunque no es necesario en PSeInt muchos programadores recomiendan usar paréntesis, tanto por claridad como por la certeza que dan respecto a la correcta evaluación de la expresión.

(PrecioNeto * 1.19) > 45000

(18 <= Edad) Y (Edad <= 65)

Las cadenas también pueden compararse mediante los operadores relacionales:

MiNombre <> "Eusopio"

Las cadenas se comparan caracter a caracter, y el orden se determina mediante la tabla UNICODE. Por ello es que:
  • Las mayúsculas siempre son distintas a las mínúsculas
  • Las mayúsculas siempre son mayores que las minúsculas
  • La ñ y las vocales con tilde son mayores a todas las otras letras
  • Los dígitos son mayores que todas las letras
  • El espacio en blanco es menor que todas las letras y dígitos
  • Las cadenas se van comparando caracter a caracter, de izquierda a derecha, hasta que es posible determinar la relación o una de las cadenas se termina, en cuyo caso la cadena más larga es mayor
Aplicando esas reglas resulta que:
  • "EUSOPIO" es mayor que "eusopio"
    • La primera cadena está en mayúsculas
  • "Ramón" es mayor que "Ramon"
    • La o con tilde es mayor que la o sin tilde
  • "Mayo" es distinto a "mayo"
    • La M mayúscula es mayor que la m minúscula
  • "Resobar" es menor que "Resonar"
    • La b es menor que la n
  • "Jaja" es mayor que "Ja"
    • Al terminarse Ja automáticamente Jaja que es más larga resulta mayor






4 comentarios: