Anteprima
Vedrai una selezione di 6 pagine su 23
Quiz d'esame di Informatica Pag. 1 Quiz d'esame di Informatica Pag. 2
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Quiz d'esame di Informatica Pag. 6
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Quiz d'esame di Informatica Pag. 11
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Quiz d'esame di Informatica Pag. 16
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Quiz d'esame di Informatica Pag. 21
1 su 23
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Risposta: 20

6. Quale output produce il seguente codice?

#include <iostream>

using namespace std;

void copy(int a, int b, int c )

{ a *=2;

b *=2;

c *=2;

}

int main(){

int x=1, y=3, z=7;

copy(x,y,z);

cout <<x<<” ”<<y<<” ”<<z;

return 0;

}

2 6 14

359

237

137

7. Il passaggio di array in ingresso a funzione con la seguente sintassi: int f(int a[])

comporta la copia degli elementi dell’array

permette la modifica degli elementi dell’array all’interno della funzione

equivale al passaggio per riferimento

8. Selezionare le affermazioni vere. Scegli una o più alternative:

una variabile puntatore non ha indirizzo

una variabile puntatore non può essere modificata

una variabile puntatore é una variabile che contiene un indirizzo

9. Selezionare le affermazioni vere. Scegli una o più alternative:

Una allocazione multipla puó risultare in un segmentation fault

Una deallocazione multipla puó risultare in un memory leak

Una mancata deallocazione puó risultare in un memory leak

Una mancata allocazione puó risultare in un segmentation fault

10. Dopo l’esecuzione del seguente codice:

struct vector{

int data[3];

};

void increase(vector &v){

v[2]++;

}

vector x = { { 5, 6, 7 } };

increase(x);

Quale sará il valore degli elementi di x.data? Scegli un'alternativa:

5, 6, 7

5, 7, 7

genera errore di compilazione

5, 6, 8

genera un comportamento non prevedibile

11. Scegli una o più alternative:

00001001 + 00001001 = 00001110

01100100 + 10001001 = 11001101

00000101 + 00101010 = 00101111

00000101 + 00001001 = 00001110

12. Selezionare le affermazioni vere sui registri. Scegli una o più alternative:

Sono porte logiche combinatorie

Sono porte logiche sequenziali

Possono ricordare un valore oppure eseguire delle operazioni logiche

Il bit di load serve per forzare l’uscita al valore 1

13. Quali dei seguenti frammenti di codice compila correttamente? Scegli una o più alternative:

a.

const int y=6;

int z=4;

int z+y;

b.

const int y=6;

int z=4;

y=z;

c.

const int y=6;

int z=4+y;

int y=z+y;

d.

const int y=6;

int z=4;

y=y+z;

e.

const int y=6;

int z=4+y;

const int w=y+2;

f.

const int y=6;

int z=4+y;

int w=z+y;

14. Qual é il modo corretto di eseguire una porzione di CODICE solo se A é minore e uguale di B?

Scegli un'alternativa:

if( A <<= B ){ ...CODICE... }

if( A <B ){ ...CODICE... }

if( A <= C ){ ...CODICE... }

if( B >= A ){ ...CODICE... }

15. Quale output produce il seguente codice?

#include <iostream>

using namespace std;

void copy(int &a, int &b, int &c )

{ a *=2;

b *=2;

c *=2;

}

int main(){

int x=1, y=3, z=7;

copy(x,y,z);

cout <<x<<” ”<<y<<” ”<<z;

return 0;

}

Scegli un'alternativa:

359

2 6 14

137

237

16. Dato il seguente codice, quali saranno i valori degli elementi di a dopo l’esecuzione?

int a[5] = {1, 2, 3, 4};

Scegli un'alternativa:

a = {1, 2, 3, 4, 5}

a = {1, 2, 3, 4, 0}

a = {1, 2, 3, 4}

Errore di compilazione

Non é possibile prevederlo

