Esame di Fondamenti di Informatica, CdL Ing. Meccanica A.A. 2013/2014 Docente: Prof. Ivan Bruno Appello: 20 Febbraio 2014 N. compito _B _ Cognome: Nome: . Nr. Matricola Nota: negli esercizi 1, 2, 3 cerchiare la risposta Rn che si ritiene corretta; la risposta errata comporta 0 punti per l’esercizio. Viene richiesto espressamente lo svolgimento di tutti i passaggi e non solo il risultato. Nel testo degli esercizi i valori C,N,M corrispondono rispettivamente ai seguenti valori: codifica ASCII delle prime lettere di Cognome e Nome (maiuscole) e prima cifra ≠0 della Matricola a partire da destra. La codifica ASCII è ottenibile in decimale sommando 64 alla posizione della lettera nell’alfabeto di 26 lettere (A=65,Z=90). 1. (Punti 3) Quanti bit di indirizzo servono per accedere ad uno spazio di memoria di 512MByte dove la cella di memoria è di 8 bit? Soluz: L’indirizzamento complessivo deve permettere di numerare 512Mbyte/8bit, ovvero con 1byte=8bit un numero di celle pari a 512M e quindi per un totale di 512*220 = 29*220 = 229. In totale occorrono 29 bit. Risposte: R1) R2) R3) R4) R5) R6) R7) 19 bit 21 bit 20 bit 10 bit 18 bit 16 bit Nessuna risposta valida 2. (Punti 3) Quale è il registro della CPU che si interfaccia con il Bus Address? Risposte: R1) R2) R3) R4) R5) MAR PC MDR IP nessuna risposta valida 3. (Punti 3) Si consideri una CPU con indirizzamento a 32 bit. Quali di queste affermazioni sul PC (program counter) sono vere? a) b) c) d) e) il PC contiene l’indirizzo della prossima istruzione da eseguire il PC contiene l’indirizzo di memoria dell’istruzione in esecuzione il PC viene aggiornato solo dopo che si è verificato un salto il PC tiene traccia dell’esecuzione del programma il PC viene sempre incrementato di 1 1 Risposte: R1) R2) R3) R4) R5) R6) R7) a,b,c a,d a,e b,e b,c d,e nessuna risposta valida 4. (Punti 3) Mettendo su una riga uno accanto all’altro i seguenti raggruppamenti di bit: 1 nibble, 5 word, 4 Kilobyte ed (3M+1) Mbyte, di quanti bit è formata la stringa risultante? (M prima cifra da destra !=0 della matricola) (si veda file delle soluzioni) Risposte: N° di bit:____________________ 5. (Punti 5) Rappresentare in virgola mobile a 16 bit [S C M] il numero decimale X=(N*100)/C+((M/C)*100) usando: un bit di segno, 5 bit per la caratteristica e 10 bit per la mantissa. Codificare tutta la rappresentazione in una stringa esadecimale. Valutare l’errore assoluto e percentuale. (si veda file delle soluzioni) Risposta: X = ([…]s [……………]c [………………………………]m)2 = (…………)16 EA = …………. E% = …………% 6. (Punti 6) Valutare il comportamento della seguente funzione in linguaggio C assumendo il vettore V con i seguenti N=5 numeri: {15, 18, 3, 25, 7}. Scrivere il vettore V e il valore della variabile d al termine di questo algoritmo. (si veda file delle soluzioni) int funz( int* V, int N ) { int a,b,c,d; for ( a = 0; a < N-1; a++) { c = a; for (b=a+1; b<N; b++){ if ( V[b] > V[c] ) c = b; } d=V[c]; V[c]=V[a]; V[a]=d; } return d; } Risposta: V={______________________} d=_____ 2 7. (Punti 4) Effettuare l’operazione A-B con A=C1(C2(C)) e B=N utilizzando la forma complemento a 2 a 8 bit. Scrivere il risultato (binario), la codifica in base 16 e valutare l’eventuale condizione di errore. (Nota: C e N sono la codifica ASCII delle prime lettere di Cognome e Nome maiuscole) (si veda file delle soluzioni) Risultato = (……………......………)2 = ( __ __ )16 errore = [sì][no] 8. (Punti 5) Moltiplicare per (16)10 il numero binario ottenuto dal seguente procedimento: (C∙28+N+M)10 AND (1FFF)16. Riportare in base 2 e 16 il valore di (C∙28+N+M). Rappresentare il risultato della moltiplicazione a 16 bit in base 2 ed in base 16. (Consiglio: convertire in decimale, effettuare la moltiplicazione e poi riconvertire in base 2 risulta più veloce che operare la moltiplicazione in base 2) (si veda file delle soluzioni) Risposta: (C∙28+N+M)10 = (...................................……………......………)2 = ( __ __ __ __ )16 Risultato = (...................................……………......………)2 = ( __ __ __ __ )16 3
© Copyright 2025 ExpyDoc