2003 – 6

Si consideri la seguente funzione: int A(int a, int b) { int p=0; while(a > 0) { if(a%2 == 1) p=b+p; a=a/2; b=2*b; } return p; } Dire quale sarà il valore tornato dalle chiamate A(4,3) A(7,4) A(35,25) Soluzione: Prova… 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 … Leggi tutto

2003 – 5

Si consideri la seguente funzione: int A(int n, int m) {   if(n == 0)      return 1;   else      if(n%2 == 0)        return A(n/2,m)*A(n/2,m);      else        return m*A(n-1,m); } Dire quale sarà il valore tornato dalle chiamate A(3,2) A(4,3) A(5,4) Soluzione: 8, 81, 1024. Prova… 0 1 2 3 4 0 1 1 … Leggi tutto

2003 – 3

Si considerino le due seguenti funzioni: int A(int n) {    if(n > 0)      return n+A(n-1);    else      return 0; } int B(int n) {    return(n*(n+1)/2); } Quale delle seguenti affermazioni è vera? Risposte: la funzione A() calcola il fattoriale di un numero mentre la funzione B() calcola la sommatoria di tutti … Leggi tutto

2003 – 2

Si consideri il seguente frammento di programma: void bang(int *a, int l) {    int i=0, t=0, loop=1;    while(loop)    {       if(a[i] > 0)       {           a[t]=a[i];           t++;       }       if(i < l-1)   ... Leggi tutto

2003 – 1

Si consideri il seguente frammento di programma: void quack(int *a, int *b, int *c, int l) { int i=0, j=0, k=0; while(k < 2*l) { if((a[i] < b[j] && i < l) || j == l) {          c[k]=a[i];          i++; } else {          c[k]=b[j]; ... Leggi tutto

2002 – 6

Cosa stampa il seguente programma? #include #define N 4 #define M 5 int F(int[], int, int); int main(void) {    int V[M] = {1, 2, 3, 4, 5};    int i, bit = 0;    printf(“%d\t”, F(V, M, bit));    for(i=N; i >= 1; i–)       printf(“%d\t”, V[i]);    printf(“\nil valore di bit … Leggi tutto

2002 – 4

Il vettore c contiene una stringa di n caratteri, alcuni dei quali sono spazi. La seguente funzione deve calcolare e restituire il numero di parole contenute nella stringa (una parola è una sequenza di caratteri consecutivi diversi da spazio che non si possa estendere né a sinistra né a destra mantenendo questa proprietà). Si assuma … Leggi tutto

2002 – 2

Cosa stampa il seguente programma ? #include typedef int vett[10]; vett x, y; int i, j; int b; void readV(vett x) { int i; for(i=0; i < 10; i++) scanf("%d", &x[i]); } int main() { readV(x); readV(y); for(i=0; i < 10; i++) { j=b=0; while((!b) && (j < 10)) { if(x[i] == y[j]) b=1; j++; ... Leggi tutto

Giornalismo d’inchiesta

Durante la sua attività giornalistica, Mino incappa in uno scoop. Ha infatti scoperto l’esistenza di un’associazione che fu fondata e composta da due membri che si conoscevano direttamente. Tutti gli altri membri furono successivamente reclutati se conoscevano direttamente uno o due garanti facenti già parte dell’associazione. Mino è riuscito a ricostruire la genesi dell’attuale associazione. … Leggi tutto

Numeri antipatici

E’ ben nota l’antipatia umorale della Regina di Cuori per certi numeri: per esempio, odia il numero 13; non solo, anche il 17 non è molto amato da Sua Maestà. Ahimè, questi non sono gli unici casi poiché ci sono diversi numeri M che non sono tollerati dalla Regina e a farne le spese sono … Leggi tutto