Decidere se eseguire o meno una o pił istruzioni
Diagramma di flusso
Dopo aver eseguito l'istruzione 0 decide se eseguire le istruzioni 1 e 2 e poi continua eseguendo l'istruzione 3
MAC
Traduciamo in MACL:
I0 ...... '
LDA A '
JGT ISTR1 ' Se(A > 0): PC <-- ISTR1
JMP ISTR3 '
ISTR1 I1 ...... '
I2 ...... '
ISTR3 I3 ...... ' Possiamo semplificare il codice se trasformiamo il diagramma di flusso in un altro equivalente: le istruzioni appaiono in sequenza, la decisione diventa un'istruzione di salto all'istruzione 3...
I0 ...... '
LDA A '
JLE ISTR3 ' Se(A <= 0): PC <-- ISTR3
I1 ...... '
I2 ...... '
ISTR3 I3 ...... '
Linguaggi di alto livello
VBasic | TPascal | C... |
---|
If A > 0 Then
Istr1
Istr2
End If | If A > 0 Then
Begin
Istr1;
Istr2;
End; | if(A > 0)
{
istr1;
istr2;
} |
Se viene controllata l'esecuzione di singole istruzioni
VBasic | TPascal | C... |
---|
If A > 0 Then
Istr1
End If | If A > 0 Then
Istr1; | if(A > 0)
istr1; | If A > 0 Then Istr1 |
|