Estructuras de Selección en C++
Estructuras de Selección en C++
Estructuras de Selección en C++
Núcleo de Monagas
Departamento de Ingeniería de Sistema
Programación orientada a objetos (072-2103)/Taller de programación orientada
a objetos (072-2111)
1
Índice
Operadores 3
Aritméticos 3
Relacionales 3
Lógicos 3
Criterios de selección 4
La instrucción if-else 4
Selección unidireccional 5
Instrucciones if anidadas 5
La instrucción switch 6
2
Operadores
Aritméticos
+ Adición 3+2=5
- Sustracción 3-2=1
* Multiplicación 3*2=6
/ División 3 / 2 = 1.5
% Módulo 3%2=2
Relacionales
== igual a 3 == 2 falso
Lógicos
3
Criterios de selección
En la solución de muchos problemas, deben emprenderse diferentes acciones dependiendo del
valor de los datos. Los ejemplos de situaciones simples incluyen calcular un área sólo si las
mediciones son positivas, ejecutar una división sólo si el divisor no es cero, imprimir diferentes
mensajes dependiendo del valor de una calificación recibida, y así en forma sucesiva. La
instrucción if-else en C++ se usa para poner en práctica una estructura de decisión en su forma
más simple, la de elegir entre dos alternativas. La sintaxis del pseudocódigo más usada de esta
instrucción es
if(condición){
instrucción ejecutada si la condición es verdadera;
} else {
instrucción ejecutada si la condición es falsa;
}
Cuando un programa en ejecución encuentra la instrucción if, la condición es evaluada para
determinar su valor numérico, el cual es interpretado entonces como verdadero o falso. Si la
condición produce cualquier valor numérico positivo o negativo diferente de cero, la condición
es considerada como una condición “verdadera” y se ejecuta la instrucción que sigue a if. Si la
condición produce un valor numérico de cero, la condición es considerada como una condición
“falsa” y se ejecuta la instrucción que sigue a else. La parte else de la instrucción es opcional
y puede omitirse.
La instrucción if-else
La estructura if-else dirige a la computadora a ejecutar una serie de una o más instrucciones
basadas en el resultado de una comparación. Por ejemplo, suponga que se va a calcular el área
de un círculo dado el radio como un valor de entrada. Si la entrada es un número negativo se
va a imprimir un mensaje indicando que el radio no puede ser un valor negativo; de lo contrario
se va a calcular e imprimir el área del círculo. La estructura if-else puede utilizarse en esta
situación para seleccionar la operación correcta con base en si el radio es negativo o no. La
sintaxis general de la instrucción if-else es:
if (condición) {
instrucciones si se cumple la condición;
} else {
instrucciones sino se cumple la condición;
}
4
Selección unidireccional
Una modificación útil de la instrucción if-else implica omitir por completo la parte else de la
instrucción. En este caso, la instrucción if adquiere la forma abreviada y con frecuencia útil. Se
puede escribir la estructura if, sin la estructura else. Pero no se puede escribir la estructura else
sin la if, es decir, se puede escribir:
if (condición) {
instrucciones si se cumple la condición;
}
Ejemplo:
#include #include
using namespace std;
int main() {
int edad;
edad = 18;
if (edad >= 18) {
cout << “Es mayor de edad” << endl;
} else {
cout << “Es menor de edad” << endl;
}
return 0;
}
Instrucciones if anidadas
Una instrucción if-else puede contener instrucciones simples o compuestas. Puede usar
cualquier instrucción de C++ válida, incluyendo otra instrucción if else. Por tanto, pueden
incluirse una o más instrucciones if-else dentro de cualquier parte de una instrucción if-else.
La inclusión de una o más instrucciones if dentro de una instrucción if se llama instrucción if
anidada.
if (condición) {
5
instrucciones si se cumple la condición;
if (condición) {
instrucciones si se cumple la condición;
} else {
instrucciones sino se cumple la condición;
}
} else {
instrucciones sino se cumple la condición;
if (condición) {
instrucciones si se cumple la condición;
} else {
instrucciones sino se cumple la condición;
}
}
Ejemplo:
#include #include
using namespace std;
int main() {
int edad;
edad = 18;
if (edad >= 18) {
if (pago >= 1000) {
cout << “Biendenido” << endl;
} else {
cout << “Debe cancelar el valor completo de la entrada” << endl:
}
} else {
cout << “Es menor de edad” << endl;
}
return 0;
}
La instrucción switch
La cadena if-else se usa en aplicaciones de programación donde un conjunto de instrucciones
debe ser seleccionada entre muchas alternativas posibles. La instrucción switch proporciona
una alternativa a la cadena if-else para casos que comparan el valor de una expresión de número
entero con un valor específico. La forma general de una instrucción switch es:
switch(expresion) {
case valor1:
instruccion1;
6
instruccion2;
.
.
break;
case valor2:
instruccion;
instruccion;
.
.
break;
case valorN:
instruccionN;
instruccionN;
.
.
break;
default:
instruccionA;
instruccionB;
break;
En este caso, la instrucción switch se utiliza para comparar que un valor sea igual a otro, que
en esta situación son los casos (case), si alguna de los casos coincide con el valor en evaluado
se ejecutarán todas las instrucciones que se encuentres en el segmento de bloque de dicho caso.
La palabra reservada break se utiliza para indicar que se cumplieron todas las instrucciones del
caso y continuar con la ejecución del programa, si esta no se indicada el programa quedaría en
bucle y no se ejecutara de la manera esperada. El segmento de bloque default es aquel que se
ejecutará en caso de no encontrar coincidencia con alguno de los casos anteriores.
Ejemplo:
#include #include
using namespace std;
int main() {
int diaSemana = 1;
switch (diaSemana) {
case 1:
cout<< "Lunes" << endl;
break;
case 2:
cout<< "Martes" << endl;
7
break;
case 3:
cout<< "Miercoles" << endl;
break;
case 4:
cout<< "Jueves" << endl;
break;
case 5:
cout<< "Viernes" << endl;
break;
case 6:
cout<< "Sabado" << endl;
break;
case 7:
cout<< "Domingo" << endl;
break;
default:
cout<< "Debe indicar un dia de la semana valido" << endl;
break;
}
return 0;