estructuras de control de flujo1

Upload: gaby-nieva-paredes

Post on 04-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.