Operadores Relacionales
Continuando con la serie de entradas sobre Expresiones y jerarquía de operadores, en esta ocasión toca el turno de hablar de los operadores relacionales.
Operadores relacionales
Realizan operaciones que relacionan o comparan datos numéricos. Su resultado un valor booleano (verdadero/falso). A las expresiones con operadores relacionales también se les conoce como condiciones, porque a menudo sirven para tomar decisiones y actuar en base a su resultado. A continuación se muestran estos operadores.

Figura 1. Operadores relacionales
Los operadores relacionales utilizan operandos numéricos (ya sea en forma de variables, constantes simbólicas o constantes numéricas) pero generan un resultado lógico, también conocido como booleano. Si te lo imaginas como un proceso, la figura 2 te ayuda a entenderlo: las entradas son valores numéricos y la salida un valor booleano.

Figura 2. Entradas y salidas de una operación relacional
En la figura 3 te muestro ejemplos del uso de los operadores relacionales. Observa que los operandos SIEMPRE son datos de tipo numérico (enteros o decimales) pero el resultado de evaluar el operador es un dato de tipo booleano.

Figura 3. Ejemplos de expresiones relacionales
Algunas observaciones sobre el uso de los operadores relacionales.
Los datos lógicos o booleanos.
Los datos booeanos sólo pueden tener uno de dos posibles valores:
- true o verdadero
- false o falso
Aunque parece muy simple, es fundamental reconocer la existencia de este tipo de datos, especialmente durante el proceso de evaluación de expresiones relacionales y lógicas.
Operador ==
El operador == es un operador relacional que tiene como objetivo comparar si dos datos son iguales. Por lo tanto, la expresión:
x == y (1)
se debería entender como ¿El dato contenido en la variable x es igual al dato contenido en la variable y? Por lo tanto, la respuesta a este tipo de pregunta sólo puede tener dos respuestas: sí o no. En cambio, la expresión:
x = y (2)
Implica:
“Asigna el contenido de la variable y en la casilla de memoria designada como x“
También puede traducirse como
“A la variable x se le asigna el contenido de la variable y”
Entonces claramente como resultado de este tipo de expresiones, la variable del lado izquierdo de la ecuación (en este caso x) será modificada, cualquiera que fuese el contenido de x será eliminado y reemplazado por el contenido de la variable y. Esto no sucede con la expresión 1, pues en ese caso ninguna variable es modificada.
Es muy importante entender la diferencia entre estos dos operadores: = e ==, pues fundamental para la escritura de expresiones condicionales que se utilizarán en estructuras de control de flujo como la estructura if.
Operador !=
Este operador significa “diferente de”, lo contrario al operador ==. Si los datos comparados son diferentes su resultado es true, false en caso contrario. Mi experiencia enseñando programación me ha mostrado como es uno de los operadores más difíciles de recordar. Aún no entiendo porqué, dado que su funcionamiento es muy simple.
Evaluación de expresiones y jerarquía de los operadores relacionales.
Así como con las epresiones aritméticas, para evaluar y obtener el resultado de una expresión relacional se deben considerar las reglas de precedencia de operadores, las cuales son las siguientes:
- Los operadores se evaluan de izquierda a derecha, y respetando la jerarquía de estos.
- Todos los operadores relacionales tienen la misma jerarquía, pero se encuentran por debajo de los operadores aritméticos, por lo que si se encuentra alguna operación aritmética, ésta debe realizarse antes de evaluar cualquier operador relacional.
- Los únicos operadores que pueden alterar estas reglas son los paréntesis ( ).
Observa la figura 4 con un ejemplo de evaluación de expresiones que considera estas reglas.

Figura 4. Evaluando una expresión relacional considerando la precedencia de operadores
Algunos comentarios sobre esta figura:
- Al igual que con las operaciones aritméticas, el primer paso es sustituir el valor de la variable en la expresión
- Posteriormente, se eliminan los paréntesis realizando las operaciones que se encuentren entre estos, en este caso:
- 3-2
- Los operadores relacionales prácticamente dividen la ecuación en dos, por lo que como se muestra en la figura, se pueden evaluar las operaciones al lado derecho e izquierdo del operador relacional casi al mismo tiempo.
- Pero dado que los operadores aritméticos tienen una mayor jerarquía que los relacionales, estas operaciones se deben realizar primero, y siempre respetando la precedencia de éstos. Por ello se realiza primero la operación 8*3 antes de 3+5.
- En la prática, es muy poco común que las expresiones relacionales se encuentren escritas con el símbolo de asignación (=). Para el ejemplo se empleó el = para asignar el resultado de la expresión relacional a una variable, para que esto funcione ésta variable debe ser de tipo booleana, de lo contrario generará un error.
- Generalmente las expresiones relacionales se utilizan dentro de estructuras de control de flujo como if, while y do-while, por lo que en ese caso prescindiremos del operador de asignación (=).
Tiempo de despedirse, espero que este post les haya aportado algo, y si tienen dudas, dejen algún comentario 🙂
Dania Garcia Montiel 1° A TIDSM
Pamela Lorelei Meza León