Estructuras de control: En caso de(Switch)

Dentro de las estructuras de control contamos con la estructura de En caso de o Switch. Esta estructura es muy útil cuando se tienen múltiples opciones y emplear la estructura Si generaría una gran cantidad de código haciendo difícil leer el mismo.

Pensemos en un ejemplo sencillo, debemos salir de casa pero antes miramos el clima, por simplicidad digamos que si llueve, llevo paraguas, si hace frío llevo chaqueta y si está soleado no llevo accesorios. En una estructura Si tendríamos 3 grandes bloques de código.

Clima = clima actual

Si Clima == Llueve Entonces Llevar Paraguas
Si Clima == Frío Entonces Llevar Chaqueta
Si Clima == Soleado Entonces Llevar nada 

En cambio en una estructura En caso de tendríamos:

En caso de Clima
  Caso Llueve: Llevar(Paraguas);
  Caso Frío: Llevar(Chaqueta);
  Caso Soleado: Llevar(Nada);
  En otro caso: Llevar(Multiusos);

Como podemos ver en este último caso es más simple de leer. Es por ello que múltiples lenguajes de programación suelen implementar esta estructura.

El C# por ejemplo, encontramos la estructura switch-case:

switch(clima){
    case 'Llueve': 
        Llevar(Paraguas);
        break;
    case 'Frío':
        Llevar(Chaqueta);
        break;
    case 'Soleado':
        Llevar(Nada);
        break;
    default:
        Llevar(Multiusos);
}

En este caso tenemos una especie de traducción del algoritmo a C#.

Espero que sea de ayuda.