Академический Документы
Профессиональный Документы
Культура Документы
Las estructuras lgicas selectivas se encuentran en la solucin algortmica de casi todo tipo de problemas. Se utilizan al desarrollar la solucin de un problema que implica tomar una decisin, establecer un proceso o sealar un camino alternativo a seguir. Esta toma de decisin se basa en la evaluacin de una o ms condiciones que nos sealarn, como alternativa o consecuencia, la rama a seguir. Francisco J. Arias 1
Las estructuras de seleccin permiten la ejecucin de un grupo de instrucciones escogido entre uno, dos o varios posibles grupos con base al valor (que es falso o verdadero) de una expresin lgica o condicin). Las estructuras algortmicas selectivas se pueden clasificar como:
Si... Entonces (estructura selectiva simple) Si... Entonces... Sino (estructura select. doble)
Francisco J. Arias 2
Est matriculado?
Tomar ramos.
Francisco J. Arias 3
La estructura Si... Entonces permite que el flujo del diagrama siga por un camino especfico si se cumple una condicin o un conjunto de condiciones. Si al evaluar la condicin (o condiciones) el resultado es verdadero, entonces se ejecuta(n) cierta(s) operacin(es). Luego se contina con la secuencia normal del diagrama.
Francisco J. Arias 4
En trminos de programacin, cuando la seleccin que se necesita realizar se da entre una o dos opciones, la estructura de seleccin equivale, respectivamente, a las instrucciones if o if-else de la mayora de los lenguajes de programacin.
Francisco J. Arias
Francisco J. Arias
La figura anterior muestra que el conjunto de instrucciones se ejecuta solamente si se cumple la condicin (es decir, si expresin lgica es verdadera). Si la condicin es falsa, entonces se sigue el curso normal del diagrama y NO se ejecuta el conjunto de instrucciones.
Francisco J. Arias
Ejemplo
Construya un diagrama de flujo que, dado como dato la calificacin de un alumno en un examen, escriba Aprobado en caso de que esa calificacin sea mayor que 3.9.
Francisco J. Arias
Inicio
nota
Fin
Francisco J. Arias 9
En el ejemplo anterior vemos claramente cmo el caso en que la condicin es falsa lleva el flujo directamente donde el diagrama termina. Otro ejemplo: Dado como dato el sueldo de un trabajador, aplique un aumento del 17% si su sueldo es inferior a $1000.
Francisco J. Arias
10
Inicio
sueldo
Fin
Francisco J. Arias 11
Es evidente que la seleccin simple es limitada aunque muchas veces necesaria. La alternativa doble nos permite tomar decisiones en ambos sentidos, es decir, cuando la condicin es verdadera o cuando es falsa. En otras palabras, cuando la expresin lgica es verdadera se ejecutar un conjunto de instrucciones y cuando sea falsa otro conjunto de instrucciones.
Francisco J. Arias 12
Francisco J. Arias
13
Expresin lgica
Francisco J. Arias
14
Ejemplo
Construya un algoritmo que, dado como dato la calificacin de un alumno en un examen, escriba Aprobado si su calificacin es mayor que 3.9 y Reprobado en caso contrario.
Francisco J. Arias
15
Inicio
nota
Conector Fin
Francisco J. Arias 16
Otro ejemplo: Dado como dato el sueldo de un trabajador, aplicar un aumento del 15% si su sueldo es inferior a $1000 y 12% en caso contrario. Imprimir el nuevo sueldo del trabajador.
Francisco J. Arias
17
Inicio
sueldo
sueldo Fin
Francisco J. Arias 18
Con frecuencia existen problemas con ms de dos elecciones posibles. Los problemas as pueden ser resueltos con estructuras selectivas anidadas o en cascada. Se dice que las estructuras estn anidadas cuando hay otras dentro de ellas.
Francisco J. Arias
19
Francisco J. Arias
20
Ejemplo
En los ejemplos anteriores suponamos que la nota ingresada era vlida. En la prctica iremos viendo que nada se supone. Todo ingreso de datos debe estar correctamente validado. Para esto, las instrucciones condicionales nos ayudan.
Francisco J. Arias 21
Leer nota.
Si la nota es vlida
Comprobar que sea superior a 3.9 y reportar Aprobado. Si no, reportar Reprobado.
Francisco J. Arias
22
Inicio
nota nota >= 1.0 Y nota <= 7.0 V nota > 3.9 V Aprobado F Reprobado
F Nota no vlida
Fin
Francisco J. Arias 23
Es muy probable encontrarse con situacin de eleccin mltiple. Pero si la cantidad de opciones es grande se pueden enfrentar se pueden enfrentar serios problemas de escritura y legibilidad. Para facilitar la seleccin mltiple cuando se tiene una gran cantidad de opciones se emplean las estructuras de seleccin mltiple.
Francisco J. Arias
24
La seleccin en una estructura de seleccin mltiple (case o switch en ingls de programacin) depende de una expresin que puede tomar un valor elegido de entre un conjunto finito de valores. De acuerdo al valor que tiene la expresin en un momento dado, se ejecuta un grupo de instruccin u otro.
Francisco J. Arias
25
Francisco J. Arias
26
Si el valor de la expresin es 1 se ejecuta la instruccin 1, si el valor es 2 se ejecuta la instruccin 2, y as sucesivamente. En general, si la expresin tomar el valor N se ejecuta la instruccin N. Pero si toma un valor distinto a los nmeros comprendidos entre 1 y N entonces, se continuar con el flujo normal del programa realizndose la accin N+1 (de otra forma).
Francisco J. Arias 27
Ejemplo
Disee un diagrama de flujo tal que, evale la funcin val, a partir de los valores de las variables num y v. La variable num debe ser de tipo entero.
100 * v si num = 1 100 ^ v si num = 2 val = 100 / v si num = 3 0 cualquier otro valor de num
Francisco J. Arias
28
inicio num, v
num 1 val 100*v 2 val 100^v 3 val 100/v De otra forma val 0
val fin
Francisco J. Arias 29
Propuesto: Construya un diagrama que, dados como datos la categora y el sueldo de un trabajador, calcule el aumento correspondiente teniendo en cuenta la tabla. Imprima la categora del trabajador y su nuevo sueldo.
Categora 1 2 3 4 Aumento 15% 10% 8% 5% Gua de Ejercicios 2
Francisco J. Arias
30