Issuu on Google+

Universidad Católica de El Salvador Facultad de Ingeniería y Arquitectura Programación I, Sección A Docente: Ma. Ing. Giovanni Acosta

Estructuras algorítmicas selectivas Objetivos: •

Crear y operar expresiones lógicas.

Conocer los tipos y usos de las estructuras selectivas.

Crear diagramas de flujo con estructuras selectivas simples, dobles y múltiples.


¿Qué es una expresión lógica?

• Las expresiones lógicas o booleanas, llamadas así en honor del matemático George Boole, están constituida por números, constantes o variables y operadores relacionales o lógicos. • 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 evaluación se toma por un determinado camino alternativo) y en las estructuras repetitivas (dependiendo del resultado de la evaluación se continúa 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 (aritméticas, lógicas, de carácter o de cadena).


Repaso de operadores lógicos

• El operador conjunción (y) y el operador disyunción (o) siempre actúan sobre dos operandos, mientras que, el operador negación (no) sólo actúa sobre un operando, o dicho de otra forma, es un operador monario. • El modo en que actúan los operadores lógicos se resume en las llamadas tablas de verdad, definidas por el matemático George Boole.


Tablas de verdad

• La tabla de verdad del operador conjunción (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 disyunción (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 negación (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 aritmĂŠticos (algebraicos)

Resolver: 10 + 10 + 10 / 3


JerarquĂ­a de operadores aritmĂŠticos

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 lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problema. • Se utiliza cuando en el desarrollo de la solución de un problema se debe tomar una decisión, para establecer un proceso o señalar un camino alternativo a seguir.

• La decisión se basa en la evaluación de una o más condiciones que nos señalarán 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 decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión y así sucesivamente.


Clasificación de las estructuras selectivas

1.

SI ENTONCES

(Estructura selectiva simple)

2.

SI ENTONCES / SINO

(Estructura selectiva doble)

3.

SI MÚLTIPLE

(Estructura selectiva múltiple)

Nota: cuando las estructuras selectivas se aplican en cascada, se puede utilizar una combinación de las estructuras señaladas anteriormente.


Estructura selectiva simple (si entonces)

• La estructura selectiva simple si entonces permite que el flujo del diagrama siga por un camino específico si se cumple una condición o conjunto de condiciones. • Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces se ejecuta(n) cierta(s) operación(es).

• Luego se continúa con la secuencia normal del diagrama.


Ejemplo uso de estructura selectiva simple (PSeInt)

No

Producto

1

Mouse

2

Teclado

3

Curso iOS

4

Monitor

5

iPad

Cantidad

Precio

10

5

Con IVA? (s/n) s

3

12.5

1

IVA

Pago

6.5

56.5

s

4.875

42.38

100

n

0

100

3

125

s

48.75

423.8

1

570

s

74.1

644.1


Ejercicio

â&#x20AC;˘ 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. â&#x20AC;˘ 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 decisión(es). • Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces se sigue por un camino específico y se ejecuta(n) cierta(s) operación(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) operación(es) indicada(s) continúa con la secuencia normal del diagrama.


Ejemplo uso de estructura selectiva doble (PSeInt)

No

P1

P2

P3

Prom

Resultado

1

5.0

6.0

7.0

6.0 Aprobado

2

8.0

4.0

3.0

5.0 Reprobado

3

5.0

7.0

8.0

6.7 Aprobado

4

4.0

4.0

5.0

4.3 Reprobado

5

8.0

9.0

7.0

8.0 Aprobado


Ejercicio

â&#x20AC;˘ 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. â&#x20AC;˘ Crear el diagrama de flujo y la tabla de corrida.


Estructura selectiva múltiple

• La estructura selectiva si múltiple permite que el flujo del diagrama se bifurque por varias ramas en el punto de la toma de decisión(es) esto en función del valor que tome el selector. • Así si el selector toma el valor 1 se ejecutará la acción 1, si toma el valor 2 se ejecutará la acción 2, si toma el valor N se realizará la acción N y si toma un valor distinto de los valores comprendidos entre 1 y N, se continuará con el flujo normal del diagrama realizándose la acción N + 1.


Ejemplo estructura selectiva múltiple

No

Cat

1

Categoría

Aumento

1

15%

2

10%

3

8%

4

7%

1

Sue 1000

Nsue 1150

2

2

2000

2200

3

3

1500

1620

4

2

2000

2200

5

1

3000

3450


Estructuras selectivas en cascada (anidadas)


Tarea

• Practicar y analizar los problemas resueltos del 2.1 al 2.14 del libro Metodología de la programación de Osvaldo Cairó.


clase7