Main Content

Dichiarazioni condizionali

Le dichiarazioni condizionali consentono di selezionare, durante l'esecuzione, i blocchi di codici da eseguire. La dichiarazione condizionale più semplice è una dichiarazione if. Ad esempio:

% 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

Le dichiarazioni if possono includere scelte alternative, tramite le parole chiave opzionali elseif o else. Ad esempio:

a = randi(100, 1);

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

In alternativa, per effettuare il test dell'uguaglianza rispetto a una serie di valori noti, utilizzare una dichiarazione switch. Ad esempio:

[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

MATLAB®, sia per if che per switch, esegue il codice corrispondente alla prima condizione vera, quindi esce dal blocco di codice. Ogni dichiarazione condizionale richiede la parola chiave end.

In generale, in caso di numerosi possibili valori discreti noti, risulta più semplice leggere le dichiarazioni switch rispetto a if. Non è tuttavia possibile effettuare test di disuguaglianza tra i valori di switch e di case. Ad esempio, non è possibile implementare questo tipo di condizione con una dichiarazione switch:

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

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

Vedi anche

| | |

Siti web esterni