Está en la página 1de 13

TICS, rea Multimedia y Comercio Electrnico

Notas para la asignatura Metodologa de la Programacin

Permiten modificar el flujo de ejecucin de las instrucciones de un programa.

Las estructuras de control se clasifican en:


Secuenciales De seleccin Iterativas o repetitivas

Todas las estructuras de control tienen un nico punto de entrada y un nico punto de salida.

Estructuras de control de flujo

Secuenciales

De seleccin

Iterativas

Simple (if)

Controladas por contador (for)

Controladas por condicin

Doble (if-else)

Por condicin inicial (while)

Mltiple (switch)

Por condicin final (do-while)

Su objetivo es decidir entre dos o ms opciones. Contiene una expresin relacional o booleana y si est es verdadera, entrar a la estructura en su rama verdadera, de lo contrario, entrar a la rama falsa (else)

Una vez concluidas las acciones de la rama correspondiente, continuar con el flujo normal del programa.

condicion

AccionN1 Si condicion Inicio AccionV1 AccionV2 Fin De lo contrario Inicio AccionF1 AccionF2 Fin AccionN2

AccionN1 if ( condicion ) { AccionV1 AccionV2 } else { AccionF1 AccionF2 } AccionN2

Se utilizan operadores relacionales (<, <=, >, >=, !=, ==)

El nico operador que NO SE PUEDE UTILIZAR es el operador de asignacin

Se utilizan operadores booleanos o lgicos (&&, ||, !) Se pueden utilizar operadores aritmticos siempre y cuando se utilicen para comparar la suma, resta, producto y/o divisin con otro valor y/o variable.

La expresin condicional debe arrojar un resultado booleano: verdadero o falso


Las reglas de precedencia de operadores deben seguirse al construir una expresin condicional

Expresin condicional X>Y && X>Z X!=Y && Y!=Z && X!=Z X+Y < X+Z

Significado X es mayor que Y y mayor que Z; por lo tanto X es el mayor de tres nmeros 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 s La suma de X y Y es menor a la suma de X y Z

X==Z
c == s

El contenido de la variable X es igual al contenido de la variable Z


El contenido de la variable c es igual al smbolo s (slo si c es un char)

x == 2
! ( x+2 <= z)

El contenido de la variable x es igual al valor 2 (si x es un int)


La suma de x+2 no es menor o igual al contenido de z

CASO ESPECIAL: LA CLASE STRING


Mtodo Uso Regresa el valor true si la cad1 es igual a la cad2. False en caso contrario

Recordemos que String no es tipo de dato de Java, sino ms bien una CLASE.

cad1.equals(cad2)

cad1.isEmpty()
cad1.startsWith(prefijo) Por lo tanto, para realizar comparaciones, y en general, cualquier operacin con Strings, tenemos que utilizar los MTODOS de la CLASE String:

Regresa un true si la cad1 est vaca


Regresa un true si la cad1 empieza con la cadena indicada en prefijo Regresa un true si la cad1 termina con la cadena indicada en sufijo

cad1.endsWith(sufijo)

Prdida del operador de comparacin ==

Dado que la expresin condicional debe ser true para que ejecute la rama verdadera, no siempre es necesario colocar el operador de comparacin == pues algunas expresiones, mtodos, y valores de variables ya tienen implcita esa comparacin.

Ejemplo usando == if (afiliado == true )


Se est comparando si la variable booleana afiliado contiene el valor true.

Ejemplo sin == if ( afiliado )


Dado que la variable afiliado es booleana, esta expresin ya est preguntando si la variable contiene el valor true. if (dia.equals(Lunes)) Dado que el mtodo equals de un String regresa true cuando las dos cadenas a comparar son iguales, ya no es necesario volver a preguntar si el resultado es true.

if (dia.equals(Lunes) == true) Se est comparando si el resultado del mtodo que compara la variable String dia con el valor Lunes es igual a true.

if ( retardos == false )
Se est comparando si la variable booleana retardos contiene el valor false.

if ( !retardos )
Dado que la variable retardos es booleana, se niega la variable para que la expresin se convierta en verdadera

La anidacin de estructuras implica que dentro de una estructura de seleccin se encuentren a su vez una o ms estructuras de seleccin, tanto en la rama verdadera como en la rama falsa.

condicion

V
condicion

condicion

De esta forma, la estructura de seleccin ms interna slo se llegar a realizar siempre y cuando las externas hayan permitido su ingreso al nivel ms interno.

Cuando se crean estructuras de seleccin consecutivas, se est asegurando que todas y cada una de las condicionales debern ser evaluadas, sin importar el resultado de las condicionales predecesoras.