Está en la página 1de 8

1

Algoritmos: Estructuras selectivas.


Algoritmos: Estructuras selectivas:

VERDADERO

SI
FALSO

Estructuras selectivas:
 Decisión simple.
 Decisión doble.
 Decisión en bloque.
 Decisión múltiple.

Decisión simple:

SI • Condición
ENTONCES • Instrucción

Ejemplo 1: Dados dos números cualesquiera, mostrar si el primero es mayor que el segundo.

Estructura:

• Dos números
Proceso • VERDADERO O
cualesquiera • El primero es FALSO
(a,b) mayor que el
segundo? (a>b?)

Entrada Salida

Pasos:

1
• Obtener los dos números (a,b).

2
• Verificar si el primero es mayor al segundo.

3
• Informar si el primero es mayor que el segundo.
2
Algoritmos: Estructuras selectivas.
INICIO
MOSTRAR “Ingresar dos números:”
LEER a, b
SI a > b ENTONCES
MOSTRAR “El primer número es mayor”
FIN-SI
FIN.

Prueba de escritorio:
Ejemplo: {2,4}

a b Pantalla Teclado U.A.L


2 4 Ingrese dos números 2
2 4 2>4?
4 FALSO

Ejemplo: {4,2}

a b Pantalla Teclado U.A.L


4 2 Ingrese dos números 4
4 2 4>2?
2 VERDADERO
El primer número es mayor

Ejercicios propuestos:
o PROBLEMA 16.

Decisión Doble:

SI •Condición
ENTONCES •Instrucción 1
SINO •Instrucción 2

Ejemplo 2(Problema 12): Dados dos números diferentes, sumarlos si el primero es menor que el segundo, caso contrario, restarlos.

INICIO
MOSTRAR “Ingrese dos números diferentes”
LEER a, b
SI a < b ENTONCES
suma ← a + b
MOSTRAR “El valor de la suma es:”, suma
SINO
resta ← a – b
MOSTRAR “El valor de la resta es:”, resta
FIN-SI
FIN.
3
Algoritmos: Estructuras selectivas.
Ejemplo 3: Dados dos números cualesquiera, informar la suma, la división y el mayor de ambos.
Estructura:

• Dos números Proceso • VERDADERO: El


cualesquiera (a,b) primero es mayor.
• Suma: a+b.
• FALSO: El segundo es
• División: a/b mayor
• El primero es mayor
que el segundo?
(a>b?)
Entrada Salida

Pasos:

• Obtener los dos números (a,b).


1
• Calcular la suma.
• Calcular la división.
2 • Verificar cuál es mayor

• Informar cuál es el mayor.


3

INICIO
MOSTRAR “Ingresar dos números:”
LEER a, b
suma ← a+b
division ← a/b
MOSTRAR “La suma es:”, suma
MOSTRAR “La división es:”, division
SI a > b ENTONCES
MOSTRAR “El primer número es mayor”
SINO
MOSTRAR “El segundo número es mayor”
FIN-SI
FIN.

IMPORTANTE: No tuvimos en cuenta la situación en que b=0!!!!!!!!!


Podríamos modificar la leyenda de inicio aclarando que el segundo número no debe ser cero, ya que si el usuario usa éste valor el
programa no va a correr. O podemos modificar el algoritmo para que se incluyan todos los casos. De todas maneras, tenemos el
mismo caso ya que son varios SI independientes (no concatenados).
4
Algoritmos: Estructuras selectivas.
INICIO
MOSTRAR “Ingresar dos números:”
LEER a, b
suma ← a+b
MOSTRAR “La suma es:”, suma
SI b=0 ENTONCES
MOSTRAR “La división no está definida”
SINO
division ← a/b
MOSTRAR “La división es:”, división
FIN-SI
SI a > b ENTONCES
MOSTRAR “El primer número es mayor”
SINO
MOSTRAR “El segundo número es mayor”
FIN-SI
FIN.

Prueba de escritorio:

Ejemplo: {2,4}

a b Suma División Pantalla Teclado U.A.L.


2 4 6 1/2 Ingrese dos números 2
2 4 2+4=6
4 4=0? FALSO ENTONCES
La suma es: 6 2/4=1/2
La división es: ½ 2>4? FALSO ENTONCES
El segundo número es mayor MOSTRAR “…”

Ejemplo: {4,2}

a b Suma División Pantalla Teclado U.A.L.


4 2 6 2 Ingrese dos números 4
4 2 4+2=6
2 4=0? FALSO ENTONCES
La suma es: 6 4/2=2
La división es: 2 4>2? VERDADERO ENTONCES
El primer número es mayor MOSTRAR “…”

Ejemplo: {4,0}

a b Suma División Pantalla Teclado U.A.L.