17. Come si legge l’indirizzo di una variabile puntatore int *f; Scegli un'alternativa:

**f;

*f;

&f;

18. Per definire un array di k elementi interi, dove k ha un valore che non é noto al momento della

compilazione, quali tra queste sintassi sono corrette?

Scegli una o più alternative:

int a[k];

int *a[k];

int &a[k];

int *a = new int[k];

int &a = new int[k];

int a = new int[k];

19. Dopo l’esecuzione del seguente codice:

struct vector{

int data[3];

};

void increase(const vector &v){

v.data[2]++;

}

vector x = { { 5, 6, 7 } };

increase(x);

Quale sará il valore degli elementi di x.data? Scegli un'alternativa:

5, 6, 7

genera errore di compilazione

genera un comportamento non prevedibile

5, 6, 8

5, 7, 7

20. Selezionare le affermazioni vere sulla porta AND:

a. 0 & 0 == 1

b. Può essere implementata usando solo porte NAND

c. Può essere rappresentata con il simbolo matematico della moltiplicazione

d. Restituisce vero solo se il primo ingresso è vero ed il secondo è falso

21. Selezionare le affermazioni vere sulla porta logica Inverter

a. è realizzabile con 2 transistor

b. Se il bit di ingresso ha valore a=1 allora il bit di uscita avrà valore a=0

c. Non ha alcuna utilità pratica

d. Se il bit di ingresso ha valore a=1 allora il bit di uscita avrà valore a=1

22. Selezionare le affermazioni vere sui registri

a. Il bit load serve per forzare l’uscita al valore 1

b. Sono porte logiche combinatorie

c. Sono porte logiche sequenziali

d. Possono ricordare un valore oppure eseguire delle operazioni logiche

23. Quali delle seguenti istruzioni genera errore?

a. int y, z;

y==3;

b. int y, z;

z \=y;

c. int y, z;

y=w*3;

d. int y, z;

y=3;

e. int y, z;

y/=3;

f. int y, z;

y-=z*3;

24. Dato il codice:

while( CONDIZIONE -A && CONDIZIONE -B)

{ …CODICE-A…..

}

Il CODICE-A è eseguito finchè sia CONDIZIONE-A sia CONDIZIONE-B sono vere

25. Quale output produce il seguente codice?

#include <iostream>

using namespace std;

void copy(int a, int b, int c)

{ a *=2;

b *=2;

c *=2;

}

int main(){

int x=1, y=3, z=7;

copy(x, y, z);

cout<<x<<” “<<y<<” “<<z;

returno 0;

} a. 359

b. 237

c. 137

d. 2 6 14

26. Per definire un array di 3 elementi con valori 10, 20 e 30, quali tra queste sintassi sono corrette?

a. int a[3] = {10, 20, 30};

b. int a[ ] = {10, 20, 30};

c. int a[4] = {10, 20, 30};

d. int a[3];

a[1] = 10;

a[2] = 20;

a[3] = 30;

e. int a[3];

a = {10, 20, 30};

f. int a[3];

a[0] = 10;

a[1] = 20;

a[2] = 30;

27. Come si legge l’indirizzo di una variabile puntatore int *f; ?

a. **f;

b. &f;

c. *f;

28. Dato il seguente codice:

int *a = new int[3];

delete a;

a. La deallocazione di memoria è effettuata correttamente

b. Si tratta di una allocazione di memoria dinamica

c. Si tratta di una deallocazione di memoria statica

29. Il passaggio per valore di una struct ad una funzione:

a. genera un comportamento non prevedibile

b. è in generale da preferirsi al passaggio per riferimento

c. genera errore di compilazione

d. è potenzialmente computazionalmente onerosa

e. comporta la copia di tutti i membri della struct

30. Selezionare le affermazioni vere sulla porta logica XOR

a. È una porta logica OR negata

b. Non può essere implementata usando solo porte NAND

c. 1 XOR 1 == 0

d. Restituisce falso solo se il primo ingresso è falso ed il secondo è falso

