Tema
• Condiciones sencillas
Condiciones
Estructuras de control
Las estructuras de control controlan el flujo de un
programa o función.
Permiten combinar instrucciones o sentencias
individuales en una simple unidad lógica con un
punto de entrada y un punto de salida.
Estatuto if
En C++, la estructura de control de selección
principal es un estatuto if.
El estatuto if tiene dos alternativas o formatos
posibles
Ejemplo:
Calcular el mayor de dos números leídos del
teclado y visualizarlos en pantalla.
void main()
{
int a, b;
cout << “introduzca dos números enteros”;
cin >> a >> b;
if (a > b)
cout << a << endl;
else
cout << b << endl;
}
Sintaxis
if ( condición)
estatuto;
En caso de requerir más de un estatuto es necesario usar llaves.
if ( condición)
{
bloque de estatutos;
}
Ejecución del if
El estatuto se ejecuta de la siguiente manera.
Cuando se alcanza la estructura if dentro de un
programa, se evalúa la condición. Si la condición
es verdadera, se ejecuta el estatuto o conjunto de
estatutos; en caso de que sea falsa se brinca el
estatuto o estatutos.
Por ejemplo:
if (num % 3)
cout << “es divisible entre 3”
Estatuto if de dos alternativas: if – else
if ( condición )
estatuto;
else
estatuto;
En caso de requerir mas de un estatuto es necesario usar llaves
if ( condición )
{
bloque de estatutos;
}
else
{
bloque de estatutos;
}
Ejecución del if – else
La estructura de selección if / else , ejecuta la(s)
accion(es) después de la parte if cuando la condición
es verdadera; en caso de que sea falsa ejecuta la(s)
acción(es) que está(n) después del else.
Ejemplo
if (promedio >= 70)
cout << " Aprobado";
else
cout << "Reprobado";
Tema
• Estatuto switch
Condiciones
El estatuto switch es una sentencia C++ que se utiliza
para seleccionar una de entre múltiples alternativas.
El estatuto switch es especialmente útil cuando la
selección se basa en el valor de una variable simple o de
una expresión simple denominada expresión de control
o selector.
El valor de esta expresión puede ser de tipo int o char,
pero no pude ser del tipo float ni double.
Se utiliza para ejecutar acciones diferentes según el valor
de una expresión o una variable. Consiste en una serie de
etiquetas case y un case por omisión default.
Sintaxis:
switch ( variable) la variable es de tipo entero o caracter
{
case valor1 : accion1; break;
case valor2 : accion2; break;
.
.
case valor n : accionn;break;
default: accionD;
} ;
La acción 1 se ejecuta si la variable adquiere el valor1.
La acción 2 se ejecuta si la variable adquiere el valor 2.
La acción n se ejecuta si la variable adquiere el valor n.
Cualquier otro valor de la variable conduce a la realización de la
secuencia accionD, indicada por la palabra reservada default.
La secuencia default puede omitirse
Estatuto break
Cuando se encuentra una sentencia case
que concuerda con el valor del switch se
ejecutan las sentencias que le siguen y
todas las demás a partir de ahí, a no ser que
se introduzca una sentencia break para salir
de la sentencia switch.
Ejemplo: Dada una fecha con números, muestra la
fecha poniendo el mes con letras.
#include <iostream.h>
int dia, mes, anio;
char resp;
void main()
{
cout<<"Teclea el dia"<<endl;
cin>>dia;
cout<<"Teclea el mes"<<endl;
cin>>mes;
cout<<"Teclea el anio"<<endl;
cin>>anio;
cout<<dia<<" de ";
(continua)
switch (mes)
{
case 1: cout<<"Enero"; break;
case 2: cout<<"Febrero"; break;
case 3: cout<<"Marzo"; break;
case 4: cout<<"Abril"; break;
case 5: cout<<"Mayo"; break;
case 6: cout<<"Junio"; break;
case 7: cout<<"Julio"; break;
case 8: cout<<"Agosto"; break;
case 9: cout<<"Septiembre"; break;
case 10: cout<<"Octubre"; break;
case 11: cout<<"Noviembre"; break;
case 12: cout<<"Diciembre"; break;
default: cout<<"ERROR";
};
cout<<" de "<<anio<<endl<<endl;
}
Ejemplo: Programa que pide un número de mes y
escribe la cantidad de días que
tiene.
#include <iostream.h>
int mes;
void main()
{
cout<<"Teclea el mes"<<endl;
cin>>mes;
(continua)
switch (mes)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: cout<<"31 dias"<<endl; // el break va hasta después del 12 pues si fue cualquiera de
estos meses tiene 31
break; // días, y al encontrar el break sale del switch, si no fue ninguno sigue
revisando
case 2: cout<<"28 o 29 dias"<<endl;
break;
case 4:
case 6:
case 9:
case 11: cout<<"30 dias"<<endl; break;
default: cout<<"ERROR";
};
}
Tema
• Condiciones anidadas
Condiciones
Estatutos if ´s anidados
Los estatutos if implementan decisiones que
implican una o dos alternativas, un estatuto if es
anidada cuando la sentencia de la rama verdadera
o la rama falsa es a su vez una sentencia if.
Un estatuto if anidada se puede utilizar para
implementar decisiones con varias alternativas o
multi-alternativas
Sintaxis:
if (condición1)
estatuto1
else
if (condición2)
estatuto2
•
else
if (condiciónn)
estatuton
else
estatutoe
Si tenemos el siguiente fragmento de código:
if (condición 1)
if (condición 2)
estatuto;
else // este else pertenece al if de la
condición 2, pues se
// se asocia al if más cercano
estatuto;
Si queremos que el else pertenezca al primer if debemos poner:
if (condición 1)
{
if (condición 2)
estatuto;
}
else // con el uso de llaves cerramos el if anidado y
el else
estatuto; // pertenece al primer if
Ejemplo:
Determinar si un número es cero, positivo o negativo.
if (num == 0)
cout << " El número es cero";
else
if (num > 0)
cout << " El número es positivo";
else
cout << " El número es negativo";
Ejemplo I: Programa que lee 3 números enteros diferentes y los despliega de
mayor a menor.
#include <iostream.h>
/* Declaración de variables globales */
int a,b,c;
int main()
{
cout << "Dame los 3 numeros "<< endl;
cin >> a >> b >> c;
if (a > b)
if ( b > c)
cout <<endl<< a << " " << b << " " << c <<endl;
else
if (c > a)
cout <<endl<< c << " " << a << " " << b <<endl;
else
cout <<endl<< a << " " << c << " " << b <<endl;
if ( a > c) {
if ( b > a)
cout <<endl<< b << " " << a << " " << c <<endl;
}
else
if ( b > c )
cout <<endl<< b << " " << c << " " << a <<endl;
else
if (c > b) {
if (b > a)
cout <<endl<< c << " " << b << " " << a <<endl;
}
system ("pause");
return 0;
Condiciones