Main Content

Instrucciones condicionales

Las instrucciones condicionales permiten seleccionar en tiempo de ejecución qué bloque de código se va a ejecutar. La instrucción condicional más simple es una instrucción if. Por ejemplo:

% Generate a random number
a = randi(100, 1);

% If it is even, divide by 2
if rem(a, 2) == 0
    disp('a is even')
    b = a/2;
end

Las instrucciones if pueden incluir opciones alternativas mediante el uso de las palabras clave opcionales elseif o else. Por ejemplo:

a = randi(100, 1);

if a < 30
    disp('small')
elseif a < 80
    disp('medium')
else
    disp('large')
end

Alternativamente, cuando desee probar la igualdad frente a un conjunto de valores conocidos, use una instrucción switch. Por ejemplo:

[dayNum, dayString] = weekday(date, 'long', 'en_US');

switch dayString
   case 'Monday'
      disp('Start of the work week')
   case 'Tuesday'
      disp('Day 2')
   case 'Wednesday'
      disp('Day 3')
   case 'Thursday'
      disp('Day 4')
   case 'Friday'
      disp('Last day of the work week')
   otherwise
      disp('Weekend!')
end

Tanto para if como para switch, MATLAB® ejecuta el código que corresponde a la primera condición verdadera y luego sale del bloque de código. Cada instrucción condicional requiere la palabra clave end.

En general, cuando los valores posibles tienen muchas opciones discretas y conocidas, las instrucciones switch son más fáciles de leer que las instrucciones if. Sin embargo, no es posible buscar desigualdades entre valores de switch y case. Por ejemplo, este tipo de condición no se puede implementar con un switch:

yourNumber = input('Enter a number: ');

if yourNumber < 0
    disp('Negative')
elseif yourNumber > 0
    disp('Positive')
else
    disp('Zero')
end

Consulte también

| | |