Osservazioni:
Given an expression in pseudocodice:
if a ¸ b then print “More or equal”;
else if a < b then print “Less”;
The equivalent in guarded commands is:
if
a ¸ b ! print “More or equal” Y
a < b ! print “Less”
fi
The power of guarded commands is illustrated in the following expression:
if
a ¸ b ! print “More or equal” Y
a · b ! print “Less or equal”
fi
When a = b, the result of command can be one “More or equal” or “Less or equal”.
L’esempio in figura mostra un utilizzo efficiente del comando if del linguaggio IMPCG per calcolare il massimo tra due locazioni.
Il seguente esempio mostra un modo elegante dell’applicazione dell’algoritmo di Euclide per il calcolo del massimo comun divisore di due numeri, utilizzo il comando do del linguaggio IMPCG.
Si dimostri la terminazione del programma in figura dove:
1. Breve Presentazione del corso
2. Semantica Operazionale del linguaggio imperativo IMP
4. Esercitazione sulla semantica operazionale di IMP e sulle tecniche di prova
5. Definizione Induttiva di Domini
6. Ordinamenti parziali completi, funzioni continue e minimi punti fissi
7. Semantica denotazionale di IMP
8. Semantica denotazionale del comando while di IMP
9. Equivalenza delle semantiche operazionale e denotazionale di Aexp e Bexp di IMP
10. Esercitazione sulle semantiche operazionale e denotazionale di IMP
11. Equivalenza delle semantiche operazionale e denotazionale dei comandi di IMP
12. Esercitazione in aula (sulla prima metà del corso)
13. Linguaggi con Tipi di Ordine Superiori
14. Valutazione Lazy
15. Nondeterminismo e Parallelismo (Concorrenza)
16. Esercitazione in aula sui tipi e sul non-determinismo
17. Communicating Sequential Processes (CSP)
18. Calculus of Communicating Systems (CCS)