PROGRAMACIÓN EN C++ – CLASE 06

(Creado por el analista de sistemas y docente Leonel Iván Saafigueroa)


Operadores Lógicos

Los operadores lógicos producen un resultado booleano, y sus operandos son también valores lógicos o asimilables a ellos.


OPERADOR LÓGICO “Y”

En este primer ejemplo vamos a realizar un programa que controle si podemos obtener la licencia de conducir; para ello es necesario que se cumplan 2 condiciones al mismo tiempo: “haber cumplido los 17 años de edad” (Y) “aprobar el examen de conducir“.

Si las dos condiciones se cumplen, será Verdad que podemos conseguir la licencia.

Con que alguna de las dos no se cumpla, sera Falso que podemos obtener la licencia.

(en resumen, necesitamos que las dos sean verdadero para que sea verdad)


Veamos el código:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// PROG08 - OPERADOR LÓGICO "Y".
#include <iostream>
using namespace std;
int edad;
int examen;
int main()
{
cout << "¿Cumplió los 17 años de edad?" << endl;
cout << "1 - Si." << endl;
cout << "2 - No." << endl;
cout << "Ingrese la opción: ";
cin >> edad;
cout << "¿Aprobó el examen de conducir?" << endl;
cout << "1 - Si." << endl;
cout << "2 - No." << endl;
cout << "Ingrese la opción: ";
cin >> examen;
if(edad==1 && examen==1)
{
cout << endl << "Puede obtener su licencia." << endl;
}
else
{
cout << endl << "No puede obtener su licencia." << endl;
}
return 0;
}
// PROG08 - OPERADOR LÓGICO "Y". #include <iostream> using namespace std; int edad; int examen; int main() { cout << "¿Cumplió los 17 años de edad?" << endl; cout << "1 - Si." << endl; cout << "2 - No." << endl; cout << "Ingrese la opción: "; cin >> edad; cout << "¿Aprobó el examen de conducir?" << endl; cout << "1 - Si." << endl; cout << "2 - No." << endl; cout << "Ingrese la opción: "; cin >> examen; if(edad==1 && examen==1) { cout << endl << "Puede obtener su licencia." << endl; } else { cout << endl << "No puede obtener su licencia." << endl; } return 0; }
// PROG08 - OPERADOR LÓGICO "Y".
#include <iostream>

using namespace std;

int edad;
int examen;

int main()
{
    cout << "¿Cumplió los 17 años de edad?" << endl;
    cout << "1 - Si." << endl;
    cout << "2 - No." << endl;
    cout << "Ingrese la opción: ";
    cin >> edad;
    cout << "¿Aprobó el examen de conducir?" << endl;
    cout << "1 - Si." << endl;
    cout << "2 - No." << endl;
    cout << "Ingrese la opción: ";
    cin >> examen;
    if(edad==1 && examen==1)
    {
        cout << endl << "Puede obtener su licencia." << endl;
    }
    else 
    {
        cout << endl << "No puede obtener su licencia." << endl;
    }
    return 0;
}

Vamos a analizar línea por línea este código en C++:

Línea 1: // PROG08 - OPERADOR LÓGICO "Y".
Este es un comentario, una línea que se ignora por el compilador. Es como un título o una nota para el programador.

Línea 2: #include <iostream>
Esta es una directiva de inclusión que importa la biblioteca estándar iostream. Esta biblioteca proporciona funciones para entrada y salida de datos, como cin (entrada) y cout (salida).

Línea 4: using namespace std;
Esto utiliza el espacio de nombres estándar (std) en todo el programa. Esto significa que podemos utilizar las clases y funciones definidas en la biblioteca estándar sin tener que especificar su nombre completo.

Línea 6: int edad;

Línea 7: int examen;
Estas son declaraciones de variables enteras para almacenar respuesta de edad y examen, respectivamente.

Línea 9: int main()
Esta es la función principal del programa, donde se ejecutan las instrucciones. La función main debe devolver un valor entero que indica si el programa terminó correctamente (0) o con error (-1).

