Il flusso di esecuzione del codice

Precedente Home Su Successiva

LE ISTRUZIONI CHE MODIFICANO IL FLUSSO DI ESECUZIONE DEL PROGRAMMA

Una serie di parole chiave sono disponibili per modificare il flusso di esecuzione di un programma. Queste istruzioni sono le più semplici e sono previste da tutti i linguaggi di programmazione più comuni.

Istruzione condizionale if ...else...elseif...end

La forma generale di un’affermazione IF è

if condizione,
    istruzioni1;
elseif
condizione2
    istruzioni2
;
else

    istruzioni3
;
end

Le istruzioni1 vengono eseguite se la condizione viene verificata. Altrimenti vengono eseguite le istruzioni2 se la condizione2 è verificata o le istruzioni3 se entrambi le condizioni non sono verificate.

Ad esempio:

if n == m,
    A = 2;
elseif abs(n-m) == 1,
    A = -1;
else
    A = 0;
end

In questo caso la variabile A assumerà il valore 2 se n è pari ad m, sarà -1 se n e m differiscono di un’unità, sarà nulla altrimenti.

Istruzione CICLICA for...end

La forma generale di un’affermazione FOR è

for variabile = vettore,
    istruzioni;
end

Le istruzioni vengono eseguite un numero di volte pari alla lunghezza del vettore. Ad ogni ciclo, prima un elemento del vettore viene assegnato alla variabile, poi le istruzioni vengono eseguite utilizzando il valore corrente della variabile.

Ad esempio:

for I = 1:N,
    for J = 1:N,
        A(I,J) = 1/(I+J-1);
    end
end

In questo esempio nel ciclo esterno si assegnano alla variabile i i valori da 1 a N. 

Nel ciclo interno si assegnano alla variabile j i valori da 1 a N.

Istruzione CICLICA while...end

La forma generale di un’affermazione WHILE è

while condizione,
    istruzioni
end

Le istruzioni vengono eseguite ciclicamente finché la condizione rimane non falsa. Ad ogni ciclo, prima la condizione viene testata, poi le istruzioni vengono eseguite.

Ad esempio:

fact[1] = 1;
i = 1;
while i < 20,
    i = i + 1;
    fact[i] = fact[i-1] * 2^i;
end


In questo esempio il vettore fact comprenderà nei suoi elementi tutte le potenze di 2 fino al termine 2^19.

Pagina aggiornata il 28/05/06

Leonardo Daga's Warehouseâ, http://leonardodaga.insyde.it
Send any Comments to: leonardo.daga@gmail.com