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 d istribuiti , 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 no n 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 final e: Esercizio 1 ( 2 punti ) __________ Esercizio 2 ( 4 punti ) __________ Esercizio 3 ( 4 punti ) __________ Esercizio 4 ( 8 punti ) __________ Esercizio 5 ( 10 punti ) __________ Esercizio 6 ( 4 punti ) __________ Totale: _________ 2 Esercizio 1 (2 punti) (a) Si costruisca la tabella di verità della seguente espressione booleana, badando all a precedenz a tra gli operatori logici. (1 punto). not ( ( A or B ) or ( B or not C ) or ( C or A ) ) (b) Si stabilisca il minimo numero di bit sufficiente a rappresentare in complemento a due i numeri A = 122dec e B = –18dec , li si converta , se ne calcolino la somma (A+B) e la differenza (A –B) in complemento a due e si indichi se si genera riporto sulla colonna dei bit più significativi e se si verifica overflow (1 punto). 3 Esercizio 2 ( 4 punti ) Dato il seguente schema (chiave primaria sottolineata): CLIENTE( CodCliente , Nome, Indirizzo, SecondiTotali) TELEFONATA( CodCliente, DataInizio, OraInizio , DurataInSecondi, TipoTariffa) TARIFFA( TipoTariffa , CostoAlSecondo) Esprimere in linguag gio SQL la seguente interrogazione: trovare il nome dei clienti che non hanno mai effettuato telefonate usando una tariffa con costo al minuto superiore ai 5 centesimi di euro al secondo. Scrivere il comando SQL che trova per ogni clie nte il costo, la data di inizio e l’ora di inizio della sua telefonata più lunga registrata nella base di dati. 4 Esercizio 3 ( 4 punti ) Dire cosa stampa il seguente frammento di codice: void f( int * a, int * n ) { if( *n % 2 ) { printf("%d", a[ *n] ); (*n) --; printf("%d", *(a+*n) ); f( a, n ); (*n)++; } return; } int main() { int i = 5, *v; char p[6], *d[6]; d[i] = (char *) malloc( i ); strcpy( d[i], "EURO" ); strcpy( p , "ADIEU" ); v = (int *) malloc(sizeof(int )*8); printf("%s_",*(d+i)); for( i=0; i