Sesión04EstructurasSeleccionSimpleDoble

download Sesión04EstructurasSeleccionSimpleDoble

of 16

Transcript of Sesión04EstructurasSeleccionSimpleDoble

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 1

    SESIN 04: ESTRUCTURAS DE SELECCIN SIMPLES Y DOBLES

    TEMARIO

    Estructuras de Seleccin Operadores Lgicos y Relacionales

    Estructura de Seleccin Simple

    Estructura de Seleccin Doble

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 2

    1. ESTRUCTURAS DE SELECCIN

    No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay

    que tomar una decisin aparecen las estructuras selectivas. En nuestra vida diaria se nos

    presentan situaciones donde debemos decidir:

    Elijo la carrera A o la carrera B?

    Me pongo este pantaln?

    Para ir al trabajo, elijo el camino A o el camino B?

    Al cursar una carrera, elijo el turno maana, tarde o noche?

    Las estructuras de seleccin, se utilizan para tomar decisiones lgicas; de ah que se

    suelen denominar tambin estructuras condicionales, de decisin o alternativas.

    En las estructuras de seleccin se evala una condicin y en funcin del resultado se realiza

    una opcin u otra. Las condiciones se especifican usando expresiones lgicas.

    Las estructuras de seleccin pueden ser:

    Simples

    Dobles

    Mltiples

    Anidadas

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 3

    2. OPERADORES LOGICOS Y RELACIONALES

    Son operadores que se utilizan para crear condiciones lgicas. Una condicin lgica es una

    expresin lgica que puede ser verdadera (true) o falsa (false) y puede incluir operadores

    aritmticos.

    2.1. Operadores relacionales

    Los operadores relacionales se utilizan para escribir condiciones que describan la relacin

    entre dos valores. El conjunto de operadores relacionales en java se muestran en la Tabla

    1.

    Tabla 1: Operadores Relacionales

    Operador Significado

    == Igual a

    != Diferente de

    > Mayor que

    < Menor que

    >= Mayor o igual que

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 4

    3. ESTRUCTURA SELECTIVA SIMPLE

    La estructura selectiva simple ejecuta una determinada accin o acciones cuando se cumple

    una determinada condicin, es decir, tenemos la opcin de realizar una actividad o

    varias si la condicin es verdadero y si es falso no se realizar ninguna actividad.

    La representacin grfica de la estructura selectiva simple en un Diagrama de Flujo es la

    siguiente:

    Ilustracin 1: Diagrama de flujo de la estructura selectiva simple

    En la figura anterior se puede observar lo siguiente: el rombo representa la condicin. Hay dos

    opciones que se pueden tomar. Si la condicin es verdadera se sigue el camino del verdadero,

    si la condicin es falsa se sigue el camino del falso. Por el camino del verdadero pueden

    existir varias operaciones, entradas y salidas que se pueden realizar, inclusive ya veremos que

    pueden haber otras estructuras condicionales o selectivas.

    La representacin grfica de la estructura selectiva simple en el diagrama estructurado y

    pseudocdigo son las siguientes:

    Ilustracin 2: Diagrama estructurado de la estructura selectiva simple

    Ilustracin 3: Pseudocdigo de la estructura selectiva simple

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 5

    Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el

    siguiente ejemplo:

    Ejemplo 1:

    Ingresar el sueldo de una persona, si supera los S/. 3000 soles, mostrar un mensaje en pantalla

    indicando que debe abonar impuestos.

    Ilustracin 4: Diagrama de flujo del ejemplo 1

    Ilustracin 5: Diagrama estructurado del ejemplo 1

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 6

    Ilustracin 6: Figura 18. Pseudocdigo del ejemplo 1

    Observacin del Pseudocdigo

    Obsrvese que las palabras del pseudocdigo si y fin_si se alinean verticalmente

    identando (sangrando) la instruccin o bloque de instrucciones.

    Ejemplo 2:

    Realizar un algoritmo que permita el ingreso de un nmero entero, si es positivo debe mostrar

    el mensaje que es un nmero positivo, elevarlo al cuadrado y mostrar dicho resultado. Al

    terminar el algoritmo debe decir fin del algoritmo.

    Ilustracin 7: Diagrama de Flujo del ejemplo 2

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 7

    Ilustracin 8: Diagrama Estructurado del Ejemplo 02

    Ilustracin 9: Pseudocdigo del ejemplo 2

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 8

    4. ESTRUCTURA SELECTIVA SIMPLE

    La estructura selectiva doble permite elegir entre dos opciones o alternativas, en funcin

    del cumplimiento de una determinada condicin, de tal forma que, si se cumple, se

    ejecutan las acciones del primer bloque; si no se cumple, se ejecutan las acciones del segundo

    bloque.

    La representacin grfica de una estructura selectiva doble en los mtodos para representar a

    los algoritmos es el siguiente:

    Ilustracin 10: Diagrama de flujo de la estructura selectiva doble

    Ilustracin 11: Diagrama estructurado de la estructura selectiva doble

    Ilustracin 12: Pseudocdigo de la estructura selectiva doble

    De acuerdo a la condicin podemos realizar actividades por el lado verdadero o por el lado

    falso, PERO NUNCA se realizan las actividades de ambos lados al mismo tiempo.

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 9

    Ahora pondremos en prctica los nuevos conocimientos adquiridos solucionando el

    siguiente ejemplo:

    Ejemplo 3:

    Realizar un algoritmo que lea dos nmeros enteros distintos entre s y mostrar por

    pantalla el mayor y el menor. Al final del algoritmo mostrar tambin el nombre del creador del

    algoritmo.

    Ilustracin 13: Diagrama de flujo del ejemplo 3

    Ilustracin 14: Diagrama estructurado del ejemplo 3

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 10

    Ilustracin 15: Pseudocdigo del ejemplo 3

    Ejemplo de autoaprendizaje:

    Resuelva en diagrama de flujo, estructurado y pseudocdigo.

    Ejemplo 4:

    Realizar un algoritmo que permita el ingreso de tres notas de un alumno. Calcular la

    nota promedio y si el promedio es mayor o igual a 10.5 mostrar un mensaje

    Aprobado o Desaprobado.

    Ejemplo 5:

    Un cobrador de impuestos tiene la meta de cobrar 1000 soles, realiza tres cobranzas; si el

    dinero obtenido supera la meta mostrar un mensaje respectivo. Al final del algoritmo

    mostrar el monto cobrado.

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 11

    5. PROBLEMAS RESUELTOS PARA LABORATORIO EN JAVA DE ESTRUCTURAS SECUENCIALES:

    5.1. Una tienda vende un producto a precios unitarios que dependen de la cantidad de

    unidades adquiridas de acuerdo a la siguiente tabla:

    Unidades adquiridas Precio unitario

    1 a 25

    S/. 27.7

    26 a 50

    S/. 25.5

    51 a 75

    S/. 23.5

    76 en adelante S/. 21.5

    Adicionalmente, si el cliente adquiere ms de 50 unidades la tienda le descuenta el 15%

    del importe de la compra; en caso contrario, slo le descuenta el 5%.

    Disee un programa que determine el importe de la compra, el importe del descuento

    y el importe a pagar por la compra de cierta cantidad de unidades del producto.

    Algoritmo

    Inicio

    // Declaracin de variables

    entero unidades;

    real impcom, impdes, imppag

    // Entrada de datos

    Leer unidades

    // Clculo del importe de la compra si( unidades >= 1 && unidades = 26 && unidades = 51 && unidades = 76)

    impcom = unidades*27.5

    // Clculo del importe del descuento si( unidades > 50 )

    impdes = 0.15*impcom

    si( unidades

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 12

    5.2. Los ngulos se clasifican de la siguiente manera:

    Magnitud Clasificacin

    = 0 Nulo

    0 < < 90 Agudo

    = 90 Recto

    90 < < 180 Obtuso

    = 180 Llano

    180 < < 360 Cncavo

    = 360 Completo

    Disee un algoritmo que determine la clasificacin de un ngulo dado en grados,

    minutos y segundos. Asuma que el ngulo est en el intervalo de 0 a 360.

    Algoritmo

    Inicio

    // Declaracin de variables

    entero grados, minutos, segundos

    real beta

    cadena tipo

    // Entrada de datos

    Leer grados, minutos, segundos

    // Determina el ngulo en grados

    beta = grados + minutos/60.0 + segundos/3600.0

    // Determina el tipo de ngulo

    si( beta == 0 )

    tipo = "Nulo"

    si( beta > 0 && beta < 90 )

    tipo = "Agudo"

    si( beta == 90 )

    tipo = "Recto"

    si( beta > 90 && beta < 180 )

    tipo = "Obtuso"

    si( beta == 180 )

    tipo = "Llano"

    si( beta > 180 && beta < 360 )

    tipo = "Cncavo"

    si( beta == 360 )

    tipo = "Completo"

    // Salida de resultados

    Imprimir tipo

    Fin

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 13

    5.3. El promedio final de un curso se obtiene en base al promedio simple de tres prcticas

    calificadas. Para ayudar a los alumnos, el profesor del curso ha prometido incrementar

    en dos puntos la nota de la tercera prctica calificada, si es que esta es no menor que

    10. Disee un programa que determine el promedio final de un alumno conociendo sus

    tres notas. Considere que la nota mxima es 20.

    Algoritmo

    Inicio

    // Declaracin de variables

    real p1, p2, p3, promedio

    // Entrada de datos

    Leer p1, p2, p3

    // Si amerita, aade 2 puntos a p3

    si( p3 >= 10 ){

    p3 = p3 + 2

    si( p3 > 20 )

    p3 = 20

    }

    // Determina el promedio

    promedio = (p1+p2+p3)/3

    // Salida de resultados

    Imprimir promedio

    Fin

    5.4. Disee un programa que lea un nmero natural de cuatro cifras y forme el mayor

    nmero posible de dos cifras usando la cifra mayor y la cifra menor del nmero

    ingresado

    Algoritmo

    Inicio

    // Declaracin de variables

    entero numero, cunid, cdece, ccent, cmill, cmay, cmen, maynum

    // Entrada de datos

    Leer numero

    // Descompone el nmero en sus cifras

    cmill = numero/1000

    ccent = numero%1000/100

    cdece = numero%1000%100/10

    cunid = numero%1000%100%10

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 14

    // Determina la cifra mayor

    cmay = cmill

    si(ccent > cmay)

    cmay = ccent

    si(cdece > cmay)

    cmay = cdece

    si(cunid > cmay)

    cmay = cunid

    // Determina la cifra menor

    cmen = cmill

    si(ccent < cmen)

    cmen = ccent

    si(cdece < cmen)

    cmen = cdece

    si(cunid < cmen)

    cmen = cunid

    // Forma el mayor nmero posible con las cifras mayor y menor

    maynum = cmay*10+cmen

    // Salida de resultados

    Imprimir may, cmen, maynum

    Fin

    5.5. En un estacionamiento, se cobra S/. 2.5 por hora o fraccin de hora. Dado el tiempo de

    estacionamiento de un vehculo expresado en el formato HH:MM, determine el

    importe a pagar por concepto de estacionamiento

    Algoritmo

    Inicio

    // Declaracin de variables

    entero horas, minutos

    real importe

    // Entrada de datos

    Leer horas, minutos

    // Si hay una fraccin de hora, se cobra una hora adicional

    si( minutos > 0 )

    horas = horas+1

    // Determina el importe a pagar

    importe = horas*2.5

    // Salida de resultados

    Imprimir importe

    Fin

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 15

    6. ACTIVIDADES PROPUESTAS

    Realice los siguientes ejercicios utilizando los diagramas de flujo, N-S y Pseudocdigo.

    6.1. Una persona realiza 5 compras en un supermercado. Existe la oferta de que si la

    compra supera los 550 soles, se le hace un descuento del 10%. Mostrar el monto a

    pagar.

    6.2. Leer un tiempo en segundos y determinar cuantos minutos hay, Al final del

    algoritmo mostrar los segundos sobrantes.

    6.3. Realizar un algoritmo que convierta de dlares a soles o de soles a dlares.

    6.4. En una autopista se multa a los conductores de vehculos que exceden el lmite de

    velocidad permitido de acuerdo a la siguiente tabla.

    Velocidad (km/h) Multa Hasta 70 Sin sancin

    71 a 90 100 euros

    91 a 100 140 euros

    Ms de 100 200 euros

    Disee un algoritmo que determine cuanto de multa deber pagar un conductor.

    6.5. Una tienda vende un producto a un precio unitario que depende del nmero de

    unidades adquiridas de acuerdo a la siguiente tabla:

    Unidades adquiridas Precio unitario

    1 a 50 S/. 25.5

    51 a 100 S/. 22.5

    101 a 150 S/. 20.0

    151 en adelante S/. 18.0

    Como oferta la tienda ofrece un descuento igual al 15% del importe de la compra si es

    que el nmero de unidades adquiridas es mayor que 50; en caso contrario, slo

    descuenta el 5%.

    Disee un algoritmo que determine el importe de la compra, el importe del

    descuento y el importe a pagar por la compra de cierta cantidad de unidades del

    producto.

    6.6. Disee un programa que lea un nmero entero del intervalo de 1 a 4,

    correspondiente al estado civil de una persona, y determine el nombre del estado civil.

    Considere: 1 para soltero, 2 para casado, 3 para viudo y 4 para divorciado.

  • Universidad Nacional de Trujillo Programacin Digital 2013

    Sesin 04: Estructuras Selectivas Simples y Dobles Ing. Haybert Escobedo Neyra

    Pgina 16

    6.7. Disee un programa que lea un nmero entero del intervalo 1 a 7,

    correspondiente a un da de la semana, y determine el nombre del da. Considere:

    1 para lunes, 2 para martes, ..., 6 para sbado, 7 para domingo.

    6.8. Un curso se evala en base a cuatro notas de prctica de las cuales se elimina la nota

    menor y se promedian las tres notas ms altas. Disee un programa que determine la

    nota eliminada y el promedio final de un alumno.

    6.9. Realizar un algoritmo que calcule el salario semanal de un obrero, el cual se obtiene de

    la siguiente manera:

    Si trabaja 40 horas o menos se le paga $16 por hora

    Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas y

    $20 por cada hora extra.

    6.10. En la empresa Toyota del Per a los clientes se les ofrece los siguientes descuentos en

    base al precio del auto que se quiere comprar.

    Auto