|
Programma
del corso di
Programmazione
II
A.A.
1996/97
Prof. P. Velardi
Programmazione funzionale
ML: Tipi di dato definiti dall'utente. Eccezioni.
Record. Funzioni d'ordine superiore: map e filter (c.: 2.3.2,
3.3.1, 4.4, 5.1, 5.2, 6.1, 6.2, 6.3, 6.4, 6.5)
Programmazione procedurale
Pascal: procedure e funzioni. Ricorsione.
Passaggio di parametri. Record. L'istruzione with. Puntatori. Liste. Creazione
di una lista. Trasferimento di dati tra liste. Realizzazione e gestione di code.
File. (a.: 7, 10, 13; b.: 15, 16, 17, 19,
20)
Semantica operazionale
Semantica delle espressioni. Lo stato. Semantica
di un semplice linguaggio di programmazione procedurale. Funzioni e procedure.
Semantica statica e dinamica. Funzioni e procedure ricorsive. Ingresso e uscita.
(d.: 3, 8)
Teoria degli automi
Automa a stati finiti deterministico, non deterministico, con transazioni su parola vuota. Espressioni regolari. Automi
finiti con output: macchine di Moore e macchine di Mealy. Proprietà degli insiemi
regolari: pumping lemma, proprietà di chiusura, algoritmi di decisione, teorema
di Myhill-Nerode e minimizzazione degli automi finiti. (e.:
2.1 - 2.5, 2.7, 3.1 - 3.4)
Testi:
a. Welsh J. e Elder J.,
"Introduzione al Pascal", ESA
b. Lenzerini M. e Atzeni
P., "Progetto di programmi in Pascal", CLUP
c. Stansifer R., "ML
primer", Prentice Hall
d. Barbuti R., Mancarella
P. e Montagero C., "Semantica operazionale", Servizio edit. Università
di Pisa
e. Hopkroft J. E., Ullman
J. D., "Introduction to Automa Theory, languages and Computation",
Addison-Wesley
Indietro
|