4. algoritmos (repaso2)

Upload: james-oropeza

Post on 01-Mar-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 4. Algoritmos (repaso2)

    1/39

    ALGORITMOSPARTE II

  • 7/25/2019 4. Algoritmos (repaso2)

    2/39

    Recordando

    PROBLEMApasos:

    para RESOLVER UN

    consideramos los siguientes

    PRUEBA DE ESCRITORIO

  • 7/25/2019 4. Algoritmos (repaso2)

    3/39

    P

    Leer y comprender else

    Secuencia ordenada de pasosinstrucciones claras y finitas.Representacin de algoritmos:

    oproblemaplantea.

    que

    Definir

    entrada.

    los datos de Diagramas de Flujo

    PseudocdigoDiagramasNS Informacinde salida

    requerida Se implementan la:

    Mtodos y frmulas Estructura SecuencialEstructura CondicionalEstructura Repetitiva

    paradatos

    procesar los

    DISEO DELALGORITMO

    ANALISIS DELPROBLEMA

    PRUEBA

    DE

    ESC

    RITORIO

  • 7/25/2019 4. Algoritmos (repaso2)

    4/39

    PRUEBA DE ESCRITORIOPara cerciorarnos de que el diagrama (y/o el pseudocdigo)est bien, y, para garantizar que el programa quecodifiquemos luego tambin funcione correctamente, esconveniente someterlo a una Prueba de Escritorio.

    Consiste en que damos diferentes datos de entrada alprograma y seguimos la secuencia indicada en el algoritmohasta obtener los resultados.

    El anlisis de estos nos indicar si el algoritmo esta correcto osi hay necesidad de hacer ajustes.

    Se recomiendadar diferentes datos de entraday considerar

    todos los posibles casos, aun los de excepcin o noesperados, para asegurarnos de que el programa no producirerrores en ejecucin cuando se presenten estos casos.

  • 7/25/2019 4. Algoritmos (repaso2)

    5/39

    TABLA DE VARIABLESPRUEBA

    ESCRITORIO

    DE

    Inicio

    Entero b, h, a,

    Leerb, h

    a = b * h

    p = 2 *(b + h)

    p

    EscribirArea:", a

    Escribir Permetro:", pFin

    b h a p Pantalla

    10 3

    30

    26

    Area: 30

    Permetro: 26

  • 7/25/2019 4. Algoritmos (repaso2)

    6/39

    Resumiendo la Tabla de Variables

    para varias ejecuciones

    Son correctas las salidas de las ejecuciones 4 y 5?

    No deejecuciones

    b h a p Pantalla

    1. 10 3 30 26 Area: 30Permetro: 26

    2. 5 7 35 24 Area: 35Permetro: 24

    3. 1 0 0 2 Area: 0Permetro: 2

    4. 5 2 10 6 Area:10Permetro: 6

    5. 20 5 100 50 Area: 100Permetro: 50

  • 7/25/2019 4. Algoritmos (repaso2)

    7/39

    B. ESTRUCTURA CONDICIONAL O DE

    DECISION O SELECTIVA Permiten que el algoritmo tome decisiones y ejecute u

    omita algunos procesos dependiendo del cumplimientode una condicin.

    Se pueden manejar tres tipos de decisiones: simple,

    doble, anidadas y mltiple.B1. ESTRUCTURA DE DECISIN SIMPLE Una decisin es simple, cuando solo se tiene determinado

    los pasos (acciones) a seguir si el resultado de la condicin

    (evaluacin de una expresin lgica) esverdadero,mientras que si esfalso, la ejecucin del algoritmocontina despus de la estructura condicional.La representacin en Pseudocdigo, Diagrama de Flujo yDiagrama NS se presenta a continuacin:

  • 7/25/2019 4. Algoritmos (repaso2)

    8/39

    PSEUDOCODIGO

    SI(condicin) ENTONCES

    Accin Acciones

    FIN SI

    DIAGRAMA DE FLUJO Punto de entrada

    condicin

    Punto de salida

    V

    Accin Acciones

  • 7/25/2019 4. Algoritmos (repaso2)

    9/39

    DIAGRAMA NS

    Vcondicin

    Accin

    Acciones

  • 7/25/2019 4. Algoritmos (repaso2)

    10/39

    Estructura CondicionalEJEMPLO 1: Disear un algoritmo paracalcular el rea y el permetro de un rectngulo.

    PASO 1:

    PASO 2:

    Para

    Definicin del problema (es el enunciado)

    Anlisis del problema

    desarrollar este problema es necesario conocer las

    unlas

    frmulas para obtener tanto el rea como el permetro derectngulo. Sea b = base, h = altura, a=rea y p=permetro,frmulas a utilizar son:

    a = b * h y p = 2 * (b + h)

    Pero si los datos de base (b) y altura(h) son cero o negativotendra sentido el rectngulo.

    Datos de entrada: b y h (base y altura)

    Datos de salida: a y p

    no

    Procesos: a = b * h y p = 2 * (b + h)

  • 7/25/2019 4. Algoritmos (repaso2)

    11/39

    PASO 3: Diseo de la solucin oPSEUDOCODIGO

    InicioEntero b, h, a, p

    Leerb, h

    //Estructura Condicional Simple

    SI(b>0 Y h>0)ENTONCESa = b * h

    p = 2 *(b + h)Escribir

    Area:", aEscribir

    Permetro:", p

    FIN SI

    Fin

    del Algoritmo

  • 7/25/2019 4. Algoritmos (repaso2)

    12/39

    PASO 3: Diseo de la solucin

    INICIO

    o del AlgoritmoDF

    Entero b, h, a, p

    Leer b, h

    Punto de entradaV b>0 y

    h>0

    a = b * h

    p=2*(b+h)

    EscribirArea: , aPerimetro:, p

    Punto de salida

    FIN

  • 7/25/2019 4. Algoritmos (repaso2)

    13/39

    No deejecuciones

    b h b>0 y h>0 a p Pantalla

    1. 10 3 V 30 26 Area: 30Permetro: 26

    2. 5 7 V 35 24 Area: 35Permetro: 24

    3. 1 0 F

    4. 5 2 F

    5. 20 5 F

  • 7/25/2019 4. Algoritmos (repaso2)

    14/39

    PASO 3: Diseo de la solucin o del AlgoritmoDIAGRAMANS

    IInicio

    Entero b, h, a, p

    Leer b, h

    b>0 y h>0V

    a = b*h

    p = 2 *(b + h)

    Escribir Area=,a

    Escribir Permetro=,p

    Fin

  • 7/25/2019 4. Algoritmos (repaso2)

    15/39

    B2. ESTRUCTURA DE DECISIN DOBLE

    Una decisin es doble cuando se tiene uncurso de accin para el caso que el resultadode la comparacin sea verdadero y otro paracuando sea falso.

  • 7/25/2019 4. Algoritmos (repaso2)

    16/39

    SI(condicin) ENTONCESAccin Acciones

    SINOAccin Acciones

    FIN SI

    PSEUDOCODIGO

    DIAGRAMA DE FLUJO Punto de entrada

    condicin

    Punto de salida

    V F

    Accin Acciones

    Accin Acciones

  • 7/25/2019 4. Algoritmos (repaso2)

    17/39

    DIAGRAMA NS

    V Fcondicin

    Accin Acciones

    Accin

    AccionesAccin

    Acciones

  • 7/25/2019 4. Algoritmos (repaso2)

    18/39

    Estructura CondicionalEJEMPLO 1: Disear un algoritmo paracalcular

    PASO 1:

    PASO 2:

    Para

    el rea y el permetro de un rectngulo.

    Definicin del problema (es el enunciado)

    Anlisis del problema

    desarrollar este problema es necesario conocer lasun

    las

    frmulas para obtener tanto el rea como el permetro de

    rectngulo. Sea b = base, h = altura, a=rea y p=permetro,frmulas a utilizar son:

    a = b * h y p = 2 * (b + h)

    Pero si los datos de base (b) y altura(h) son cero o negativo notendra sentido el rectngulo por lo que los datos soninvlidos.

    Datos de entrada: b y h (base y altura)

    Datos de salida: a y p

    Procesos: a = b * h y p = 2 * (b + h)

  • 7/25/2019 4. Algoritmos (repaso2)

    19/39

    PASO 3: Diseo de la solucinPSEUDOCODIGO

    InicioEntero b, h, a, p

    Leer b, h

    //Estructura Condicional Doble

    SI(b>0 Y h>0)ENTONCESa = b * h

    p = 2 *(b + h)

    o del Algoritmo

    Escribir

    EscribirSINO

    Escribir

    FIN SI

    Area:", a

    Permetro:", p

    Datos invlidos!!!"

    Fin

  • 7/25/2019 4. Algoritmos (repaso2)

    20/39

    PASO 3: Diseo de la solucin

    INICIpO

    o del AlgoritmoDF

    Entero b, h, a, p

    Leer b, h

    Punto de entradaFV b>0 y

    h>0

    a = b * h

    EscribirDatos invlidos!!!p=2*(b+h)

    EscribirArea: , aPerimetro:, p

    Punto de salida

    FIN

  • 7/25/2019 4. Algoritmos (repaso2)

    21/39

    No deejecuciones

    b h b>0 y h>0 a p Pantalla

    1. 10 3 V 30 26 Area: 30Permetro: 26

    2. 5 7 V 35 24 Area: 35Permetro: 24

    3. 1 0 F Datosinvlidos!!!

    4. 5 2 F Datosinvlidos!!!

    5. 20 5 F Datosinvlidos!!!

  • 7/25/2019 4. Algoritmos (repaso2)

    22/39

    PASO 3: Diseo de la solucin o del AlgoritmoDIAGRAMANS

    IInicio

    Entero b, h, a, p

    Leer b, h

    b>0 y h>0V F

    a = b*h

    p = 2 *(b + h) Escribir Datos invlidos!!!

    Escribir Area=,a

    Escribir Permetro=,p

    Fin

  • 7/25/2019 4. Algoritmos (repaso2)

    23/39

    NOTA: EN PSEUDOCODIGO Y

    CODIFICACION POSTERIORESTRUCTURA DE DECISIN SIMPLE: Al cumplirse la condicinentonces si se van a ejecutar dos o varias acciones es

    esnecesario colocarOPCIONAL

    FIN ENTONCES, si slo hay una accin

    SI(condicin) ENTONCESaccin 1accin 2

    :accin n

    FIN ENTONCESFIN SI

    SI(condicin) ENTONCESaccin 1

    FIN ENTONCESFIN SI

    OPCIONAL

  • 7/25/2019 4. Algoritmos (repaso2)

    24/39

    NOTA: EN PSEUDOCODIGO YCODIFICACION POSTERIOR

    ESTRUCTURA DE DECISIN DOBLE: IDEM al caso anterior si lacondicincondicinnecesario

    es Verdadera. Si el resultado de la evaluacin de laes FALSO y hay 2

    SINO.o ms acciones por ejecutar es

    colocarFINSI(condicin)ENTONCES

    accin 1accin 2:accin n

    FIN ENTONCES

    SINOaccin 1accin 2

    :accin n

    FIN SINO

    FIN SI

    SI(condicin) ENTONCESaccin 1

    FIN ENTONCESSINO

    accin 1FIN SINOFIN SI

    OPCIONAL

  • 7/25/2019 4. Algoritmos (repaso2)

    25/39

    Recapitulando los tipos de ESTRUCTURA DE

    DECISIN, SELECCION O CONDICIONAL

  • 7/25/2019 4. Algoritmos (repaso2)

    26/39

    B3. ESTRUCTURA DE DECISIN

    ANIDADA Las estructuras condicionales pueden

    estructuraanidarse,selectiva

    lo que significa que unapuede contener a

    de

    su vez otra

    estructura selectiva, dentro cualquiera delas secciones de una estructura condicional,sea simple o doble, puede incluirse otraestructura condicional que a su vez puede ser

    simple o doble y puede contener tambindentro de ella, otras estructuras condicionaleso selectivas.

  • 7/25/2019 4. Algoritmos (repaso2)

    27/39

    SI(condicin) ENTONCES

    Accin Acciones

    FIN ENTSINO

    SI(condicin) ENTONCESAccin Acciones

    FIN ENTSINO

    Accin Acciones

    FIN SINOFIN SIFIN SINOFIN SI

    PSEUDOCODIGO

  • 7/25/2019 4. Algoritmos (repaso2)

    28/39

    SI(condicin) ENTONCES

    SI(condicin) ENTONCESAccin Acciones

    FIN ENTSINO

    Accin Acciones

    FIN SINOFIN SI

    FIN ENTSINO

    Accin AccionesFIN SINOFIN SI

    PSEUDOCODIGO

  • 7/25/2019 4. Algoritmos (repaso2)

    29/39

    DIAGRAMA DE FLUJO

    Punto de entrada

    FVcondicin

    V Fcondicin

    Punto de salida

    Accin Acciones

    Accin Acciones

    Accin Acciones

  • 7/25/2019 4. Algoritmos (repaso2)

    30/39

    DIAGRAMA DE FLUJO

    Punto de entrada

    FVcondicin

    V Fcondicin

    Punto de salida

    Accin Acciones

    Accin Acciones

    Accin Acciones

  • 7/25/2019 4. Algoritmos (repaso2)

    31/39

    DIAGRAMA NS

    condicinV F

    Accin Acciones

    V F

    C

    Accin

    Acciones

    condicin

    Accin Accin Acciones

    Acciones

  • 7/25/2019 4. Algoritmos (repaso2)

    32/39

    DIAGRAMA NS

    V F

    V F

    Acciones Acciones

    CC

    condicin

    Accin

    Acciones

    condicinV F

    Accin Accin Acciones Acciones

    condicin

    Accin Accin

  • 7/25/2019 4. Algoritmos (repaso2)

    33/39

    B4. ESTRUCTURA DE DECISIN

    MULTIPLE A veces es necesario que existan ms de dos

    elecciones posibles Este problemaselectivas

    se podra

    resolver por estructuras simples o

    doblesque estuvieran anidadas; sin embargo poreste mtodo si el nmero de alternativas es grande

    puede plantear serios problemas de escritura del

    algoritmo y naturalmente de legibilidad.

    La estructura de decisin mltiple evala una

    expresin que pueda tomar n valores (enteros,

    caracteres y lgicos pero nunca reales) y ejecuta

    una accin o grupo de acciones diferente en funcindel valor tomado por la expresin selectora.

  • 7/25/2019 4. Algoritmos (repaso2)

    34/39

    PSEUDOCODIGO

    SEGUN (variable selector)INICIO

    CASO

    CASOCASO

    CASO

    CASOFIN SEGUN

    valor

    valorvalor

    1:

    2:3:

    Accin

    AccinAccin

    Acciones

    AccionesAcciones

    1

    23

    valor n: Accin Acciones n

    CONTRARIO Accin Acciones

  • 7/25/2019 4. Algoritmos (repaso2)

    35/39

    DIAGRAMA DE FLUJO

    Punto de entrada

    otros valoresvalor 1 variableselectorvalor 2 valor n

    valor 3

    Punto de salida

    Accin Acciones 3

    Accin Acciones 1

    Accin Acciones n

    Accin Acciones

    Accin Acciones 2

  • 7/25/2019 4. Algoritmos (repaso2)

    36/39

    DIAGRAMA NS

    variable selector

    es

    Acciones

    valor 1 valor 2 valor 3 valor n otros valor

    Accin Accion

    Accin Acciones 1

    es

    Accin Acciones 2

    Accin Acciones 3

    Accin Acciones n

    Accin

    di i l i l i

  • 7/25/2019 4. Algoritmos (repaso2)

    37/39

    Estructura CondicionalEJEMPLO 1: Disear un algoritmo quepermita realizar y mostrar el resultado de la suma (+), resta(),multiplicacin(*) o divisin(/) de dos nmeros segn sea eloperador aritmtico ingresado.

    PASO 1: Definicin del problema (es el enunciado)PASO 2: Anlisis del problema

    Datos de entrada:num1(numero 1)

    Procesos:

    Segn seaop(operador aritmtico)

    ynum2(numero 2)

    Caso

    Caso

    Caso

    Caso

    +: res = num1+num2

    : res= num1num2

    *: res = num1*num2

    /: res = num1/num2Datos de salida:res(resultado)

  • 7/25/2019 4. Algoritmos (repaso2)

    38/39

    PASO 3: Diseo de la

    Inicio

    Real n1, n2, res

    Carcterop

    Leern1, n2

    Escribir Ingrese op.

    Leerop

    solucin o del AlgoritmoPSEUDOCODIGO

    aritmetico:

    //Estructura de Seleccin Mltiple

    SEGUN (op)

    INICIO

    CASO+:res=n1+n2

    CASO:res=n1n2

    CASO*:res=n1*n2

    CASO/:res=n1/n2

    FIN SEGUN

    Escribir Resultado =

    Fin

  • 7/25/2019 4. Algoritmos (repaso2)

    39/39

    No deejecuciones

    n1 n2 op res Pantalla

    1. 10 5 + 15 Resultado = 15

    2. 0 2 2 Resultado = 2

    3. 0 0 * 0 Resultado = 0

    4. 15 10 / 1.5 Resultado = 1.5

    5. 20 5 + 25 Resultado = 25