Universita’ degli Studi di Pavia
FACOLTA’ DI INGEGNERIA
Esame di Fondamenti Informatica
a.a. 2012/2013
Appello 11 luglio 2013
NOME:
COGNOME:
Matricola:
Prova Pratica (data e voto)
(1) La codifica delle informazioni numeriche.
(2) Descrivere gli operatori base e le proprieta’
dell’algebra booleana.
(3) Per I tre tipi di traduttori (assemblatori, compilatori
e interprete) descrivere il meccanismo di
funzionamento, i vantaggi e gli svantaggi.
(4)
Date le seguenti istruzioni
str[10] = 'A';
p=str;
Definire il formato e il valore visualizzato a video delle seguenti
istruzioni
printf( "str[10]=%___\n", str[10] );
printf( "str[10]=%___\n", p[10] );
printf( " str[10]=%___\n", *(p+10) );
Definire il formato e il valore visualizzato a video delle seguenti
istruzioni
printf( "str[10]=%_____\n", str );
printf( "str[10]=% _____\n", p);
printf( " str[10]=%_____\n", (p+10) );
Commentare le seguenti istruzioni, definendo formato,valore
visualizzato a video e eventualmente commentare gli errori presenti.
char tmp = *p;
printf( "str[10]=%_____\n", tmp);
printf( "str[10]=% _____\n", &tmp);
printf( " str[10]=%_____\n", &(p)
);
(5)
Dati I seguenti spezzoni di codice
Codice A
inta,b=10;
intdouble (&a);
void intdouble( int *number)
{
*number=2*(*number);
}
Codice B
int a, b = 10;
a = intdouble (a);
int intdouble( int number)
{
return 2*number;
}
Commentare il diverso tipo di passaggio dei parametri definendone
tipologia e meccanismo di funzionamento.
Spiegare il motivo per cui la funzione definita nel codice A e’ diversa
nella definizione da quella del codice B.