You are on page 1of 21

Universidad Catlica de El Salvador Facultad de Ingeniera y Arquitectura Programacin I, Seccin A Docente: Ma. Ing.

Giovanni Acosta

Estructuras algortmicas selectivas


Objetivos:
Crear y operar expresiones lgicas. Conocer los tipos y usos de las estructuras selectivas. Crear diagramas de flujo con estructuras selectivas simples, dobles y mltiples.

Qu es una expresin lgica?

Las expresiones lgicas o booleanas, llamadas as en honor del matemtico George Boole, estn constituida por nmeros, constantes o variables y operadores relacionales o lgicos.
El valor que pueden tomar estas expresiones es el de verdadero o falso. Se utilizan frecuentemente en las estructuras selectivas (dependiendo del resultado de la evaluacin se toma por un determinado camino alternativo) y en las estructuras repetitivas (dependiendo del resultado de la evaluacin se contina con el ciclo o se interrumpe al mismo).

Operadores relacionales

Un operador relacional se utiliza para comparar los valores de dos expresiones. stas deben ser del mismo tipo (aritmticas, lgicas, de carcter o de cadena).

Repaso de operadores lgicos

El operador conjuncin (y) y el operador disyuncin (o) siempre actan sobre dos operandos, mientras que, el operador negacin (no) slo acta sobre un operando, o dicho de otra forma, es un operador monario.
El modo en que actan los operadores lgicos se resume en las llamadas tablas de verdad, definidas por el matemtico George Boole.

Tablas de verdad

La tabla de verdad del operador conjuncin (y) es:

Ejercicios: si A = 9, B = 3, C = 8 y D = 6, cual es el resultado de las siguientes expresiones

1. A > B y C > D
2. A > B y C > A 3. A = B y C >= D

4. A = B y C >= A y D < B

Tablas de verdad (cont.)

La tabla de verdad del operador disyuncin (o) es:

Ejercicios: si A = 9, B = 3, C = 8 y D = 6, cual es el resultado de las siguientes expresiones

1. A > B o C > D
2. A > B o C > A 3. A = B o C >= D

4. A = B o C >= A o D < B

Tablas de verdad (cont.)

La tabla de verdad del operador negacin (no) es:

Ejercicios: si A = 9, B = 3, C = 8 y D = 6, cual es el resultado de las siguientes expresiones

1. no (A > B)

2. no (C > D)

Operadores aritmticos (algebraicos)

Resolver: 10 + 10 + 10 / 3

Jerarqua de operadores aritmticos

Ejercicios: 1. 7+7*10 2. No( (7>3) y (4<8)) 3. ((5>2) y (4<=7)) o (5^2+10/2)

Por qu se utilizan las estructuras selectivas?

Las estructuras lgicas selectivas se encuentran en la solucin algortmica de casi todo tipo de problema.
Se utiliza cuando en el desarrollo de la solucin de un problema se debe tomar una decisin, para establecer un proceso o sealar un camino alternativo a seguir.

La decisin se basa en la evaluacin de una o ms condiciones que nos sealarn como alternativa o consecuencia la rama a seguir.
Hay situaciones en las que la toma de decisiones se realiza en cascada. Es decir se toma una decisin, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisin y as sucesivamente.

Clasificacin de las estructuras selectivas

1.
2. 3.

SI ENTONCES
SI ENTONCES / SINO SI MLTIPLE

(Estructura selectiva simple)


(Estructura selectiva doble) (Estructura selectiva mltiple)

Nota: cuando las estructuras selectivas se aplican en cascada, se puede utilizar una combinacin de las estructuras sealadas anteriormente.

Estructura selectiva simple (si entonces)

La estructura selectiva simple si entonces permite que el flujo del diagrama siga por un camino especfico si se cumple una condicin o 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.

Ejemplo uso de estructura selectiva simple (PSeInt)

No 1 2 3 4 5

Producto Mouse Teclado Curso iOS Monitor iPad

Cantidad 10 3 1 3 1

Precio 5 12.5 100 125 570

Con IVA? (s/n) s s n s s

IVA 6.5 4.875 0 48.75 74.1

Pago 56.5 42.38 100 423.8 644.1

Ejercicio

Dado como dato el sueldo de un trabajador, aplicar un aumento del 15% si el sueldo dado es inferior a $ 1000. Imprima en este caso el nuevo sueldo del trabajador.
Haga el diagrama de flujo y la tabla de corrida.

La estructura selectiva doble (si entonces / sino)

La estructura selectiva si entonces / sino permite que el flujo del diagrama se bifurque por dos ramas diferentes en el punto de la toma de decisin(es).
Si al evaluar la condicin (o condiciones) el resultado es verdadero, entonces se sigue por un camino especfico y se ejecuta(n) cierta(s) operacin(es). Por otra parte, si el resultado es falso entonces se sigue por otro camino y se ejecuta(n) otra(s) operaciones. En ambos casos, luego de ejecutarse la(s) operacin(es) indicada(s) contina con la secuencia normal del diagrama.

Ejemplo uso de estructura selectiva doble (PSeInt)

No

P1

P2

P3

Prom

Resultado

1
2 3 4 5

5.0
8.0 5.0 4.0 8.0

6.0
4.0 7.0 4.0 9.0

7.0
3.0 8.0 5.0 7.0

6.0 Aprobado
5.0 Reprobado 6.7 Aprobado 4.3 Reprobado 8.0 Aprobado

Ejercicio

Construya un diagrama de flujo tal que dado como dato el sueldo de un trabajador, le aplique un aumento del 15% si el sueldo es inferior a $ 1000 y 12% en caso contrario. Imprima el nuevo saldo del trabajador.
Crear el diagrama de flujo y la tabla de corrida.

Estructura selectiva mltiple

La estructura selectiva si mltiple permite que el flujo del diagrama se bifurque por varias ramas en el punto de la toma de decisin(es) esto en funcin del valor que tome el selector.
As si el selector toma el valor 1 se ejecutar la accin 1, si toma el valor 2 se ejecutar la accin 2, si toma el valor N se realizar la accin N y si toma un valor distinto de los valores comprendidos entre 1 y N, se continuar con el flujo normal del diagrama realizndose la accin N + 1.

Ejemplo estructura selectiva mltiple

Categora 1 2 3

Aumento 15% 10% 8%

7%

No 1 2 3 4 5

Cat 1 2 3 2 1

Sue 1000 2000 1500

Nsue 1150 2200 1620

2000
3000

2200
3450

Estructuras selectivas en cascada (anidadas)

Tarea

Practicar y analizar los problemas resueltos del 2.1 al 2.14 del libro Metodologa de la programacin de Osvaldo Cair.