(Creado por el analista de sistemas y docente Leonel Iván Saafigueroa)
Expresiones y Estructuras de Control
Gracias a las estructuras condicionales seremos capaces de crear programas que sean capaces de tomar decisiones.

Una sentencia condicional en un lenguaje de programación permite tomar decisiones en función del valor de una condición que se da a través de expresiones.
Por ejemplo, si eres mayor de edad puedes ver la película, si eres menor no te dejaran pasar.

En este programa al ingresar cualquier número mayor a 17 el programa responde “Sos mayor de edad.”, mientras que cualquier número menor a 17 muestra “Sos menor de edad”.
Veamos el código:
// EXPRESIONES Y ESTRUCTURAS DE CONTROL
#include <iostream>
using namespace std;
int edad;
int main()
{
cout << "Ingrese su edad: ";
cin >> edad;
if(edad>17) // si se cumple.
{
cout << "Sos mayor de edad." << endl;
}
else // de lo contrario...
{
cout << "Sos menor de edad." << endl;
}
return 0;
}
Vamos a analizar línea por línea este código en C++:
Línea 1: // EXPRESIONES Y ESTRUCTURAS DE CONTROL
Comentario: es un texto que se ignora por el compilador. En este caso, se está indicando el tema del archivo (expresiones y estructuras de control).
Línea 3: #include <iostream>
Dirección al archivo iostream: este archivo proporciona entradas y salidas estandarizadas (como la consola) para leer y escribir texto.
Línea 5: using namespace std;
Declaración de uso del espacio de nombres std (estándar): esto permite acceder a los objetos y funciones definidos en ese espacio de nombres sin tener que especificar explícitamente el nombre del espacio de nombres. En este caso, estamos utilizando el espacio de nombres std para utilizar las clases y funciones definidas en él, como por ejemplo cout y cin.
Línea 7: int edad;
Declaración de una variable entera llamada edad: esta variable será utilizada para almacenar la edad ingresada por el usuario.
Línea 9: int main()
Definición del punto de entrada (función principal) main: esta función es el inicio de cualquier programa C++ y se llama cuando se ejecuta el programa. La función main debe tener un tipo de retorno int, ya que el compilador espera saber si el programa terminó correctamente o no.
Línea 11: cout << "Ingrese su edad: ";
Salida por pantalla de la cadena "Ingrese su edad: " utilizando el objeto cout: este objeto es una parte del espacio de nombres std y se utiliza para escribir texto en la consola.
Línea 12: cin >> edad;
Entrada desde la consola en la variable edad utilizando el objeto cin: este objeto es otra parte del espacio de nombres std y se utiliza para leer texto desde la consola y asignarlo a una variable.
Líneas 13-20:
- Condición
if: se está verificando si la variableedades mayor a 17.
- Si es cierto, se ejecutará el bloque de código dentro del
if.- Bloque
if: se imprime por pantalla un mensaje indicando que la persona es mayor de edad.
- Bloque
- Condición
else: si la condiciónifno se cumple (es decir, si la variableedadno es mayor a 17), se ejecutará el bloque de código dentro delelse.- Bloque
else: se imprime por pantalla un mensaje indicando que la persona es menor de edad.
- Bloque
Línea 21: return 0;
Retorno de la función principal main con el valor 0: esto indica que el programa terminó correctamente. Si el programa hubiera tenido errores o no se había ejecutado correctamente, el valor devuelto sería diferente
(por ejemplo, -1).
Operadores Relacionales en C++:
| == | IGUAL |
| != | DISTINTO |
| < | MENOR |
| <= | MENOR O IGUAL |
| > | MAYOR |
| >= | MAYOR O IGUAL |
En el siguiente ejemplo veremos un algoritmo que nos deja ejecutar un programa siempre y cuando ingresemos el número secreto.

Vamos a utilizar una variable con el código secreto para luego compararla con la lectura guardada en la variable code, en este vamos a utilizar una frase como contraseña, por lo que al ser una cadena de caracteres recuerden que va entre comillas.
Las páginas de Internet utilizan los mismos algoritmos aplicados aquí, solo que asocian bases de datos en el proceso de validación.
Veamos el código:
// PROG07C - EJEMPLO PARA INGRESAR CONTRASEÑA ALFANUMÉRICA.
#include <iostream>
using namespace std;
string secreto="mi secreto";
string code;
int main()
{
cout << "Ingrese código: ";
getline(cin, code);
if(code==secreto)
{
cout << "Acceso permitido." << endl;
}
else
{
cout << "Acceso denegado." << endl;
}
return 0;
}
Vamos a analizar línea por línea este código en C++:
Línea 1: // PROG07C - EJEMPLO PARA INGRESAR CONTRASEÑA ALFANUMÉRICA.
Esta línea es un comentario. El símbolo // indica que lo que sigue hasta el fin de la línea es un comentario, y no forma parte del código ejecutable. En este caso, se trata de una breve descripción del programa.
Línea 3: #include <iostream>
Esta línea incluye el archivo iostream, que proporciona funciones para entrada y salida de datos en la consola.
Línea 5: using namespace std;
Esta línea declara que se utilizará el espacio de nombres std, que contiene las clases y funciones del estándar C++.
El símbolo using permite especificar qué partes del espacio de nombres se desean utilizar.
Línea 7-8: string secreto="mi secreto"; string code;
- Estas líneas declaran dos variables de tipo
string, que son cadenas de texto en C++. - La primera variable,
secreto, se inicializa con el valor"mi secreto". - La segunda variable,
code, se declara pero no se inicializa.
Línea 10: int main()
Esta línea declara la función principal del programa, que es el punto de entrada y salida para cualquier aplicación en C++.
El tipo int indica que la función devuelve un valor entero (en este caso, el código de retorno de la función).
Línea 12-13: cout << "Ingrese código: "; getline(cin, code);
- Estas líneas realizan dos acciones:
- La primera línea utiliza el objeto
coutpara imprimir en consola el texto"Ingrese código: ". - La segunda línea utiliza la función
getlinepara leer una línea de entrada desde la consola y asignarla a la variablecode.
- La primera línea utiliza el objeto
Línea 14: if(code==secreto)
Esta línea inicia un bloque if que comprueba si el valor de la variable code es igual al valor de la variable secreto.
Líneas 15-17: { cout << "Acceso permitido." << endl; }
Si el condicional if es verdadero, se ejecutan estas dos líneas:
- La primera línea utiliza el objeto
coutpara imprimir en la consola el texto"Acceso permitido.". - La segunda línea utiliza el objeto
endlpara insertar un salto de línea después del mensaje.
Línea 18: else
Esta línea inicia un bloque else que se ejecutará si el condicional if es falso.
Líneas 19-21: { cout << "Acceso denegado." << endl; }
Si el bloque else se ejecuta, se imprimirá en la consola el texto "Acceso denegado.".
Línea 22: return 0;
Esta línea finaliza la función principal y devuelve un código de retorno entero (en este caso, cero).
En próximas estructuras se verá cómo dar algunas chances antes de que muestre “Acceso denegado.”, o que pregunte de manera infinita hasta ingresar el número correcto.
TAREA PARA EL HOGAR
Utilizar el algoritmo seguridad en conjunto con alguno de los programas creados anteriormente, para que solo puedan ejecutarse si se ingresa el código correcto.