Condicionales


Condicionales

Las sentencias condicionales se utilizan para ejecutar líneas de código de forma opcional, para ello existen distintas sencias condicionales entre las que podemos encontrar:


  • if

  • elseif

  • else

  • switch



Sentencia if

La sentencia if, evalúa una condición. Si la condición es verdadera ejercutará su cuerpo, en caso contrario no lo hará, su estructura es la siguiente:

if condicion

    cuerpo

end

Para entenderlo mejor vamos a ver un ejemplo donde queremos comprobar que un número sea mayor que diez, para conseguir esto el código a introducir debería ser el siguiente:

if n > 10

    disp("El número es mayor que diez")

end



Sentencia elseif

La sentencia elseif, va junto a la sentencia if. En primer lugar evalua la sentencia if y si su condición else es cierta, evalúa la condición de la sentencia elseif. Pasa exactamente igual que con la sentencia if, si la condición es verdadera ejecuta el cuerpo, mientras que si es falsa no lo hace. Su estructura es:

if condicionIf

    cuerpoIf

elseif conficionElseif

    cuerpoElseif

end

Vamos a continuar con el ejemplo anterior en el que comprobamos si un número era mayor que diez, ahora queremos que también podamos saber si dicho número es menor que diez, por ello el código sería: 

if n > 10

    disp("El número es mayor que diez")

elseif n < 10

    disp("El número es menor que diez")

end



Sentencia else

La sentencia else, irá junto con con la sentencia if, también puede ir la sentencia elseif. En este caso si ninguna de las condiciones anteriores es cierta, se ejecutará el else. Su estructura es la siguiente:

if condicionIf

    cuerpoIf

elseif conficionElseif

    cuerpoElseif

else

    cuerpoElse

end

Finalmente si en el ejemplo anterior queremos también que compruebe si dicho número es igual a diez, tendríamos que poner:

if n > 10

    disp("El número es mayor que diez")

elseif n < 10

    disp("El número es menor que diez")

else

    disp("El número es diez")

end



Sentencia switch

Si lo que buscamos es tener varios if juntos, podemos usar la sentencia switch la cual simplifica esta operación. La sentencia switch, se compara el valor de una variable o el resultado de evaluar una expresión, con un conjunto de valores valor1, valor2, ..., cuando coinciden se ejecuta el bloque de sentencias que están asociadas. Si el compilador no encuentra coincidencia, se ejecuta la sentencia otherwise, si es que está presente en el código. Su estructura es la siguiente:

switch expresion

    case valor 1

        sentencias_1

    case valor 2

        sentencias_2

    case valor 3

        sentencias_3

    otherwise

        sentencias_otherwise

end

Para entender este caso vamos a suponer que tenemos un menú donde el usuario elegirá entre tres opciones diferentes 1, 2 y 3, cuando se elija una de las opciones se mostrará un mensaje indicando la opción elegida. En el caso de que ninguna de las opciones sea elegida, se volverá a mostrar el menú y además se le indicará al usuario que no ha elegido ninguna opción, el código podría ser el siguiente:

while opcion < 1 && opcion >3

    disp("1. Primera opción");

    disp("2. Segunda opción");

    disp("3. Tercera opción");

    opcion = input('Elija una opción: ');

    switch opcion

        case 1

            disp("Ha elegido la opción 1");

        case 2

            disp("Ha elegido la opción 2");

        case 3

            disp("Ha elegido la opción 3");

        otherwise

            disp("No ha elegido ninguna opción válida");

    end

end

El while comprueba si se ha elegido una de esas tres opciones, si no se elige ninguna de ellas se volverá a pedir otra vez que introduzca una opción. El switch, comprueba cual es la opción escogida y muestra el mensaje correspondiente.



Haz que se muestren los números pares del vector:

V = [1 2 3 4 5 6 8]