logo
  • userLoginStatus

Welcome

Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.

Current View

Mathematical Engineering - Informatica A

Second partial exam

Informatica A Cognome ________________________________ Matricola _______________________ Nome ________________________________ Firma _______________________ Istruzioni • Non separate questi fogli. Scrive te la soluzione solo sui fogli distribuiti , utilizzando il retro delle pagine in caso di necessità . Cancella te le parti di brutta (o ripudiate) con un tratto di penna . • Ogni parte non cancellata a penna sarà considerata parte integrante della sol uzione. • È possibile scrivere a matita (e non ricalcare al momento della consegna!). • È vietato utilizzare calcolatrici o telefoni . Chi tenti di farlo ved rà annullata la sua prova. • È ammessa la consulta zion e di libri e appunti , purché con pacata discrezione e senza disturbare. • Qualsiasi tentativo di comunicare con altri studenti comporta l’espulsione dall’aula. • È possibile ritirarsi senza penalità . • Non è possibile lasciare l’aula conservando il tema della prova in corso. • Tempo a disposizione: 2 h 30 m Valore degli esercizi, voti parziali e voto finale: Esercizio 1 ( 2 punti ) __________ Esercizio 2 ( 4 punti ) __________ Esercizio 3 ( 4 punti ) __________ Esercizio 4 ( 7 punti ) __________ Esercizio 5 ( 8 punti ) __________ Esercizio 6 ( 4 punti ) __________ Totale: ( 29 punti ) _________ 2 Esercizio 1 - Algebra di Boole, Aritmetica Binaria, Codifica delle Informazioni (2 punti) (a) Si costruisca la tabella di verità della seguente espressione booleana, badando all a precedenz a tra gli operatori logici. (1 punto). ( A or B or A ) and ( ( B and ( not C ) ) and C ) (b) Si stabilisca il minimo numero di bit sufficiente a rappresentare in complemento a due i numeri A = 26 dec e B = –81dec , li si converta , se ne calcoli la differenza (A –B) in complemento a due e si indichi se si genera riporto sulla colonna dei bit più significativi e se si verifi ca overflow (1 punto). 3 Esercizio 2 ( 4 punti ) Dato il seguente schema di base di dati relazionale relativo a menù serviti in vari ristoranti: RISTORANTE( PartitaIva , Nome, Indirizzo, Città, GiornoChiusura, CodiceFiscaleProprietario) MENU( Codice , PIvaRistorante, Nome, Prezzo) COMPOSIZIONE( CodiceMenu, Portata ) PORTATA( Nome , Descrizione, Tipo, Calorie, Prezzo) INGREDIENTE( NomePortata, Ingrediente , Quantita) 1. Esprimere in SQL e nei tre linguaggi formali la query che trova le diverse città che non offrono nessun menù a meno di 10 euro. 4 RISTORANTE( PartitaIva , Nome, Indirizzo, Città, GiornoChiusura, CodiceFiscaleProprietario) MENU( Codice , PIvaRistorante, Nome, Prezzo) COMPOSIZIONE( CodiceMenu, Portata ) PORTAT A(Nome , Descrizione, Tipo, Calorie, Prezzo) INGREDIENTE( NomePortata, Ingrediente , Quantita) 2. Esprimere in SQL la query che trova i ristoranti che hanno solo menù in cui complessivamente le portate hanno in totale meno di 1000 calorie. 5 Esercizio 3 ( 4 punti ) Si dica cosa stampa il seguente codice #define N 2 #include #include #include void mistero(char * s, int k) { char v[N*3]; strcpy(v,s); printf("%c",v[0]); if( k > 0 && strlen(v)>N ) mistero(v+N,k); return; } int main() { char s[] = "AOZNI"; int i; for(i=0;i