Línea 11: cout << "¿Cumplió los 17 años de edad?" << endl;
Este comando imprime una frase en la consola utilizando el objeto cout, seguida de un salto de línea (endl). La frase pide al usuario si cumplió con los 17 años de edad.

Línea 12: cout << "1 - Si." << endl;

Línea 13: cout << "1 - No." << endl;
Estos comandos imprimen opciones para el usuario.

Línea 14: cout << "Ingrese la opción: ";
Este comando imprime un mensaje pidiendo al usuario que ingrese una opción.

Línea 15: cin >> edad;
Este objeto cin leen la entrada del usuario y almacena el valor en la variable edad.

Línea 16: cout << "¿Aprobó el examen de conducir?" << endl;
Este comando imprime una frase en la consola utilizando el objeto cout, seguida de un salto de línea (endl). La frase pide al usuario si aprobo el examen de conducir.

Línea 17: cout << "1 - Si." << endl;

Línea 18: cout << "1 - No." << endl;
Estos comandos imprimen opciones para el usuario.

Línea 19: cout << "Ingrese la opción: ";
Este comando imprime un mensaje pidiendo al usuario que ingrese una opción.

Línea 20: cin >> examen;
Este objeto cin leen la entrada del usuario y almacenan el valor en la variable examen.

Línea 21: if(edad==1 && examen==1)
Este es un condicional if que evalúa si la edad y examen son iguales a 1. El operador “&&” en C++ significa “y” en lógica booleana, por lo que se requiere que ambas condiciones sean verdaderas para que el bloque de código dentro sea ejecutado.

Línea 23: cout << endl << "Puede obtener su licencia." << endl;
Si la condición if se cumple, este comando imprime un mensaje indicando que el usuario puede obtener su licencia.

Línea 25: else
Este es el bloque else, que se ejecuta si la condición if no se cumple.

Línea 27: cout << endl << "No puede obtener su licencia." << endl;
Si la condición if no se cumple, este comando imprime un mensaje indicando que el usuario no puede obtener su licencia.

Línea 29: return 0;
La función main termina con un valor de retorno de 0, lo que indica que el programa terminó correctamente.


OPERADOR LÓGICO “O”

En este segundo ejemplo vamos a realizar un programa que controle si tenemos al menos uno de 2 síntomas: “tener dolor de garganta” (O) “tener fiebre“.

Si una de las dos condiciones se cumplen, será Verdad y nos dirá ir a una guardia médica.

Si no se cumplen ninguna de las dos condiciones, sera Falso y nos dirá que estamos saludables.

(en resumen, necesitamos que al menos una sea verdadera para que sea verdad)


Veamos el código:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// PROG08B - OPERADOR LÓGICO "O".
#include <iostream>
using namespace std;
int dolor;
int fiebre;
int main()
{
cout << "¿Tiene dolor de garganta?" << endl;
cout << "1 - Si." << endl;
cout << "2 - No." << endl;
cout << "Ingrese la opción: ";
cin >> dolor;
cout << "¿Tiene fiebre?" << endl;
cout << "1 - Si." << endl;
cout << "2 - No." << endl;
cout << "Ingrese la opción: ";
cin >> fiebre;
if(dolor==1 || fiebre==1)
{
cout << endl << "Vaya a una guardia médica." << endl;
}
else
{
cout << endl << "Estas saludable." << endl;
}
return 0;
}
// PROG08B - OPERADOR LÓGICO "O". #include <iostream> using namespace std; int dolor; int fiebre; int main() { cout << "¿Tiene dolor de garganta?" << endl; cout << "1 - Si." << endl; cout << "2 - No." << endl; cout << "Ingrese la opción: "; cin >> dolor; cout << "¿Tiene fiebre?" << endl; cout << "1 - Si." << endl; cout << "2 - No." << endl; cout << "Ingrese la opción: "; cin >> fiebre; if(dolor==1 || fiebre==1) { cout << endl << "Vaya a una guardia médica." << endl; } else { cout << endl << "Estas saludable." << endl; } return 0; }
// PROG08B - OPERADOR LÓGICO "O".
#include <iostream>

using namespace std;

int dolor;
int fiebre;

