• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Soluzione esonero del 4 aprile 2012
 

Soluzione esonero del 4 aprile 2012

on

  • 374 views

 

Statistics

Views

Total Views
374
Views on SlideShare
374
Embed Views
0

Actions

Likes
0
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Soluzione esonero del 4 aprile 2012 Soluzione esonero del 4 aprile 2012 Document Transcript

    • Abilità Informatiche Ingegneria Chimica Università di Roma “La Sapienza” Esonero del 4 Aprile 2012 Le risposte corrette valgono 1 punto, quelle errate -0,25 punti, quelle non date 0 punti Nota: Tra le proposte per ciascuna domanda una sola è esattaNome: Cognome: Matricola:Domanda 1Si consideri l’architettura di un Personal Computer:A Il clock è un circuito che emette una serie di impulsi con una frequenza costante.B Durante un ciclo di esecuzione il registro PC contiene l’indirizzo dell’istruzione da eseguire nel ciclo corrente.C L’accesso ai registri della CPU è più lento rispetto all’accesso alla cache di primo livello.D L’IR contiene il programma correntemente in esecuzione.Domanda 2Si consideri il seguente programma C:#include <stdio.h>main(){int x; float y; char z, w;x=4; y=-2; z=’B’; w=’C’;x=( x%(int)y ?++x: w-z); /* istruzione 1 */y=x++/y; /* istruzione 2 */w=z+=1; w-=z; /* istruzione 3 */}A Immediatamente dopo l’esecuzione dell’istruzione 2, la variabile x ha il valore 4.B Immediatamente dopo l’esecuzione dell’istruzione 3, le variabili z e w hanno lo stesso valore.C Immediatamente dopo l’esecuzione dell’istruzione 3, la variabile z ha valore ’C’.D Immediatamente dopo l’esecuzione dell’istruzione 3, la variabile w ha valore ’0’.
    • Domanda 3Dato il seguente frammento di programma:int a=1, b=7;if ((--a > 0) || b++)printf("%d %d", a, b);elseprintf("%d %d", a+1, b+2);Il frammento di programma:A stampa 1 e 9B stampa 12 e 15C stampa 0 e 8D stampa 1 e 12Domanda 4Nei linguaggi di programmazione quale affermazione è vera?A L’esecuzione di un programma interpretato è tipicamente più veloce dell’esecuzione dello stesso programma compilato.B Un programma scritto in linguaggio assembler necessita di un traduttore.C Un programma compilato e linkato è sicuramente privo di errori.D Le istruzioni in linguaggio assembler sono espresse mediante una sequenza di bit.Domanda 5Indicare cosa viene stampato a video:int func (int , int, int);int main (void){ printf("Risultato=%dn",func(7,4,8)); return 0;}int func (int a, int b, int c){ int indice, ris=-1; for (indice=a+b; indice>=c; indice-=a-1) ris+=indice*(-1); return ris;}A: Risultato= -54B: Risultato= 1C: Risultato=-12D: L’esecuzione del programma genera un ciclo infinito
    • Domanda 6Cosa dà in Output il seguente codice?void computa (int*, int, int );int main() { int vettore[100]={6,12,23,1,4,2}; computa(vettore, 2, vettore[4]); printf("elemento=%d n n", vettore[4]); return 0; }void computa (int *vett, int size, int fattore){ int i=2, j=0; do { vett[j++]=i*fattore*i; i++; }while (i<= size); }Indicare cosa viene stampato a video quando eseguito:A: • elemento=5B: • elemento=23C: • elemento=4D: • Il frammento di programma è erratoDomanda 7Considerata la seguente procedura, indicare l’outputint main(void){int a[5][3];int *p, *q;int i,j,m=8;for(i=0; i<15; i++)a[0][i] = --m;for(i=0; i < 3; i++){for(j=1; j < 5;j++)printf("%5d",a[i][j]);printf("n");} 8 2 4 7 3 6 2 2 -2 -1 -2 -3 6 5 4 3 3 2 1 0 0 -1 -2 -3 3 5 5 3 2 1 5 -1 6 -3 -4 -5 -6 -7 -8 2 6 1 4 3 2 1 0 3 -2 -3 -4 -5 -6 -7
    • Domanda 8Indicare l’OUTPUT del seguente codice:void f(int *l);int main (void){ int x[5]={14, 7, -4, 6, 1}; f(x); printf("%d",x[3]); return 0;}void f(int *a) { a[1]=++a[4]; a[2]=a[19]*(-3);}A:• 5B:• 1C:• 6D:• 23Domanda 9int main() { char *g; char vett[10][20]; g = vett[2]; *g=2; printf("%d %cn", g== &vett[2][0], vett[2][0]-0+F); }A: • il frammento di programma è sintatticamente scorrettoB: • il frammento di programma è corretto e stampa 1 BC: • il frammento di programma è corretto e stampa 1 HD: • il frammento di programma è corretto e stampa 0 CDomanda 10Indicare l’output del seguente frammento di programma:int main (void){int vet[10],a, *p;p=vet;for (a=0; a < 10; a++) vet[a]=a; printf("%dnn", *(4+p)+13);}A: • il frammento di programma è sintatticamente scorrettoB: • il frammento di programma è corretto e stampa 17C: • il frammento di programma è corretto e stampa 11D: • il frammento di programma è corretto e stampa il quinto elemento del vettore