Llega un punto en la programación en el cual deseas realizar aplicaciones que puedan tomar decisiones según los datos que introduzca un usuario. Todas las aplicaciones de usuario actúan según las opciones que eligen los mismos, podemos poner por ejemplo la aplicación que hay en los cajeros automáticos o en los puntos de información… Si quieres aprender a realizar programas de este tipo no debes de leer este artículo puesto que te explico la base para ello.

Hasta ahora hemos realizado programas secuenciales. Esto significa que todas nuestras instrucciones eran evaluadas y ejecutadas secuencialmente por el compilador, línea a línea. Ahora vamos a programar alternativas, quiere decir que según nuestro código y los valores introducidos por el usuario el compilador evaluará y ejecutará líneas de código de manera alternativa, no secuencial.
Este programa es un programa secuencial:

1
2
3
4
5
6
7

#include
#include
using namespace std;
int main(){
int variableedad;
cout<>variableedad;
cout<

En este caso el programa se ejecuta línea a linea, lo voy a describir haciendo una traza exhaustiva:  En la línea 1 y 2 el compilador carga las librerías necesarias. En la siguiente línea hace una llamada a la función std. en la línea 4 declaramos el programa principal. En la línea 5 declaramos una variable de tipo entero y sin ningún valor, por tanto, se crea una reserva de memoria en la memoria principal.En la línea 6 se manda un mensaje por pantalla para que se introduzca un dato. En la línea 7 el usuario introduce un dato y se guarda en la variableedad. En la línea 8 se muestra el dato introducido por el usuario por pantalla y en la 9 se ejecuta la función getch() para mantener la pantalla hasta que se pulsa una tecla y termina el programa.
Este programa es secuencial por que se ejecuta desde la línea 1 hasta la línea 9 sin ninguna alternativa.
La sentencia if, tras evaluar una expresión lógica, ejecuta una serie de sentencias en caso de que la expresión lógica sea verdadera. Su sintaxis es:

 

La expresión lógica es una expresión vista en artículos anteriores, caben expresiones relacionales y expresiones lógicas cuyo resultado sea verdadero o falso. Esta sentencia condicional también puede ser compuesta. Es igual que la anterior pero se le añade un apartado que es el else que contendrá instrucciones que se ejecutarán en caso de que la expresión evaluada por el if es falsa. Su sintaxis es la siguiente.

 

 


Dentro de una sentencia if se puede colocar otra sentencia if y asi sucesivamente, esto es lo que se denomina como anidamiento, y permite crear programas donde se valoren expresiones complejas.

Decir que, tanto en el if como en el else sólo hay una única sentencia entonces en la sintaxis podemos eliminar las llaves ({}). Para que este concepto te quede completamente claro vamos a ver un ejemplo en c++. El ejemplo siguiente va a mostrar un programa con alternativas. El programa pedirá una nota de 0 a 10, y según esa nota escribirá en la pantalla si es un aprobado, si la nota es mayor que 5 o si es un suspenso, si la nota es menor que cinco.

Como se observa en el código, este programa puede tomar dos alternativas, si el número introducido por el usuario es menor que 5 entonces el compilador se olvida del else y sólo ejecuta las sentencias del if, en caso contrario,el número es mayor que 5, el compilador se olvida del if y ejecuta lo que hay en el else.

Esto es sólo una introducción a las sentencias condicionales, para que te quede claro y trabajes el concepto, haz los siguientes ejercicios:

  1. Copia el ejemplo anterior, compilalo y prueba que te funcione. Haz un ejercicio similar sabiendo que si la nota esta entre 0 y 5 sin incluir el cinco tiene que mostrar Suspenso, si esta entre 5 y 6 incluido, es Bien. Si esta entre 6 y 9 inclusive es Notable. Y si es mayor que nueve escriba por pantalla Sobresaliente. Trabaja las expresiones relacionales.

  2. Haz un programa que dado un número te saque un mensaje por pantalla diciendo si es positivo o negativo.

Trabaja estos ejercicios y relee el artículo para dejar claro este concepto. Como siempre si tienes alguna duda, puedes consultármela mediante los comentarios. Yo mismo responderé con gusto a las mismas.