Rappresentazione in complemento alla base b
Rappresentazione in modulo di un un intero in base b
6) Quali linguaggi di programmazione conosce ?
Pascal
C
C++
Java
Perl
Javascript
Nessuno
Inserite eventuali altri
linguaggi di vostra conoscenza
7) Quale problema risolve il seguente algoritmo , se r e' un numero intero
maggiore di 1 ?
1) leggi r; 2)
cont <--- 1; 3) cont = r * cont; 4) somma= 1;
5) se (cont <= r)
{ somma <--- somma
+ cont; cont <--- cont * 2; }
6) stampa somma;
Stampa della somma di tutti i numeri da 1 fino ad r+1
Stampa del valore r+1
Stampa, del valore 2r + 1
Stampa, del valore 2r
8) Quale/i fra le opzioni sono corrette nel linguaggio C, avendo la
seguente dichiarazione di struttura (selezionare
tutte le opzioni di interesse):
struct ind {
char nome[30]; char indir[40]; char citta[20];} ind_info;
struct ind { char nome[30]; char indir[40]; char citta[20];} indirizzario;
struct ind *pun;
printf("%s\n",pun->nome);
ind_info.indir[29]='c';
9)
Quali fra i sotto-elencati sono dei sistemi operativi
e che conosce :
Microsoft internet explorer
UNIX
DOS
NETSCAPE COMMUNICATOR
WINDOWS 98
FRONT PAGE 2000
LINUX
10) La seguente funzione C
:
long int F(int k) {if(k==0) return 1; else return
k*F(k-1); } cosa utilizza e per calcolare che cosa ?
usa la ricorsione per calcolare la somma dei numeri interi da 1 fino a
k.
usa la ricerca binaria e calcola la somma dei numeri interi da 1 fino a
k.
usa la ricorsione per calcolare il fattoriale di k.
usa la ricorsione per calcolare il fattoriale di k, ma la funzione e'
non corretta.
11) Come puo' essere
usata una stringa in un programma in linguaggio C ?
Soltanto attraverso un array di caratteri mono-dimensionale
Attraverso una matrice il cui tipo e' char
Attraverso un vettore di caratteri e con un puntatore a carattere
Attraverso un vettore di caratteri avente dimensione pari alla lunghezza
della stringa.
12) Eseguite
ognuna delle seguenti attivita':
a)
Scrivete l'intestazione di una funzione chiamata scambia che
riceva come parametri due puntatori ai numeri in virgola mobile n ed m e
che non restituisca alcun valore.
b)
Scrivete il prototipo per la funzione della parte a)
c)
Scrivete l' intestazione di una funzione chiamata evaluate che
ricevendo un
intero n ed un puntatore alla funzione poly (funzione
intera con un argomento intero),
restituisca un intero ottenuto calcolando la funzione poly
su n.
d)
Scrivete il prototipo per la funzione della parte c)
13)
Avendo la seguente definizione:
struct
tab1
{ char nome[38];
char codice[5];
char telefon[20];
char fax[20];
char cap[6];
char citta[20];
char indiriz[45];
char note[51];
} CL1[100];
cosa rappresenta tale
dichiarazione, se e' corretta ?
14) Tenendo in considerazione la domanda 13) il seguente codice: int t=3; for(t=0;t<=99;t++)
strcpy(CL1[t].nome,"nessuno"); cosa
fa ?
15) Determinate quali fra le seguenti affermazioni sono vere e quali sono false: (facoltativamente
potete scrivere la motivazione della risposta)
a)
Se il puntatore di posizione di un file sequenziale fa riferimento ad un byte diverso dall'inizio di un file, quest'ultimo dovra' essere chiuso e riaperto
per leggere nuovamente da quel punto (inizio file).
motivazione
:
b)
La
funzione fseek, puo' ricercare solo dall'inizio di un file.
motivazione
:
c)
La funzione fprintf, puo'
scrivere sullo standard di output.
motivazione
:
d)
Per trovare un certo
record in un file ad accesso casuale, non e' necessario scorrere tutti gli
altri record.
motivazione
:
e)
I record dei file ad
accesso casuale non hanno una lunghezza uniforme.
motivazione
:
16)
Nel programma seguente
cosa fa la funzione nome_funz?
#include<stdio.h>
#include<stdlib.h>
struct tab1
{ char carattere;
struct tab1 *next;
} info;
int main()
{
void nome_funz(char *);
char car;
char stringa[35];
printf("\ninserite una stringa\n");
gets(stringa);
nome_funz(stringa);
scanf("\n%c",&car);
return 0;
}
void nome_funz( char *strin )
{struct tab1 *iniz;
char car;
if(*strin!=NULL)
{
iniz=malloc(sizeof(struct tab1));
iniz->carattere=*strin;
iniz=iniz->next;
nome_funz(strin+1);
}
iniz=NULL;
}
costruisce
ricorsivamente una pila, aggiungendo ogni nuovo carattere di strin all'inizio
cancella l'ultimo carattere di strin in una lista semplice
costruisce ricorsivamente una lista doppia, aggiungendovi ogni nuovo
carattere di strin alla fine
costruisce ricorsivamente una lista semplice, i cui nodi contengono
i caratteri di strin
17)
Avendo la definizione
struct
tab1
{ char nome1[38];
char codice[5];
char telefon[20];
char fax[20];
char cap[6];
char citta[20];
char indiriz[45];
char note[51];
struct
tab1 *next;
struct
tab1 *precedente;
} lista_doppia;
E'
possibile creare una lista doppia ordinata?
18) Come e' definito un albero
binario di ricerca ?
19) Avendo
definito, una struct albero, con il seguente prototipo di
funzione:
struct
albero *fun_alb( struct albero *radice, struct albero *r, char info); e'
possibile costruire un albero binario di ricerca usando la funzione fun_alb ?
Si ma fun_alb deve restituire un void
No
Si
Si ma non ordinato
20)
Nella macchina virtuale del C nel modello a tempo di esecuzione, abbiamo le
seguenti aree di memoria
a)
area del codice
b)
area dati globali
c)
area heap
d)
area stack
elencate
quali
sono le funzioni che svolgono queste aree di memoria?
21)
Un vettore elementare di nome vector, di 10 caratteri, come si puo' dichiarare nel linguaggio C?
22)
la seguente dichiarazione int k[8]; cosa rappresenta?
23)
(11001.1001)2
corrisponde a in base 10.
24)
B1E7 esadecimale corrisponde a
in base 2.
25)
Cosa succede ai parametri attuali , di una funzione, dopo la cessata
attivazione: nel passaggio per valore ed in quello per indirizzo?
26)
Perche' nel passaggio di un array ad una funzione, quest'ultimo viene sempre
passato per indirizzo nel linguaggio C?
27)
E' lecita la seguente definizione di struttura: struct{int giorno; int mese;
int anno;}data;
NO non ci vuole il punto e virgola
alla fine di data
SI
NO, manca il nome della struttura
SI, poiche' tutti i membri sono dello stesso
tipo
28)
Cosa fa la funzione malloc, il cui prototipo e':
void
*malloc(size_t dim);
29)
Il numero di nodi di un albero binario completo, avente profondita' h e' pari a :
supponendo, che la radice abbia profondita' zero.
30)
Si assuma di rappresentare numeri in complemento a
due. Se la rappresentazione di un numero mediante quattro bit e' 1101, la sua
rappresentazione mediante sei bit e':
001101
011101
101101
111101
Controlli la correttezza dei dati ed invii il modulo
N.B. Il modulo va inviato una sola volta