Fondamenti di Informatica, 7 Ottobre 2014

Non e' ammesso l'uso di alcun testo, appunti, calcolatrici o qualsivoglia app per smartphone. Le risposte vanno scritte nel foglio di bella copia. Si raccomanda la massima SINTETICITA'. L'eccessiva verbosita' verra' considerata negativamente.
  • Occorre essersi prenotati sul portale studenti del nostro ateneo. Se cio' non e' stato fatto, comunicatelo immediatamente al docente o all'assistente in aula.
  • I risultati verranno indicati nella pagina web del corso. Date ed orari degli orali, sul Forum.
  • Esercizio 1
    (a) Si dimostri, descrivendo l'isomorfismo di Cantor, che N (i numeri naturali) ed NxN (l'insieme delle coppie di numeri naturali) hanno la stessa cardinalita'.

    (b) Si definisca una codifica (e decodifica) per l'insieme {a,c,b,d}+ utilizzando l'isomorfismo di Cantor.

    (c) Si dimostri che esistono linguaggi che non possono essere generati da alcuna grammatica.

    Esercizio 2
    (a) Fornire la definizione di Macchina Astratta e descriverne le componenti.

    (b) Come e' possibile realizzare una macchina astratta? Cosa si intende per organizzazione a livelli di un sistema di calcolo?

    (c) E' possibile avere un sistema di calcolo organizzato a livelli in cui esistano tre livelli corrispondenti alla macchina astratta del linguaggio C++?
    Motivare brevemente la risposta.
    Esercizio 3
    Si consideri la seguente grammatica G=({1,0}, {S,A,B}, P, S), dove P e' composto dalle produzioni
    S --> A | B 
    A --> 0 | A1
    B --> 011C | 111C
    C --> ε | 01C
    Modificare le produzioni di G in modo che venga generato lo stesso linguaggio, ma la grammatica sia lineare destra.