CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e
MATERIALI
Informatica B, C
anno accademico 2010-2011
Prof. Danilo ARDAGNA
Prima Prova in Itinere – 4.5.2011
Durata 2h
Valutazioni
1 (4) ____ 2 (3) ____ 3 (3) ____ 4 (3) ____ 5 (4) ____ 6 (4) ____7 (4) ____ 8 (4) ____ 9 (4) ____
Cognome ______________________________________________________________________________
Nome _________________________________________________________________________________
Matricola _________________________Firma ________________________________________________
Si ricorda che non è possibile consultare libri o appunti.
- 1 - punti 4
Si consideri il seguente frammento di codice in linguaggio C:
#include <stdio.h>
main(){
int
int
int
int
i=0;
x=2;
y=1;
*p;
while(i<8){
if(i%2==0){
p=&x;
x=y+2;
y=i+3;
(*p)=(*p)+2;
}
if (i%3==0){
p=&y;
(*p)++;
}
printf("%d %d %d\n",i,x,y);
i++;
}
}
indicare l’output della printf per tutte le iterazioni effettuate dal costrutto while.
2
- 2 - punti 3
Si vuole creare un programma per la gestione degli amici simile a Facebook. Definire in C
le strutture necessarie per memorizzare le informazioni relative ad un utente, ovvero
nickname, nome, data di nascita (non sono ammesse stringhe per questa informazione) e
sesso (maschio o femmina). In aggiunta, ogni utente avrà un elenco di amici (altri utenti)
e un elenco di gruppi a cui è iscritto. Ogni gruppo dovrà gestire informazioni riguardo al
nome, il link della pagina e l'elenco di utenti iscritti al gruppo.
Si definiscano a priori le dimensioni massime delle stringhe nome e link; il massimo
numero di amici, di gruppi e di iscritti ad un gruppo.
- 3 - punti 3
Dati due numeri A,B rappresentati in modulo e segno, si convertano in complemento a 2
e se ne faccia la somma indicando se si è verificato overflow. Riportare oltre al risultato,
tutti i passaggi.
A: 10101010
B: 00110101
- 4 - punti 3
Calcolare la tabella della verita’ per l’espressione A AND (B OR C)
- 5 - punti 4
Descrivere brevemente come viene organizzata la memoria per la rappresentazione di
vettori e matrici nei programmi C.
- 6 - punti 4
Fornire prototipo e definizione della funzione strlen che riceve come parametro in
ingresso una stringa e ne restituisce la lunghezza. Si ricorda che in C le stringhe sono
rappresentate come array di char il cui ultimo elemento convenzionale è il carattere null
’\0’.
- 7 - punti 4
Fornire prototipo e definizione della funzione strcat che riceve come parametri in
ingresso due stringhe s1 ed s2 e restituisce nel parametro s3 la stringa ottenuta
concatenando s1 con s2. Si supponga che all’atto della chiamata s3 sia esistente e sia di
lunghezza sufficiente a contenere la concatenazione delle due stringhe.
- 8 - punti 4
Fornire prototipo e definizione della funzione strcmp che riceve come parametri in
ingresso due stringhe s1 ed s2 e restituisce -1 se s1 precede in ordine lessicografico s2,
1 in caso contrario e 0 se le due stringhe sono uguali.
- 9 - punti 4
Fornire prototipo e definizione della funzione issubstr che riceve come parametri in
ingresso due stringhe s1 ed s2 e restituisce 1 se s2 è sottostringa propria di s1 (le due
stringhe non sono cioè uguali), 2 se le stringhe sono uguali e 0 in tutti gli altri casi.
2
Scarica

CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e