4 0 4 IndefinidaIngrese dos números 4
4 0 4+0=4
0 0=0? VERDADERO ENTONCES
La suma es: 4 MOSTRAR”…”
La división no está definida 4>0? VERDADERO ENTONCES
El primer número es mayor MOSTRAR “…”
Ejemplo 4 (Problema 15): Dados tres números, se pide:
1. La suma.
2. El promedio.
3. Si el promedio es mayor que 5, mostrar un mensaje que diga: “El promedio es mayor que 5”.
5
Algoritmos: Estructuras selectivas.
INICIO
MOSTRAR “Ingrese tres números”
LEER a,b, c
suma ← a + b + c
prom ← suma/3
MOSTRAR “La suma es:”, suma
SI prom > 5 ENTONCES
MOSTRAR “El promedio es mayor que 5”
SINO
MOSTRAR “El promedio es:”, prom
FIN-SI
FIN.

Ejercicios propuestos:
o PROBLEMA 13.
o PROBLEMA 14.

Decisión en bloque: Se usa cuando tenemos decisiones concatenadas (una dentro de la otra).

SI...condición

ENTONCES...SI...condición

ENTONCES (SINO)...FIN-SI

Ejemplo 5(Problema 17): Dados dos números, si el primero es mayor que el segundo, restarlos, si son iguales, multiplicarlos, en caso
contrario, sumarlos.
Estructura:

Dos números: a, b

¿ a > b?

SI NO

a-b ¿a = b?

SI NO

a*b a+b
6
Algoritmos: Estructuras selectivas.
INICIO
MOSTRAR “Ingrese dos números”
LEER a, b
SI a > b ENTONCES
resta ← a – b
MOSTRAR “La resta es:”, resta
SINO
SI a = b ENTONCES
suma ← a + b
MOSTRAR “La suma es:”, suma
SINO
prod ← a * b
MOSTRAR “El producto es:”, prod
FIN-SI
FIN-SI
FIN.

Ejemplo 6 (Problema 18): Se conocen las longitudes de los tres lados de un triángulo, informar si se trata de un triángulo equilátero,
isósceles o escaleno.
INICIO
MOSTRAR “Ingrese los lados del triángulo”
LEER lado1, lado2, lado3
SI lado1 =lado2 ʌ lado2=lado3
MOSTRAR “El triángulo es equilátero”
SINO
SI lado1 < > lado2 ʌ lado2 < > lado3
MOSTRAR “El triángulo es escaleno”
SINO
MOSTRAR “El triángulo es isósceles”
FIN-SI
FIN-SI
FIN.

Ejemplo 7 (Problema 20): Conocidos los coeficientes de una ecuación de segundo grado, calcular e informar las raíces de la
ecuación.
INICIO
MOSTRAR “Ingresar los coeficientes de la ecuación de segundo grado:”
LEER a, b, c
discriminante ← b^2-4*a*c
SI discriminante > 0 ENTONCES
MOSTRAR “Los valores de las raíces son:”, (b – (discriminante)ʌ1/2)/2*a, (b + (discriminante)ʌ1/2)/2*a
SINO
SI discriminante = 0 ENTONCES
MOSTRAR “El valor de las raíces dobles es:”, b/2*a
SINO
MOSTRAR “La ecuación tiene raíces imaginarias”
FIN-SI
FIN-SI
FIN.

Ejercicios Propuestos:

o PROBLEMA 19.
o PROBLEMA 21.
7
Algoritmos: Estructuras selectivas.

Decisión Múltiple: “SELECCIONAR CASO” Se usa cuando tenemos decisiones concatenadas y más complejas (una dentro de la otra).

Ejemplo 8 (Problema 24): Conocidas la cantidad de horas trabajadas, la categoría y la antigüedad de un empleado, calcular el sueldo
teniendo en cuenta que cobra $50 adicionales por cada año trabajado. El valor para cada categoría es:
Categoría 1: $10.
Categoría 2: $15.
Categoría 3: $20.
Estructura:

• Horas trabajadas, ht. Proceso • Cálculo del valor del


• Categoría, cat. sueldo.
• Selección de categoría.
• Antigüedad, ant.
• sueldo=ht*cat+50*ant

Entrada Salida

Pasos:

• Obtener datos de: horas trabajadas(ht),


1 Categoría (cat) y Antigüedad (ant).

• Seleccionar la categoría.
2 • Calcular el sueldo.

• Informar el sueldo.
3

INICIO
MOSTRAR “Ingresar la cantidad de horas trabajadas, la categoría y la antiguedad”
LEER ht, cat, ant
SI cat = 1 ENTONCES
sueldo ← ht *10 + 50*ant
SINO
SI cat=2 ENTONCES
sueldo ← ht *15 + 50*ant
SINO
sueldo ← ht *20 + 50*ant
FIN-SI
FIN-SI
FIN.
8
Algoritmos: Estructuras selectivas.
Instrucción SELECCIONAR CASO:

INICIO
MOSTRAR “Ingresar la cantidad de horas trabajadas, la categoría y la antiguedad”
LEER ht, cat, ant
SELECCIONAR CASO cat
CASO=1
vh=10
CASO=2
vh=15
CASO=3
vh=20
FIN SELECCIONAR
sueldo ← ht *vh + 50*ant
MOSTRAR “El sueldo es:”, sueldo
FIN.

Ejercicios Propuestos:
o PROBLEMA 25.

También podría gustarte