Fondamenti di Informatica, 13 Dicembre 2014

Non e' ammesso l'uso di alcun testo, appunti, calcolatrici, telefonini o 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, comunicarlo immediatamente al docente o all'assistente in aula ed indicarlo chiaramente sull'elaborato che si consegna.
  • I risultati verranno indicati nella pagina web del corso. Date ed orari degli orali, sul Forum.

  • Esercizio 1
    (a) Data una segnatura Σ per la logica dei predicati del primo ordine, definire l'insieme dei termini sulla segnatura Σ (TermΣ) e l'insieme delle formule ben formate (FbfΣ).
    Data inoltre una struttura AΣ ed una formula ben formata α in FbfΣ, si dica quando α e' soddisfacibile in AΣ, α e' vera in AΣ (valida in AΣ), α e' valida (o vera), α e' contradittoria.

    (b) Sia {{I0, F0}, {f1, s2, a2} } una segnatura dove 'I' e 'F' sono simboli di costante, 'f' e' un simbolo di relazione unario, e 's' e 'a' sono simboli di relazione binari. Interpretando I e F come "Italia" e "Francia", f(x) come "x e' un film", s(x, y) come "x e' uno spettatore del paese y", a (x, y) come "x ama y", si traducano le seguenti frasi (si scrivano cioe' le formule ben formate corrispondenti): (c) La seguente e' una deduzione incompleta in deduzione naturale per la seguente proposizione: (A → B) → (¬¬A → ¬¬B).
                        [A]1   [      ]4
                        ---------------- 
              [    ]2           B
            ----------------------- 
                    
                 --------- [1]
      [¬¬A]3      
     ------------------- 
               ⊥
            ------- [2]
              
          ----------- [3]
           ¬¬A → ¬¬B
      --------------------- [ ]
      (A → B) → (¬¬A → ¬¬B)
    
    Ricopiare e completare la deduzione.
    Esercizio 2
    (a) Fornire la definizione di codice in complemento a due per numeri interi ed un semplice algoritmo per passare dalla rappresentazione in complemento a due di un numero n a quella di -n.

    (b) Definire alcuni codici ad espansione.

    (c) Giustificare formalmente la correttezza del seguente algoritmo di conversione da base 4 a base 2:
    Si sostituisce ogni cifra della rappresentazione in base 4 con la coppia di cifre binarie che rappresenta, in base 2 il numero associato alla cifra della base 4. (Es.: (322)4 = (111010)4)
    Esercizio 3
    Cos'e' la Logica di Hoare? A cosa serve? Descrivere qualche regola della logica di Hoare per il linguaggio WHILE, fornendone una giustificazione informale.