Sei sulla pagina 1di 2

Corso di Laurea in Ingegneria dell'Informazione

Fondamenti di Programmazione - A.A. 2016/2017

ESAME DI MIDTERM

Code Domanda

T1-3245 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Risposta

Cognome Nome Matricola


Studente

Domande
1. XXXXXXXXXX

2. XXXXXXXXXXX

3. Quale delle seguenti espressioni logiche non può assumere MAI il valore 0?
[A] NOT X OR NOT X AND Y [B] NOT (X AND NOT Y)
[C] NOT (X AND Y) AND (NOT X OR Y) [D] NOT ((X AND NOT Y) AND (NOT X OR Y))

4. Quale delle seguenti espressioni booleane è corretta:


[A] X OR NOT X = 0 [B] X OR 1 = X [C] X AND 1 = X [D] X AND NOT X = 1

5. Tra le seguenti espressioni logiche, quale assume il valore 0 per X=1 e Y=0 e Z = 1?
[A] X AND NOT (Y AND Z) [B] X AND NOT Y OR Z
[C] nessuna [D] NOT X AND NOT Y OR Z

6. Qual è la rappresentazione in base 2 su 8 bit del numero naturale 256?


[A] 1000000 [B] 11111111 [C] 01111111 [D] nessuna

7. Qual è la rappresentazione in base 10 del numero binario 100010100?


[A] 274 [B] 276 [C] 278 [D] 280

8. Qual è la rappresentazione in base 2 del numero esadecimale A21?


[A] 101000100001 [B] 101000100111 [C] 111000100001 [D] 101010100001

9. Qual e' il valore assunto dalla variabile z al termine dell'esecuzione del seguente segmento di programma:
int x, y; float z;
x=3; y=0; z=x;
if (y>=0 && z<y)
x=x*y;
else
z=z*x;
[A] 9.0 [B] 9 [C] 0 [D] 3.0

1
Corso di Laurea in Ingegneria dell'Informazione
Fondamenti di Programmazione - A.A. 2016/2017
10. Qual e' il valore assunto dalla variabile z al termine dell'esecuzione del seguente segmento di programma:
int x, z;
z=5;
for (x=1;x<z; x++)
z=z*x;
[A] -2147483648 [B] 20 [C] 120 [D] 9

11. Qual e' il valore assunto dalle variabili x e y al termine dell'esecuzione del seguente segmento di programma:
int x, y;
x=-1; y=-1;
while (y>=0 || x <=1); {
x=x+1;
y=y-1;
}
[A] non e' possibile stabilirlo [B] x = 4, y = -1 [C] x = 3, y = -1 [D] x = 3, y = 0

12. Qual e' il valore assunto dalla variabile x al termine dell'esecuzione del seguente segmento di programma:
int x, y, z;
x=2; y=0; z=3;
if ( !((y >= 0) || (z <= 3)) )
x=x+1;
else
z=y/z-x;

[A] -3 [B] 2 [C] 3 [D] -2

13. Qual è il valore assunto dalla variabile y al termine del seguente segmento di programma:

int y, z;
z=1;
while (y>0) {
z=z-3;
y--;
}

[A] non è possibile stabilirlo [B] -2 [C] 0 [D] 1

14. Data la sequenza 2 – 5 – 8 – 11 – 14 -… scrivere un programma C in grado di generare i primi n (con n dato da
tastiera) elementi della sequenza.

15. Scrivere il frammento di programma C che chiesto all’utente di inserire una coppia di numeri (n, m) con n > 1 e m
> 1 (se così non fosse li richiede all’utente finchè non venga rispettato il vincolo) verifichi quale dei due numeri ha il
divisore più grande (si escluda dai divisiori 1, n ed m) visualizzando il risultato.
Ovviamente, se uno due numeri fosse primo (cioè, con nessun altro divisore eccetto a 1 e il numero stesso), restituire
1 come divisore più grande.