En este tema, aprenderemos sobre las estructuras de control de flujo en MATLAB, específicamente las sentencias if, else, y switch. Estas estructuras permiten que el programa tome decisiones y ejecute diferentes bloques de código en función de ciertas condiciones.

  1. Sentencia if

La sentencia if se utiliza para ejecutar un bloque de código solo si una condición específica es verdadera.

Sintaxis

if condición
    % Bloque de código
end

Ejemplo

x = 5;
if x > 0
    disp('x es positivo');
end

En este ejemplo, el mensaje "x es positivo" se mostrará en la consola porque la condición x > 0 es verdadera.

  1. Sentencia if-else

La sentencia if-else permite ejecutar un bloque de código si la condición es verdadera y otro bloque si la condición es falsa.

Sintaxis

if condición
    % Bloque de código si la condición es verdadera
else
    % Bloque de código si la condición es falsa
end

Ejemplo

x = -3;
if x > 0
    disp('x es positivo');
else
    disp('x es negativo o cero');
end

En este caso, el mensaje "x es negativo o cero" se mostrará porque la condición x > 0 es falsa.

  1. Sentencia if-elseif-else

La sentencia if-elseif-else permite evaluar múltiples condiciones en secuencia.

Sintaxis

if condición1
    % Bloque de código si condición1 es verdadera
elseif condición2
    % Bloque de código si condición2 es verdadera
else
    % Bloque de código si ninguna condición es verdadera
end

Ejemplo

x = 0;
if x > 0
    disp('x es positivo');
elseif x < 0
    disp('x es negativo');
else
    disp('x es cero');
end

En este ejemplo, el mensaje "x es cero" se mostrará porque ninguna de las condiciones anteriores es verdadera.

  1. Sentencia switch

La sentencia switch se utiliza para seleccionar una de varias opciones posibles basadas en el valor de una variable.

Sintaxis

switch variable
    case valor1
        % Bloque de código para valor1
    case valor2
        % Bloque de código para valor2
    otherwise
        % Bloque de código si ningún caso coincide
end

Ejemplo

day = 'Tuesday';
switch day
    case 'Monday'
        disp('Hoy es lunes');
    case 'Tuesday'
        disp('Hoy es martes');
    case 'Wednesday'
        disp('Hoy es miércoles');
    otherwise
        disp('Hoy no es lunes, martes ni miércoles');
end

En este caso, el mensaje "Hoy es martes" se mostrará porque el valor de day es 'Tuesday'.

Ejercicios Prácticos

Ejercicio 1

Escribe un script que verifique si un número es par o impar y muestre un mensaje correspondiente.

Solución

num = 7;
if mod(num, 2) == 0
    disp('El número es par');
else
    disp('El número es impar');
end

Ejercicio 2

Escribe un script que clasifique una calificación numérica (0-100) en letras (A, B, C, D, F).

Solución

grade = 85;
if grade >= 90
    disp('A');
elseif grade >= 80
    disp('B');
elseif grade >= 70
    disp('C');
elseif grade >= 60
    disp('D');
else
    disp('F');
end

Ejercicio 3

Escribe un script que determine el nombre del día de la semana basado en un número (1-7).

Solución

dayNumber = 4;
switch dayNumber
    case 1
        disp('Lunes');
    case 2
        disp('Martes');
    case 3
        disp('Miércoles');
    case 4
        disp('Jueves');
    case 5
        disp('Viernes');
    case 6
        disp('Sábado');
    case 7
        disp('Domingo');
    otherwise
        disp('Número de día inválido');
end

Conclusión

En esta sección, hemos aprendido cómo utilizar las estructuras de control de flujo if, else, elseif, y switch en MATLAB. Estas herramientas son fundamentales para tomar decisiones en nuestros programas y ejecutar diferentes bloques de código en función de condiciones específicas. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos. En el próximo tema, exploraremos los bucles for y while para repetir bloques de código de manera eficiente.

© Copyright 2024. Todos los derechos reservados