Академический Документы
Профессиональный Документы
Культура Документы
Oviedo
Algoritmos y lenguajes de
programacin
UDI-07
Estructuras selectivas
Rafael de la Cruz Prez
ndice
1.
Estructuras selectivas....................................................................................... 3
2 | Pgina
2.
3.
Conclusin.................................................................................................... 10
4.
Bibliografas.................................................................................................. 10
3 | Pgina
1. Estructuras selectivas
1.1 Simple
Permite ejecutar una accin o grupo de acciones solo si se cumple una determinada
condicin, es decir, donde la condicin C es un grupo de condiciones a evaluarse. El
bloque A representa la operacin o conjunto de operaciones a realizar si la condicin
C es verdadera.
Explicacin
Pedimos el nmero, lo leemos, ahora evaluamos la condicin: si (el residuo del
nmero entre tres es cero) se ejecuta todas las sentencias que estn dentro de los
corchetes (en C++), hasta el Finsi (en pseudocdigo), en el ejemplo solo tenemos
una sentencia pero se pueden poner ms por ejemplo se pudo poner:
if(numero%3==0)
{
cout<<El nmero es mltiplo de tres<<endl;
cout<<El doble del nmero es <<numero*2<<endl;
}
cout<<El numero ingresado es<<numero<<endl;
4 | Pgina
En el caso de que haya una sola sentencia a ejecutarse cuando la condicin a
evaluar sea verdadera como en el ejemplo anterior se pueden omitir los
corchetes, en caso de que haya ms de dos sentencias el uso de corchetes
es
obligatoria.
Por lo tanto seria tambin correcto.
if(numero%3==0)
cout<<El nmero es mltiplo de tres<<endl;
cout<<El numero ingresado es<<numero<<endl;
1.2 Doble
Permite seleccionar una ruta de dos posibles, en base a la verdad (V) o falsedad (F) de
la condicin
Si (if) la condicin es verdadera, se ejecutan las sentencias: {a1, a2, a3, , an} , sino
(else) se ejecutaran las sentencias: {b1, b2, b3, , bn}
Si la sentencia solo tiene una lnea no es necesario poner llaves.
1.3
Anidada
Una
puede
otra
hay que tener
anidamiento
estructura de decisin
estar anidada dentro de
estructura de decisin,
en
cuenta
que
el
sea total.
Se
debe
que
una
debe
tener
sola
salida
que
anida
anidada.
mantener el concepto
estructura de decisin
una sola entrada y una
tanto para la estructura
como para la estructura
5 | Pgina
Ejemplo
#include<iostream.h>
int main(){
int num;
cout<<"Ingrese un numero : ";
cin>>num;
if(num>0){
cout<<"El nmero es mayor que cero"<<endl;
}
else{
cout<<"El nmero no es mayor que cero"<<endl;
}
system("pause");
return 0;
}
6 | Pgina
1.4 Mltiple
Esta instruccin se utiliza para seleccionar una alternativa dentro de mltiples opciones
disponibles.
El contenido de la variable selector debe ser ordinal, es decir debe ser de
tipo int o char o sus variantes de int: long int, short int, no est permitido
datos
de
tipo float.
Es decir si la variable selector es exactamente igual a la constante J, entonces se
ejecutara la sentencia J(s), luego de encontrar la instruccin break, har que el control
del programa salga fuera del switch.
Si no cumple la condicin anterior pasara a evaluar el siguiente caso y as
sucesivamente. Si ninguno de los casos se cumple ejecuta las sentencias default.
Ejemplo
Escribir un
algoritmo
pida
el
colegio de
que
Nacional
Particular
50
25
40
29
30
15
7 | Pgina
int main(){
char c,p;
int monto;
cout<<"Colegio de procedencia : A / B / C : ";
cin>>c;
cout<<"Ingrese el modo de educacin : N / P : ";
cin>>p;
switch(c){
case 'A':
if(p=='N')
monto=50;
if(p=='P')
monto=25;
break;
case 'B':
if(p=='N')
monto=40;
if(p=='P')
monto=29;
break;
case 'C':
if(p=='N')
monto=30;
if(p=='P')
monto=15;
break;
default:
monto=0;
break;
}
if(monto!=0)
cout<<"El importe a pagar es "<<monto<<endl;
else
cout<<"Asegrese de haber ingresado bien los
datos"<<endl;
system("pause");
return 0;
}
Explicacin
Se pide el ingreso del colegio y el modo de educacin tener en cuenta que
una misma letra en mayscula y en minscula son diferentes en C++
por lo tanto si se ingresan como colegio: a (en minscula) no ser
reconocido.
En el switch(c) se evala el colegio de procedencia por ser un dato de tipo
char no hay ningn problema (lo mismo con enteros), despus se
busca en donde coincide el dato; por ejemplo si fuera: B la letra
ingresada entra a ejecutar todo en cdigo que est debajo de case
B (o al costado depende de cmo est escrita el cdigo) hasta
encontrar el break que hace que salga de switch(sale del corchete del
8 | Pgina
Instruccin While
while (condicion)
{
instruccin 1;
..............
instruccin N;
}
Ejecuta una instruccin o un bloque de instrucciones cero o ms veces, dependiendo
del valor de la condicin.
Se evala la condicin, y si es cierta, se ejecuta la instruccin o bloque de
instrucciones y se vuelve a evaluar la condicin; pero si la condicin es falsa, se pasa a
ejecutar la siguiente instruccin despus del while.
Ejemplo de instruccin while en C++. Programa que lee nmeros enteros hasta que se
lee un nmero negativo. Se muestra la suma de todos los nmeros ledos excepto el
nmero negativo.
9 | Pgina
{
Instruccin 1;
..............
Instruccin N;
}
while (condicion);
Ejecuta una instruccin o un bloque de instrucciones, una o ms veces, dependiendo
del valor de la condicin.
Se ejecuta la instruccin o bloque de instrucciones y a continuacin se evala la
condicin. Si la condicin es cierta, se vuelve a ejecutar la instruccin o bloque de
instrucciones, y si es falsa, pasa a ejecutarse la siguiente instruccin despus del dowhile.
Cuando se utiliza una instruccin do-while el bloque de instrucciones se ejecuta al
menos una vez, ya que la condicin se evala al final. En cambio, con una instruccin
while, puede suceder que el bloque de instrucciones no llegue a ejecutarse nunca si la
condicin inicialmente es falsa.
Ejemplo de instruccin do while en C++. Programa que lee un nmero entero. El
nmero debe estar comprendido entre 1 y 100
10 | P g i n a
En alguna ocasin puede no ser necesario escribir alguna de ellas. En ese caso se
pueden dejar en blanco, pero el punto y la coma deben aparecer.
El funcionamiento de un bucle for el siguiente:
1.
2.
Se evala la condicin.
3.
4.
5.
3. Conclusin
C++ nos ofrece bastantes formas de programar. Dependiendo del tipo de programa que se
quiera hacer, tambin se tiene una estructura. El funcionamiento de cada una es diferente
y nos sirve de diferentes formas. Las estructuras selectivas nos hacen ms sencilla la
forma de programar, y sin un ciclo repetitivo tendramos que hacer muchsimas lneas de
instrucciones, aparte de eso un ciclo tambin nos ayuda a parar el programa cuando sea
necesario.
4. Bibliografas
http://ejercicioscpp.blogspot.mx/2012/11/estructuras-de-control-en-c.html
http://aprende-a-programar-ya.blogspot.mx/2011/08/estructuras-selectivas.html
http://aprende-a-programar-ya.blogspot.mx/2011/08/estructura-condicional-multiple.html
11 | P g i n a