Download - Estructuras de Control de Flujo1
-
7/30/2019 Estructuras de Control de Flujo1
1/13
Notas para la asignatura Metodologa de la Programacin
-
7/30/2019 Estructuras de Control de Flujo1
2/13
Permiten modificar elflujo de ejecucin delas instrucciones de
un programa.
Todas lasestructuras de
control tienen un
nico punto deentrada y unnico punto de
salida.
Las estructurasde control seclasifican en:
Secuenciales
De seleccin
Iterativas o repetitivas
-
7/30/2019 Estructuras de Control de Flujo1
3/13
Estructuras decontrol de flujo
Secuenciales De seleccin
Simple (if)
Doble (if-else)
Mltiple(switch)
Iterativas
Controladas porcontador (for)
Controladas porcondicin
Por condicininicial (while)
Por condicinfinal (do-while)
-
7/30/2019 Estructuras de Control de Flujo1
4/13
Su objetivo es decidir entre dos o ms opciones.
Contiene una expresin relacional o booleana y si est esverdadera, entrar a la estructura en su ramaverdadera, de lo contrario, entrar a la rama falsa (else)
Una vez concluidas las acciones de la ramacorrespondiente, continuar con el flujo normal delprograma.
-
7/30/2019 Estructuras de Control de Flujo1
5/13
condicionVF
-
7/30/2019 Estructuras de Control de Flujo1
6/13
AccionN1
Si condicion
Inicio
AccionV1
AccionV2
Fin
De lo contrario
InicioAccionF1
AccionF2
Fin
AccionN2
-
7/30/2019 Estructuras de Control de Flujo1
7/13
AccionN1
if ( condicion )
{
AccionV1
AccionV2
}
else
{AccionF1
AccionF2
}
AccionN2
-
7/30/2019 Estructuras de Control de Flujo1
8/13
El nico operador que NOSE PUEDE UTILIZAR es eloperador de asignacin
La expresin condicionaldebe arrojar un resultadobooleano: verdadero o
falso
Las reglas de precedenciade operadores deben
seguirse al construir unaexpresin condicional
Se utilizan operadoresrelacionales
(=, !=, ==)
Se utilizan operadoresbooleanos o lgicos
(&&, ||, !)
Se pueden utilizaroperadores aritmticos
siempre y cuando se utilicenpara comparar la suma,
resta, producto y/o divisincon otro valor y/o variable.
-
7/30/2019 Estructuras de Control de Flujo1
9/13
Expresin condicional Significado
X>Y && X>Z X es mayor que Y y mayor que Z; por lo tanto X es el mayor detres nmeros
X!=Y && Y!=Z && X!=Z X es diferente de Y, Y es diferente de Z y X es diferente de Z; por
lo tanto, los tres nmeros son diferentes entre sX+Y < X+Z La suma de X y Y es menor a la suma de X y Z
X==Z El contenido de la variable X es igual al contenido de la variableZ
c == s El contenido de la variable c es igual al smbolo s (slo si c es un
char)
x == 2 El contenido de la variable x es igual al valor 2 (si x es un int)
! ( x+2
-
7/30/2019 Estructuras de Control de Flujo1
10/13
Por lo tanto, para realizarcomparaciones, y engeneral, cualquier
operacin con Strings,tenemos que utilizar losMTODOS de la CLASE
String:
Recordemos que String noes tipo de dato de Java,sino ms bien una CLASE.
CASO ESPECIAL:
LA CLASE STRING
Mtodo Uso
cad1.equals(cad2) Regresa el valor true si lacad1 es igual a la cad2.False en caso contrario
cad1.isEmpty() Regresa un true si la cad1est vaca
cad1.startsWith(prefijo) Regresa un true si la cad1empieza con la cadenaindicada en prefijo
cad1.endsWith(sufijo) Regresa un true si la cad1termina con la cadenaindicada en sufijo
-
7/30/2019 Estructuras de Control de Flujo1
11/13
Dado que laexpresincondicionaldebe ser truepara queejecute la rama
verdadera, nosiempre esnecesariocolocar eloperador decomparacin== pues
algunasexpresiones,mtodos, yvalores devariables yatienen implcita
esacomparacin.
Prdida del operadorde comparacin ==
Ejemplo usando == Ejemplo sin ==
if (afiliado == true )
Se est comparando si la variablebooleana afiliado contiene el valor true.
if ( afiliado )
Dado que la variable afiliado esbooleana, esta expresin ya estpreguntando si la variable contiene
el valor true.
if (dia.equals(Lunes) == true)
Se est comparando si el resultado delmtodo que compara la variable String diacon el valor Lunes es igual a true.
if (dia.equals(Lunes))
Dado que el mtodo equals de unString regresa true cuando las doscadenas a comparar son iguales, yano es necesario volver a preguntar siel resultado es true.
if ( retardos == false )
Se est comparando si la variablebooleana retardos contiene el valor false.
if ( !retardos )
Dado que la variable retardos esbooleana, se niega la variable paraque la expresin se convierta en
verdadera
-
7/30/2019 Estructuras de Control de Flujo1
12/13
La anidacin deestructuras implicaque dentro de una
estructura deseleccin se
encuentren a su vezuna o ms estructuras
de seleccin, tantoen la rama
verdadera como enla rama falsa.
De esta forma, laestructura de
seleccin ms interna
slo se llegar arealizar siempre ycuando las externashayan permitido suingreso al nivel ms
interno.
condicion VF
condicion
condicion
-
7/30/2019 Estructuras de Control de Flujo1
13/13
Cuando se crean estructuras deseleccin consecutivas, se estasegurando que todas y cada
una de las condicionales debernser evaluadas, sin importar elresultado de las condicionales
predecesoras.