Macros modulares III: estructuras condicional doble y múltiple.

Es la que compara datos y en base a esa comparación determina sus secuencias que normalmente son otra condicional para continuar con los resultados.

Ejemplo 1:

Una frutería ofrece las manzanas con descuento según la siguiente tabla:

Kilos comprados % descuento
0 - 2 0%
>2 - <=5 5%
>5 - <=10 10%
>10 - <=20 15%
20 a mas 20%

Solución:

Sub multiple()
k = InputBox("ingrese kilos comprados")
If k <= 2 Then
    MsgBox "no tiene descuento"
End If
    If k > 2 And k <= 5 Then
        MsgBox "tiene descuento de 5%"
    End If
        If k > 5 And k <= 10 Then
            MsgBox "tiene descuento de 10%"
        End If
            If k > 10 And k <= 20 Then
                MsgBox "tiene descuento de 15%"
            End If
                If k > 20 Then
                    MsgBox "tiene descuento de 20%"
                End If
MsgBox "Gracias por su compra"
End Sub

Del ejemplo capturamos datos con k = InputBox("ingrese kilos comprados"), inmediatamente despues realizamos las condiciones If k <= 2 Then (si k es menor e igual que 2 entonces) no tenemos descuento también tenemos If k > 2 And k <= 5 Then (si k es mayor que 2 Y k es menor e igual que 5 entonces) que es nuestra condicional doble por que tiene el operador And, también tenemos condiciones múltiples.

Ejemplo 2:

Imprima uno de estos mensajes con base al valor obtenido con los dados: “usted gana” (2,7) , “usted pierde” (1,5) ,”Error” (cualquier otro valor).

Solución:

Sub multiple1()
x = InputBox("Tire los dados")
If x = 2 Or x = 7 Then
    MsgBox "Usted gana"
Else
    If x = 1 Or x = 5 Then
        MsgBox "Usted pierde"
    Else
        MsgBox "Error"
    End If
End If
End Sub

En este ejemplo estamos usando el operador Or, primero capturamos el dato, luego ingresamos a la condición If x = 2 Or x = 7 Then (si x es igual a 2 Ó x es igual a 7) si el dato ingresado es 2 o 7 nos mostrara "Usted gana", de lo contrario ingresara a la siguiente condición si es 1 o 5 para mostrar "Usted pierde", si no es ninguno de los números que nos pide el programa nos mostrara "Error".



No hay comentarios:

Publicar un comentario