31. Dato il codice:

int a=2,b=2,d=3,e=10;

int c = b <= d ? e : a;

Qual è il valore di c dopo l’esecuzione?

10

32. Quali sono le parti obbligatorie nella dicihiarazione di una funzione?

a. nome della funzione, parametri

b. nome della funzione, parametri, valore di ritorno

c. valore di ritorno, nome della funzione

d. valore di ritorno, nome della funzione, parametri, istruzione return

33. Selezionare le affermazioni vere sul DFF

a. E’ una porta logica sequenziale

b. Restituisce vero se l’ingresso è vero

c. E’ una porta logica combinatoria

d. Il valore dell’ingresso del ciclo precedente è il valore dell’uscita del ciclo precedente

34. Quale output stampa questo frammento di codice?

int x=1, y=2;

cout<<x / y;

Risposta: 0

35. Se da riga di comando scrivo ./a.out, ipotizzando di recuperare i parametri dal main, quanto vale

argc?

a. 0

b. 1

c. 2

d. -1

36. Quale delle seguenti affermazioni è vera

a. solo le variabili non puntatore hanno indirizzo

b. ogni variabile ha un indirizzo

c. solo le variabili puntatore hanno indirizzo

37. Selezionare le affermazioni vere sulla porta logica FullAdder:

a. se i bit di ingresso hanno valori a=1, b=0, c=1 allora i bit di uscita avranno valore

sum=0, carry=1

b. calcola la somma dei due bit di ingresso

c. non è una porta logica combinatoria

d. se i bit di ingresso hanno valori a=1, b=1, c=1 allora i bit di uscits avranno valore

sum=1, carry=1

38. Selezionare le affermazioni vere sui registri multi-bit

a. Non sono delle porte logiche

b. Possono essere implementati usando dei registri ad 1 bit

c. Possono memorizzare un valore multi-bit ed eseguire delle operazioni logiche

d. Il bit di load è condiviso tra tutti i registri ad 1 bit

39. Dopo le sueguenti assegnazioni quanto valgono x e y?

int x=2;

int y=++x;

a. x=2 e y=3

b. x=3 e y=3

c. x=2 e y=2

d. errore di compilazione

40. Dato il seguente codice

struct data{

int giorno, mese, anno;

};

data x;

data *px = &x;

Selezionare i modi corretti per accedere al campo giorno della variabile x:

a. (*px).giorno

b. x.giorno

c. px.giorno

d. px - >giorno

e. x - >giorno

f. (*px) - > giorno

41. Dato il codice:

int r = 0;

for(int x = 0; x<10; x+=2){

r = x;

}

Selezionare l’affermazione vera:

a. r alla fine del ciclo vale 10

b. r alla fine del ciclo vale 8

c. non si ferma mai

Qual è l’output del codice:

void main()

{ p(f(2));

return=;

}

int f(int a)

{ int z=2;

return z*a/2/2;

}

void p(int b)

{ cout<<b;

} a. 4

b. 2

c. Nessun output

d. Errore di compilazione

42. Se da riga di comando scrivo: ./a.out -c “text.txt”, ipotizzando di recuperare i parametri del main

cosa contiene argv[2]?

a. il nome del nostro eseguibile

b. la stringa “-c”

c. nessuna di queste

d. niente

43. Data la seguente tabella di verità, selezionare la funzione logica corrispondente:

44. Selezionare le affermazioni vere, considerando la codifica complemento a 2.

Scegli una o più alternative:

Il numero binario 11110111 corrisponde al numero decimale -9

É la codifica meno usata perché ha una rappresentazione doppia dello zero

-X in complemento a 2 corrisponde a 2^{n} - X + 1 in codifica senza segno

Il numero binario 11110010 corrisponde al numero decimale -14

45. Selezionare le affermazioni vere sulla

Dettagli
A.A. 2024-2025
23 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Maurettorepetto di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Trento o del prof Andrea Brighenti.