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

First partial exam

1 Informatica A - 11/11/20 11 Cognome ________________________________ Matricola _______________________ Nome ________________________________ Firma _______________________ Istruzioni • Non separate questi fogli. Scrivete la soluzione sol o sui fogli distribuiti , utilizzando il retro delle pagine in caso di necessità. Cancellate le parti di brutta (o ripudiate) con un tratto di penna . • Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. • È possibile scrivere a matita (e non si deve ricalcare al momento della consegna). • È vietato utilizzare calcolatrici, telefoni o pc . Chi tenti di farlo vedrà annullata la sua prova. • È ammessa la consultazione 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: 2h 30min Valore indicativo degli esercizi, voti parziali e voto finale: Esercizio 1 ( 2 punti ) __________ Esercizio 2 ( 4 punti ) __________ Esercizio 3 ( 4 punti ) __________ Esercizio 4 ( 4 punti ) __________ Totale: ( 14 punti ) _________ 2 Esercizio 1 (2 punti) Si costruisca la tabella di verità della seg uente espressione booleana. ( A or ( ( not B ) and ( not C ) ) ) and ( not ( A or (C or B) ) ) Si stabilisca il minimo numero di bit sufficiente a rappresentare in complemento a due i numeri A = 118 dec e B = –12 dec , 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 . 3 Esercizio 2 (4 punti) Si consideri il seguente progr amma #include #include #include void f1(int a,char b[]){ if(a>0){ b[0]='0'+a%2; b[1]=' \0'; f1(a/2, &b[1]); } } void f2(char a[],int b) { char c; if(b