Fondamenti di Informatica, 20 Settembre 2021
Non e' ammesso l'uso di alcun testo, appunti, calcolatrici, telefonini o
smartphone (questi ultimi vanno riposti lontano dalla propria persona). Le risposte vanno scritte nel foglio di bella copia. Si
raccomanda la massima SINTETICITA'. L'eccessiva verbosita' verra'
considerata negativamente.
Per sostenere l'esame e' obbligatorio essersi prenotati sul portale studenti del nostro
ateneo. Elaborati di studenti non prenotati NON verranno valutati.
I risultati
verranno indicati nella pagina web del corso.
Date ed orari degli orali, sulla chat pubblica di Teams del corso.
Esercizio 1
(a)
Fornire la definizione formale di sostituzione nel λ-calcolo.
(b)
Calcolare la forma normale (mostrando la computazione eseguita) del λ-termine
and T T
dove
and e' λab.abF
T e' λxy.x
F e' λxy.y
(c)
Enunciare e dimostrare il Lemma di Unicita' delle forme normali
utilizzando il Teorema di Confluenza.
Esercizio 2
(a)
Fornire la definizione di espressione regolare. Fornire inoltre l'espressione regolare
che rappresenta il linguaggio di tutte le stringhe lunghe 3 sull'alfabeto {a,b,c,d}.
(b)
Sia G1 una grammatica con il seguente insieme di produzioni:
S --> aS | b
e sia G2 una grammatica con il seguente insieme di produzioni:
S --> b | Ab
A --> Aa | a
Dimostrare che G1 e G2
sono equivalenti.
(c)
Dimostrare che il linguaggio
L = {ahbk | h,k>0, h>k}
non e' regolare.
Esercizio 3
Fornire la definizione di codice in complemento a 2 per i numeri interi.