programación en C++ desde cero.
y entérate de las novedades o deja un comentario.
Ültima modificación: 13-07-2018.
Visitas este mes: 1
Visitas el mes pasado:
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:
En los distintos manuales incluimosm más webgrafía especifica de cada sección.
Si este sitio te parece interesante puedes contribuir con una pequeña aportación.
Un operador condicional es aquel que compara dos datos y nos indica la relación que hay entre ellos. La operación indica una condición que puede o no cumplirse. Por ejemplo con datos numéricos nos puede indicar si uno de ellos es mayor, menor o igual al otro.
El resultado de cualquier operación condicional es siempre un dato booleano, es decir , nos dirá si la condición que proponemos es verdadera o falsa (se cumple o no se cumple).
Por ejemplo si decimos que 3 es mayor que 5, el resultado será falso, pero si decimos que 5 es mayor que 3, el resultado será verdadero.
En la siguiente tabla mostramos cuáles son los operadores condicionales. Todos ellos operan con dos operandos, por lo que son binarios. En los ejemplos que aquí ponemos suponemos que las variables que utilizamos son de tipo entero. En la columna resultados indicamos cuándo el resultado es verdadero, en los demás casos es faso.
Operador | Nombre | Ejemplo | Resultado |
---|---|---|---|
< | Menor que | a < b | true si a es menor que b. |
> | Mayor que | a > b | true si a es mayor que b. |
<= | Menor o igual que | a <= b | true si a es menor o igual que b. |
>= | Mayor o igual que | a >= b | true si a es mayor o igual que b. |
== | Igualdad | a == b | true si a es igual que b. |
!= | Desigualdad | a != b | true si a es distinto de b. |
Atención, no confundir el operador de igualdad (==) con el de asignación simple (=). Mientras que el operador de asignación (=) introduce un nuevo valor en una variable, el operador de igualdad (==), compara dos datos (o variables), y da como resultado un booleano.
Con valores numéricos, tanto de enteros como de reales, está claro cual de ellos es mayor o menor, o si éstos son iguales o no. No pasa lo mismo con los datos de tipo char. Para éstos el orden es el que marca la tabla ASCII de caracteres, por lo que el que le corresponda un número más bajo ser´m a menor y el de número más alto será mayor.
Esto indica que para las letras se sigue un orden alfabético en donde la 'a' es la menor de todas, y la 'z' la mayor. Se exceptúan la letra ñ y las vocales con acento, por no formar parte del alfabeto descrito en ASCII. Así mismo, según el orden de ASCII, cualquier letra mayúsculaserá siempre menor que cualquier minúscula, y los dígitos del 0 al 9 serán siempre menores que cualquier letra.
Esto ocurre también con los datos de tipo string, los cuales se ordenarán por orden "alfabético", siguiendo los mismos criterios que para los datos de tipo char, de manera que se comparan los primeros caracteres de las dos cadenas, Si estos son iguales se pasa a comparar los segundos, de manera que así se determina cuál de las dos cadenas es mayor o menor.
Veamos ahora cual es la verdadera utilidad de los operadores condicionales, ya que normalmente, saber si un número es mayor que otro o si una letra está antes que otra en el alfabeto, no parece de mucha utilidad para programar.
Sin embargo la verdadera utilidad la veremos cuando estudiemos las estructuras condicionales.
Una estuctura condicional permite al programa seguir un camino u otro, dependiendo de que una expresion sea verdadera o falsa.
Por ejemplo, supongamos un contenido al que sólo se puede tener acceso mediante una clave. Le pedimos la clave al usuario, la cual guardamos en una variable tipo string. La estructura condicional evalúa si la clave es correcta, para ello compara la clave que escribe el usuario con la auténtica. Esto se hace mediante el operador de igualdad (clave_usuario == clave_guardada). Si el resultado es verdadero se podrá acceder al contenido, caso contrario mostrará un mensaje de "clave incorrecta".
Este mecanismo de comparar y verificar, es el que se usa en programación, para que el programa pueda hacer distintas cosas en función de lo que elija el usuario. De ahi la importancia de los operadores condicionales.
Aquí como no hemos estudiado todavía las estructuras condicionales, nos limitaremos a comprobar el funcionamiento de estos operadores.
Queremos ahora hacer un programa en donde comprobamos los operadores. Para ello debemos recoger el resultado de la operación en una variable de tipo booleano. Por lo tanto declararemos primero dos variables enteras, para los operandos, y una variable booleana para el resultado.
int a = 3, b= 7; bool r;
Ahora asignamos a la variable booleana el resultado de la operación:
r = a < b ;
Después podemos sacar el resultado en pantalla :
cout << r << endl;
En pantalla se mostrará un 0 ó un 1, dependiendo de si el valor es "false" o "true".
Podemos abreviar el proceso y sacar directamente el resultado de la operación en pantalla, pero entonces, ésta la debemos poner entre paréntisis.
cout << (a < b) << endl;
El resultado es el mismo, pero aquí no es necesario declarar la variable booleana "r", mientras no la usemos directamente.
Veamos ahora con un programa de ejemplo, cómo indicamos si la comparación que se da con los operadores es verdadera o falsa.
#include<iostream> using namespace std; int main(){ cout << "OPERADORES CONDICIONALES" << endl << endl; cout << "Mostrar resultados : 0 = falso; 1 = verdadero" << endl; int a, b; cout << "Escribe un numero entero (a) : "; cin >> a; cout << "Escribe otro numero entero (b) : "; cin >> b; cout << endl << "Comparaciones y resultados ..." << endl; cout << "a < b = " << (a < b) << endl; cout << "a > b = " << (a > b) << endl; cout << "a <= b = " << (a <= b) << endl; cout << "a >= b = " << (a >= b) << endl; cout << "a == b = " << (a == b) << endl; cout << "a != b = " << (a != b) << endl; }
Compilamos y ejecutamos el programa. Este le pide al usuario dos números.
Con esos dos números hará las diferentes operaciones condicionles, y mostraremos el resultado con los números 0 ó 1, para falso o verdadero respectivamente.
El resultado es parecido al que vemos aquí a la derecha. Prueba a introducir en el programa distintos números, distintos o iguales, para comprobar que los resultados que da son los correctos.
Acabamos con esto los operadores condicionales, pero no los operadores que dan como resultado un booleano, ya que en la próxima página veremos los operadores lógicos.
En la siguiente página veremos los operadores lógicos, que operan con datos booleanos.
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com