26
ESTRUCTURA CONDICIONAL

03 1 Estructura Condicional

Embed Size (px)

DESCRIPTION

lógica combinacional

Citation preview

  • ESTRUCTURA CONDICIONAL

  • CONTENIDO Repaso clase anterior. Ejemplos de repaso. Pseudocdigo. Diagramas de flujo. Equivalencia entre

    Pseudocdigo-diagramas de flujo.

    Estructuras de decisin lgica.

    Ejercicios de repaso. Estructura CASO.

  • REPASO CLASE ANTERIOR

    PROBLEMA ALGORITMO

  • REPASO CLASE ANTERIOR

    algoritmo(nombre_algoritmo) Declaracin de variables INICIO instrucciones_programa FIN_INICIO fin(nombre_algoritmo)

    algoritmo (nombre_algoritmo) variables: tipo_1: lista_variables_1 tipo_2: lista_variables_2 . . . tipo_N: lista_variables_N constantes: lista_identificadores = valor INICIO sentencia_1 sentencia_2 . . . sentencia_N FIN_INICIO fin(nombre_algoritmo)

  • REPASO CLASE ANTERIOR algoritmo (nombre_algoritmo) variables: tipo_1: lista_variables_1 tipo_2: lista_variables_2 . . . tipo_N: lista_variables_N constantes: lista_identificadores = valor INICIO sentencia_1 sentencia_2 . . . sentencia_N FIN_INICIO fin(nombre_algoritmo)

    variables: entero: num_estudiantes real: prom_grupo, estatura, peso alfanumrica: nombre, identificacin entero: num_clases = 0

    constantes: PI = 3.14 TAMAO = 46 IVA = 0.16 asterisco = * mensaje = que hay de nuevo viejo

    INICIO instrucciones de asignacin instrucciones de entrada (LEA) instrucciones de salida (ESCRIBA) Estructuras de control FIN_INICIO

  • PSEUDOCODIGO

    algoritmo(nombre_algoritmo) Declaracin de variables INICIO instrucciones_programa FIN_INICIO fin(nombre_algoritmo)

    Pseudocdigo Es un lenguaje de especificacin (descripcin) de algoritmos . Se considera un primer borrador dado que el pseudocdigo tiene que traducirse posteriormente a un lenguaje de programacin. Ventajas: Se enfoca en la lgica del programa y no en las reglas de un lenguaje especifico. Se puede traducir fcilmente a lenguajes estructurados (Pascal, C, C++).

  • DIAGRAMAS DE FLUJO Diagramas de flujo (flowchart): Es un diagrama que utiliza unos smbolos (cajas) estndar representando los pasos del algoritmo por medio de dichas cajas unidas por flechas (lneas de flujo), las cuales indican la secuencia que se debe ejecutar.

  • EQUIVALENCIA PSEUDOCODIGO DIAGRAMAS DE FLUJO (1)

  • ESTRUCTURAS DE DECISION LOGICA

    Estas estructuras se usan para la toma de decisiones lgicas. Son usadas para elegir entre diferentes alternativas de accin.

    SI (condicion) ENTONCES instrucciones_caso_verdadero SI_NO instrucciones_caso_falso FIN_SI

  • ESTRUCTURAS DE DECISION LOGICA

    SI (condicion) ENTONCES instrucciones_caso_verdadero SI_NO instrucciones_caso_falso FIN_SI

    nota >=3.0 edad < 18 semestre == 1 (a=0) estatura < 1.23

    c = a*b/(b+1) m = m + 1 ESCRIBA(Lo que sea) LEA(a) c = (b*c)^2 + 1

  • ESTRUCTURAS DE DECISION LOGICA

    Palabras claves que impliquen la toma de decisiones lgicas: tal cosa mayor que otra menor que, inferior a entre tal y tal cosa sobre tal cosa Informacin relacionada con rangos de valores (tablas).

    Las horas superiores a 35 se pagan

    Si la nota es menos que 3.5

    Si el numero de mesas compradas esta entre 30 y 40 el decuento

    Si la cantidad de costales comprada excede los 16

    Si la cantidad de costales comprada excede los 16

  • ALGUNOS EJEMPLOS Escribir las sentencias SI apropiadas para cada uno de las siguientes condiciones:

    1. Si un ngulo es igual a 90, imprimir el mensaje El ngulo es recto sino imprimir el mensaje El ngulo no recto.

    SI (angulo == 90) ENTONCES ESCRIBA(El angulo es recto) SI_NO ESCRIBA(El angulo no es recto) FIN_SI

  • ALGUNOS EJEMPLOS 2. Si la temperatura es superior a 100 C visualizar el mensaje: Por encima del punto de

    ebullicin del agua sino visualizar el mensaje Por debajo del punto de ebullicin del agua.

    SI (temp > 100) ENTONCES ESCRIBA(Por encima del punto de ebullicion del agua) SI_NO ESCRIBA(Por debajo del punto de ebullicion del agua) FIN_INICIO

  • ALGUNOS EJEMPLOS 3. Si X mayor que Y, y Z menor que 20 leer un valor para P.

    SI ((X > Y)AND(Z>20)) ENTONCES LEA(P) FIN_SI

    4. Si la distancia es mayor que 20 y menos que 35, leer un valor para tiempo.

    SI ((distancia > 20)AND(distancia < 35)) ENTONCES LEA(tiempo) FIN_SI

  • TIPOS DE ESTRUCTURAS DE DECISION LOGICA

    Alternativas en los problemas de decisin lgica

    Alternativa simple

    Alternativa doble

    Alternativa mltiple

  • ALTERNATIVA SIMPLE

    SI (condicin) ENTONCES instrucciones_caso_verdadero FIN_INICIO

    En los problemas de este tipo la implementacin de la condicin falsa no se realiza.

    Ejemplos: 1. Las boleta de entrada a un circo vale $10000 por persona; sin embargo, si la edad de la

    persona es menor de 10 aos se le da un descuento del 25% en el valor de la boleta. Realizar un algoritmo que despliegue el precio de la boleta segn la edad.

    2. En una empresa le dan a los empleados un subsidio de transporte si el sueldo base de estos es menor que el salario mnimo, este subsidio es el 30% del sueldo base. Hacer un algoritmo que calcule el salario neto de un empleado (sueldo base mas prestaciones si el empleado tiene derecho a estas). Los datos de entrada son la cedula y el sueldo base.

  • ALTERNATIVA DOBLE En los problemas de este tipo la implementacin de la condicin falsa se realiza.

    Ejemplos: 1. Hacer un algoritmo que diga si una persona es mayor de edad o no. 2. Hacer un algoritmo que diga si una persona es hombre o mujer.

    SI (condicion) ENTONCES instrucciones_caso_verdadero SI_NO instrucciones_caso_falso FIN_INICIO

  • ALTERNATIVA MULTIPLE

    SI (condicion_1) ENTONCES instrucciones_1 SI_NO SI (condicion_2) ENTONCES instrucciones_2 SI_NO . . . SI (condicion_N) ENTONCES instrucciones_N SI_NO . . . FIN_SI . . . FIN_SI FIN_SI

    Alternativa mltiple (las condiciones pueden tomar mas de dos valores (rango) de modo que para la implementacin de una condicin se hace necesario anidar estructuras de decisin lgica).

  • ALTERNATIVA MULTIPLE Ejemplos: 1. Se tiene la siguiente tabla en la cual se muestra el equivalente entre nmeros

    y letras para la calificacin en notas en una guardera. Realizar un algoritmo que entregue la letra equivalente cuando su ingresa una nota numrica.

    Rango Nota

    nota >= 4.5 E

    4.0

  • ALTERNATIVA MULTIPLE 2. En la oficina del SISBEN estn asegurando a la

    poblacin mas desamparada. Para evitar fraudes tienen un sistema de encuesta el cual solicita los siguientes datos: Cedula, sexo, estrato socio-econmico y numero de integrantes del grupo familiar. En dicha encuesta, el sistema valida el sexo y el estrato socio-econmico de tal manera que si el estrato es mayor o igual que 3 se rechaza la peticin de afiliacin notificando al encuestado dicho rechazo a la afiliacin. Si el estrato es menor que 3, permite la afiliacin del encuestado y de un numero de miembros que depende del sexo de este de tal forma que si es mujer es posible la afiliacin de 5 miembros mas y si es hombre solo permite la afiliacin de 4 miembros, esto siempre y cuando el numero de integrantes del grupo familiar sea mayor que esta cifra. En caso de aceptacin el algoritmo debe imprimir la cedula del beneficiado y el numero total de cupos (incluyendo el suyo) a los cuales tiene derecho.

  • ESTRUCTURA CASO Esta es una estructura adicional para problemas que impliquen toma de decisiones. til en la implementacin de soluciones a problemas de alternativas mltiples

    (solucin a problemas de anidamiento). En este tipo de estructura permite evaluar una expresin (selector) la cual puede

    tomar n valores distintos (1, 2, 3, 4, , n). A cada uno de los posibles valores que puede tomar el selector se asocian un conjunto de operaciones, de las cuales se ejecutaran las asociadas a el valor elegido para dicho selector.

    selector valor_1

    valor_2 valor_3 ... instrucciones_1 instrucciones_2 instrucciones_3 instrucciones_n

    valor_n instruc_otros

    otros

  • ESTRUCTURA CASO

    CASOS DE selector CASO valor_1: instrucciones_1 CASO valor_2: instrucciones_2 CASO valor_3: instrucciones_3 . . . CASO valor_n: instrucciones_n OTROS_CASOS: instrucciones_otros FIN_CASOS

    SEGN_SEA selector HACER CASO valor_1: instrucciones_1 CASO valor_2: instrucciones_2 CASO valor_3: instrucciones_3 . . . CASO valor_n: instrucciones_n OTROS: instrucciones_otros FIN_CASOS

    Pseudocdigo

  • ESTRUCTURA CASO Software empleado

  • ESTRUCTURA CASO Ejemplos: 1. Se desea disear un algoritmo que escriba los nombres de los das de la

    semana en funcin del valor de una variable da introducida por teclado.

    algoritmo (dias) variables: entero: dia INICIO ESCRIBA(Meta el dia) LEA(dia) CASOS DE dia CASO 1: ESCRIBA(Lunes) CASO 2: ESCRIBA(Martes) CASO 3: ESCRIBA(Mircoles) CASO 4: ESCRIBA(Jueves) CASO 5: ESCRIBA(Viernes) CASO 6: ESCRIBA(Sbado) CASO 7: ESCRIBA(Domingo) OTROS CASOS : ESCRIBA(ERROR !!!) FIN_CASOS FIN_INICIO fin(dias)

    CASOS DE selector CASO valor_1: instrucciones_1 CASO valor_2: instrucciones_2 CASO valor_3: instrucciones_3 . . . CASO valor_n: instrucciones_n OTROS_CASOS: instrucciones_otros FIN_CASOS

  • ESTRUCTURA CASO Ejemplos: 2. Se desea convertir las calificaciones alfabticas A,B, C y D a calificaciones

    numricas 4, 5, 6 y 7 respectivamente.

    algoritmo (calificaciones) variables: entero: nota alfanumerico: letra INICIO ESCRIBA(Meta la letra) LEA(letra) CASOS DE letra CASO A: nota = 4 ESCRIBA(Su nota es, nota) CASO B: nota = 5 ESCRIBA(Su nota es, nota) CASO C: nota = 6 ESCRIBA(Su nota es, nota) CASO D: nota = 7 ESCRIBA(Su nota es, nota) OTROS CASOS : ESCRIBA(ERROR !!!) FIN_CASOS FIN_INICIO fin(calificaciones)

    CASOS DE selector CASO valor_1: instrucciones_1 CASO valor_2: instrucciones_2 CASO valor_3: instrucciones_3 . . . CASO valor_n: instrucciones_n OTROS_CASOS: instrucciones_otros FIN_CASOS

  • ESTRUCTURA CASO 3. Estn haciendo recoleccin de bachilleres para pagar servicio militar para lo

    cual una vez termina el bachillerato un bachiller se tiene que presentar al sorteo y sacar una balota, hay tres posibles balotas, estas son: Roja: Le toca pagar servicio inmediatamente. Amarilla: Servicio militar aplazado. Verde: Se salva. Hacer un algoritmo que simule esta situacin.

    1. Una empresa tiene cuatro escalas de salario numeradas consecutivamente del 1 al 4, adems, tiene un programa de incentivos de acuerdo a la categora y si el numero de unidades producidas es mayor que 50. Si esta en la categora 1 se le da un incremento de sueldo equivalente al 5% de su salario, si esta en la 2 al 7%, si esta en la 3 al 10% y en la 4 al 15%; esto por cada empleado.

    Se tiene la siguiente informacin: Nombres, salario mensual, categora y numero de unidades producidas. Hacer una algoritmo que determine el total devengado por cada empleado.

    ESTRUCTURA CONDICIONALCONTENIDOREPASO CLASE ANTERIORREPASO CLASE ANTERIORREPASO CLASE ANTERIORPSEUDOCODIGODIAGRAMAS DE FLUJOEQUIVALENCIA PSEUDOCODIGO DIAGRAMAS DE FLUJO (1)ESTRUCTURAS DE DECISION LOGICAESTRUCTURAS DE DECISION LOGICAESTRUCTURAS DE DECISION LOGICAALGUNOS EJEMPLOSALGUNOS EJEMPLOSALGUNOS EJEMPLOSTIPOS DE ESTRUCTURAS DE DECISION LOGICAALTERNATIVA SIMPLEALTERNATIVA DOBLEALTERNATIVA MULTIPLEALTERNATIVA MULTIPLEALTERNATIVA MULTIPLEESTRUCTURA CASOESTRUCTURA CASOESTRUCTURA CASOESTRUCTURA CASOESTRUCTURA CASOESTRUCTURA CASO