OPERADORES LÓGICOS Y DE COMPARACIÓN EN C++

 

 

Como ya observamos en una publicación anterior, existen distintos operadores aritméticos que nos permiten llevar a cabo diferentes procesos matemáticos en nuestros programas. Así mismo para realizar procesos lógicos o en los que requerimos hacer comparaciones entre dos o más valores, existen otros operadores en el lenguaje C++ que llevan a cabo dichas operaciones.

A continuación vamos a listar y explicar los operadores lógicos y de comparación más utilizados a diario, sin embargo deben tener en cuenta existen muchos más y pues si les interesa este tema los invitamos a que consulten y que sigan profundizando.

 

Operadores lógicos:

Son utilizados para llevar a cabo operaciones lógicas (NOT, AND, OR), evaluando sus entradas (booleanas) y entregando como resultado un valor booleano (falso o verdadero).

 

Operador NOT ( ! ):

Este operador se encarga de negar el valor que se encuentre en su entrada (Entregar su valor opuesto), para usarlo solo se debe colocar antes de la variable o el valor que se quiere negar. Por ejemplo:

Si tenemos una variable booleana llamada “activo”;

activo=true; //variable con un valor de verdadero

!activo; //Al aplicar el operador NOT (!) en la variable, ahora tomara el valor de falso

Entrada

!Entrada (Entrada Negada – salida de la operación)

true (verdadero)

false (falso)

false (false)

true (verdadero)

 

Operador AND lógico (&&):

 

Este operador recibe como mínimo dos entradas con valores booleanos y entrega como resultado un único valor booleano resultado de la operación AND ( Y lógica), en resumen en su funcionamiento, con que una sola de las entradas sea falsa, el resultado de la operación es falso.

 

a

b

a && b

false

false

false

false

true

false

true

false

false

true

true

true

 

Para su uso, solo hay que colocar el operador && entre los dos valores booleanos que se quieren realizar la operación, tal cual como se muestra en la tabla de verdad anterior con las variables a y b ( a && b ).

 

Operador lógico OR ( || ):

Este operador recibe como mínimo dos entradas con valores booleanos y entrega como resultado un único valor booleano resultado de la operación OR ( O lógica), en resumen en su funcionamiento, con que una sola de las entradas sea verdadera, el resultado de la operación es verdadero.

A

B

a || b

false

false

False

false

true

true

true

false

true

true

true

True

 

Para su uso, solo hay que colocar el operador || entre los dos valores booleanos que se quiere realizar la operación, tal cual como se muestra en la tabla de verdad anterior con las variables a y b ( a || b ).

 

Operadores de comparación o relacionales

 

Estos operadores son utilizados para realizar procesos que establecen una relación o llevan a cabo una comparación entre dos variables o valores diferentes, retornando como resultado un valor booleano (falso o verdadero).

Los operadores de comparación más utilizados son los siguientes:

 

Operador menor que ( < ):

Este operador verifica si el valor que se encuentra a la izquierda es estrictamente menor que el valor que se encuentra a la derecha del operador, como resultado entrega un valor booleano, verdadero si el valor a la izquierda es menor y falso si el valor a la izquierda no es menor. Por ejemplo:

5 < 7; // Entrega como resultado verdadero.

16<4; // Entrega como resultado falso.

12<12; // Entrega como resultado falso, ya que tiene que ser estrictamente menor.

 

Operador mayor que ( > ):

Verifica si el valor que se encuentra a la izquierda es estrictamente mayor que el valor que se encuentra a la derecha del operador, al igual que en el caso anterior entrega como resultado un valor booleano. Por ejemplo:

7 > 3; // Entrega como resultado verdadero.

7 > 12; // Entrega como resultado falso.

7 > 7; // Entrega como resultado falso, ya que el valor tiene que ser estrictamente mayor.

 

Operadores menor o igual que ( <= ) y mayor o igual que ( >= ):

Funciona de forma similar a los dos operadores explicados anteriormente, la única diferencia es que mientras en los anteriores solo se evalúan los valores estrictamente menores o mayores, en estos dos operadores, también es verdadero si los dos valores que se encuentran a cada lado del operador son iguales. Por ejemplo:

7 <= 13; // Entrega como resultado verdadero.

7 <= 7; // Entrega como resultado verdadero.

7 <= 4; // Entrega como resultado falso.

3 >= 1; // Entrega como resultado verdadero.

3 >= 3; // Entrega como resultado verdadero.

3 >= 7; // Entrega como resultado falso

 

Operador igual que ( == ):

Este operador suele confundir bastante al principio a las personas que están aprendiendo a programar y por lo general lo confunden con el operador de asignación ( = ), pero son dos operadores que llevan a cabo dos tareas completamente diferentes.

Mientras que el operador de asignación ( = ), se encarga de asignar o guardar un valor en una variable. El operador igual que ( == ) se encarga de hacer una comparación entre los valores que se encuentren a cada uno de sus lados.

Este comparador simplemente verifica si el valor que se encuentra al lado izquierdo del operador es el mismo (es igual) al que se encuentra al lado derecho, en caso de ser valores iguales, entrega como resultado un verdadero, en caso contrario entrega como resultado un falso. Por ejemplo:

3 == 7; // Entrega como resultado falso, ya que los dos valores no son el mismo

4 == 4; // Entrega como resultado verdadero.

“hola” == “hola”; //Entrega como resultado verdadero

“Palabra” == “palabra”; //Entrega como resultado falso.

En el último ejemplo, observen que el término que se encuentra al lado izquierdo comienza con la letra “P” mayúscula, mientras que el término del lado derecho comienza con la letra “p” minúscula, lo cual hace que sean términos diferentes y por lo tanto la sentencia es evaluada como falsa.

 

Operador diferente que ( != ):

Este operador compara los valores a cada uno de sus lados y verifica si son valores diferentes. En caso de ser diferentes, entrega como resultado un verdadero y en caso de ser iguales entrega como resultado un falso. Por ejemplo:

7 != 3; // Entrega como resultado verdadero

5 != 5; // Entrega como resultado falso; (ambos son iguales)

“Programacion” != “programación”; // Entrega como resultado verdadero (las p son diferentes)

“lenguaje” != “lenguaje”; //Entrega como resultado falso (ambos son iguales)

 

ANTERIOR PUBLICACIÓN SOBRE PROGRAMACIÓN EN C++: Operadores aritméticos en C++

SIGUIENTE PUBLICACIÓN SOBRE PROGRAMACIÓN EN c++: Entrada y salida de datos en C++ (cin y cout)

 

Iván Cuadros Acosta

Licenciado en Electrónica y Especialista en Edumática con experiencia en docencia universitaria. Apasionado por la electrónica y la programación.