Estructura de decisión

Estructura de decisión

Normalmente, los pasos de un algoritmo se ejecutan en el orden en que fueron escritos. Sin embargo, en muchos algoritmos la secuencia de los pasos que se van a ejecutar depende de los datos de entrada. En estos casos, con base en los valores de ciertas variables, se debe tomar decisión sobre qué secuencia de pasos va a ser ejecutada.
Tales decisiones requieren la evaluación de una condición que está expresada en término de las variables relevantes. El resultado de la evaluación determina qué pasos del algoritmo van a ser ejecutadas a continuación.

El paso del algoritmo que describe la condición se llama paso de decisión.
Cada paso de decisión involucra la evaluación de una expresión lógica, esto es, una expresión que puede tener el valor de verdadero o falso.

Una condición describe normalmente una relación (mediante un operador relacional) particular entre dos variables o entre una variable y una constante).

En la siguiente tabla se muestra un ejemplo:

Variable a        Variable b           Variable c        condición                      valor
        2                    3                         5                   a > c                     Falso
        1                    4                         2                   a = 2                         Falso
        9                    2                         3                   b < a                     Verdadero
        7                    1                         5                   a > b y b < c     Verdadero
    120                200                         3                   a * c > b               Verdadero
      12                  15                       16                   a > b o a > c     Falso
      17                  19                       21                   a < b o a > c     Verdadero

La Sintaxis de la estructura de decisión es:
        Sí condición lógica entonces
                Instrucciones
        Sino
                Instrucciones
        Fin sí

· Si condición lógica es verdadera se ejecutan la o las instrucciones entre sí y sino.
· Si condición lógica es falsa se ejecutan la o las instrucciones entre sino y fin sí.
Ilustraremos la estructura de decisión modificando el problema del ejemplo Nº 1.
Ejemplo Nº 4 (Estructuras de secuencia y decisión)
Problema: se desea calcular el promedio de las tres notas obtenidas en el semestre por un alumno y
                  terminar si el alumno está o no. La nota mínima de aprobación es un 4.

Desarrollo: los pasos 1, 2, 3 y 4 del ejemplo Nº 1 se conservan y se agrega:
                · Paso 5: si variable "promedio" es menor que 4 (es decir, es verdadera esta condición) escribir 
                   reprobado.
                  Sino, es decir si la variable promedio no es menor que 4 (falso) escribir aprobado.
Construcción:
leer nota1, nota2, nota3
suma = nota1 + nota2 + nota3
promedio = suma / 3
escribir "El promedio es", promedio
si promedio < 4 entonces
    escribir "Reprobado"
sino
escribir "Aprobado"
fin sí

Ejemplo Nº 5 (Estructuras de secuencia y decisión)
Problema: se desea calcular el promedio de las dos notas obtenidas en el semestre por un alumno, la nota
                   mínima de cada prueba para aprobar la asignatura es un 4, de no ser así el alumno está reprobado.
Desarrollo: el paso 1 del ejemplo anterior se conserva y se agrega:
          · Paso 2: si variable "nota1" es menor que 4 (es decir, es verdadera esta condición) escribir 
            reprobado.
           Si variable "nota2" es menor que 4 (es decir, es verdadera esta condición) escribir reprobado. Sino,
           es decir si las dos variables nota1 y nota2 no son menores que 4 (falso) escribir aprobado.
Construcción:
leer nota1, nota2
si nota1<4 entonces
     escribir "Reprobado"
sino
    si nota2 < 4 entonces
        escribir "Reprobado"
    sino
        escribir "Aprobado"
    fin si
fin sí
Ejemplo Nº 6 (Estructuras de secuencia y decisión)
Problema: Lea el salario de un empleado y calcule el aguinaldo que se le asignará. Si el
salario es menor a $ 100.000 se le pagará un 30% del sueldo, como aguinaldo,
en caso contrario se le pagará un 20% del sueldo, como aguinaldo.
Solución
Tabla de datos:
· Constantes : porcentaje1= 0.30, porcentaje2 = 0.20
· Variables de entrada : salario (salario del empleado).
· Variable de salida : aguinaldo.
Estrategia de solución:
· Paso 1: leer salario.
· Paso 2: Decidir si salario es menor o mayor a $100.000.
· Paso 3: calcular aguinaldo de acuerdo al grado de verdad de la condición del paso
anterior.
· Paso 4: escribir el aguinaldo que le corresponde al empleado.
Construcción:
leer salario
sí salario < 100.000 entonces
aguinaldo = salario * 0.30
sino
aguinaldo = salario * 0.20
fin si
escribir " Su aguinaldo es ", aguinaldo
Actividad Nº 2
Escriba un algoritmo para cada uno de los siguientes enunciados:
1) Si el valor de una variable leída no es igual a 0, entonces multiplicarla por 50. De lo
contrario pasar por alto este cálculo. En cualquier caso escribir el valor.
2) Encontrar el mayor de dos valores. Considerar si son iguales.
3) Calcule la diferencia absoluta entre dos números. Sí x es mayor que y, la diferencia
absoluta es x - y; si y es mayor que x, la diferencia absoluta es y - x.

No hay comentarios:

Publicar un comentario