int main()
{
    cout << "¿Tiene dolor de garganta?" << endl;
    cout << "1 - Si." << endl;
    cout << "2 - No." << endl;
    cout << "Ingrese la opción: ";
    cin >> dolor;
    cout << "¿Tiene fiebre?" << endl;
    cout << "1 - Si." << endl;
    cout << "2 - No." << endl;
    cout << "Ingrese la opción: ";
    cin >> fiebre;
    if(dolor==1 || fiebre==1)
    {
        cout << endl << "Vaya a una guardia médica." << endl;
    }
    else 
    {
        cout << endl << "Estas saludable." << endl;
    }
    return 0;
}

Vamos a analizar línea por línea este código en C++:

Línea 1: // PROG08B - OPERADOR LÓGICO "O".
Esto es un comentario, una línea que se ignora por el compilador. Es como un título o una nota para el programador.

Línea 2: #include <iostream>
Esta es una directiva de inclusión que importa la biblioteca estándar iostream. Esta biblioteca proporciona funciones para entrada y salida de datos, como cin (entrada) y cout (salida).

Línea 4: using namespace std;
Esto utiliza el espacio de nombres estándar (std) en todo el programa. Esto significa que podemos utilizar las clases y funciones definidas en la biblioteca estándar sin tener que especificar su nombre completo.

Línea 6-7:

int dolor;

int fiebre;
Estas son declaraciones de variables enteras para almacenar respuesta de dolor y fiebre, respectivamente.

Línea 9: int main()
Esta es la función principal del programa, donde se ejecutan las instrucciones. La función main debe devolver un valor entero que indica si el programa terminó correctamente (0) o con error (-1).

Línea 11: cout << "¿Tiene dolor de garganta?" << endl;

Línea 12: cout << "1 - Si." << endl;

Línea 13: cout << "1 - No." << endl;

Estos comandos imprimen opciones para el usuario.

Línea 14: cout << "Ingrese la opción: ";
Este comando imprime un mensaje pidiendo al usuario que ingrese una opción.

Línea 15: cin >> dolor;

Este objeto cin leen la entrada del usuario y almacenan el valor en la variable dolor.

Línea 16: cout << "¿Tiene fiebre?" << endl;

Línea 17: cout << "1 - Si." << endl;

Línea 18: cout << "1 - No." << endl;

Estos comandos imprimen opciones para el usuario.

Línea 19: cout << "Ingrese la opción: ";
Este comando imprime un mensaje pidiendo al usuario que ingrese una opción.

Línea 20: cin >> fiebre;

Este objeto cin leen la entrada del usuario y almacenan el valor en la variable fiebre.

Línea 21: if(dolor==1 || fiebre==1)
Este es un condicional if que evalúa si la variable dolor o fiebre son iguales a 1. Si es así, se ejecuta el código dentro del bloque de if.

Línea 23: cout << endl << "Vaya a una guardia médica." << endl;
Esto imprime un mensaje que indica que el usuario debe ir a una guardia médica si la variable dolor o fiebre son igual a 1.

Línea 25: else
Este es el bloque else, que se ejecuta si la condición if no se cumple.

Línea 27: cout << endl << "Estas saludable." << endl;
Esto imprime un mensaje que indica que el usuario está saludable si la variable dolor y fiebre no son igual a 1.

Línea 29: return 0;
Este valor de retorno indica que el programa terminó correctamente.


Resumen de Operadores Lógicos en C++:

OPERADORACCIÓNEJEMPLORESULTADO
&&Conjunción (Y)(7>4) && (2=2)VVV
(7>4) && (2=1)VFF
(3>4) && (2>1)FVF
(7>8) && (4<1)FFF
||Disyunción (O)(7>4) O (2=2)VVV
(7>4) O (2=1)VFV
(3>4) O (2>1)FVV
(7>8) O (4<1)FFF
!Negación (NO)!(7>4)NOVF
!(7<4)NOFV


TAREA PARA EL HOGAR

  1. Realiza un programa en donde utilices el Operador Lógico Y.
  2. Realiza un programa en donde utilices el Operador Lógico O.