Sei sulla pagina 1di 2

PARZIALE DI FONDAMENTI DI INFORMATICA 2011/2012

3 maggio 2012

NOME:______________________ COGNOME:__________________

MATRICOLA: ____________________________________________

Scrivere in stampatello NOME, COGNOME e MATRICOLA su ogni foglio.

Al termine, si DOVRA’ consegnare il testo del compito (questo foglio) e tutti i fogli
protocollo ricevuti.

NOTA 1: La prova si considera superata con esito positivo solo se sono verificate
entrambe le seguenti condizioni:

a) Votazione complessiva maggiore o uguale a 18/30;

b) Esercizio 4 svolto in modo sufficiente.

In tutti gli altri casi (votazione complessiva inferiore a 18 o votazione all’esercizio 4


non sufficiente) la prova si considera non superata.

ESERCIZIO 1. [4 punti] Determinare la rappresentazione del numero


seicentotrentanove in base B=2, 4, 8 e 16.

ESERCIZIO 2. [4 punti] Determinare in quale base B il numero


duecentocinquantasette è rappresentato dal numerale 515B.

ESERCIZIO 3. [4 punti] Con riferimento all’aritmetica binaria in complemento a


due:

• illustrare in quali casi l’operazione di sottrazione genera overflow;

• fornire, per ciascun caso di overflow indicato al primo punto, un esempio


numerico utilizzando numerali in complemento a 2 a 8 bit.
ESERCIZIO 4. [18 punti] Scrivere una funzione C++ (ed eventuali funzioni
ausiliarie) che, dati due array di interi a e b ed un intero positivo k≥2,
restituisce true se per ogni sequenza di almeno k elementi consecutivi di a tutti
uguali, a[i]=a[i+1]=a[i+m-1], m≥k, esiste una simile sequenza di
almeno m elementi consecutivi di b di uguale valore (ovvero tale che
a[i]=b[j]=b[j+1]=…=b[j+n-1], n≥m), e false in tutti gli altri casi.

E’ richiesta la descrizione della soluzione proposta e delle eventuali funzioni


ausiliarie.

Esempio: Se a={2,2,3,3,5,6,7,2,2,2}, b={6,-5,2,2,2,2,4,5,3,3} e k=2, la funzione


restituisce true (in corrispondenza delle 3 sequenze di almeno k=2 elementi
consecutivi uguali tra loro [2,2], [3,3] e [2,2,2] di a, abbiamo in b le sequenze di
elementi consecutivi [2,2,2,2] e [3,3] che sono di lunghezza pari o superiore a
quelle di uguale valore di a).

Esempio: Se a={2,2,3,3,5,6,7,2,2,2}, b={6,-5,2,2,4,5,3,3,2,2} e k=3, la funzione


restituisce false (in corrispondenza della sequenza di almeno k=3 elementi
consecutivi uguali tra loro [2,2,2] di a, non esiste in b una sequenza di 3 o più
elementi consecutivi pari a 2).

Potrebbero piacerti anche