2015 – 1

È dato il seguente programma: #include int main() { int a,b,c,temp; a=0; b=1; c=2; while(c > a) { if(b < c) { temp=c; c=b; b=temp; } else c=a-1; } printf("%d",c); return 0; } Scegliere la risposta corretta tra le seguenti Il programma scrive a video 0 Il programma scrive a video 1 Il programma scrive ... Leggi tutto

2014 – 7

Si consideri la seguente funzione, che viene chiamata con n >= k >= 1. int f(int n, int k) { if(n == k || k == 0) return 1; else return f(n-1, k-1)+f(n-1, k); } Quale tra le seguenti espressioni viene calcolata dalla funzione f? Si ricordi che n! è il fattoriale di n (cioè … Leggi tutto

2010 – 7

Si consideri il seguente frammento di programma: int f(int T[], int D, int k) { int i=0; int j=D-1; int ris=0; while(i < j) if(T[i]+T[j] > k) { ris+=1; j–; } else i++; return(ris); } main() { int T[]={-10,-3,-1,1,2,4,5,7,9,10,20,25,31,34}; printf(“num=%d\n”, f(T, 14, 25)); } Cosa viene visualizzato a video dall’esecuzione di main()? Soluzione: num=4. La … Leggi tutto

2010 – 5

Si consideri il seguente frammento di programma: #define D 10 main() { int M[D],i; for(i=0; i < D; i++) M[i]=9*i; printf("Sequenza="); for(i=0; i < D; i++) if(M[i]%(i+1) == 0) printf(" %2d",M[i]/(i+1)); else printf(" %2d",M[i]%(i+1)); } Cosa viene visualizzato a video dall'esecuzione di main()? Soluzione: Sequenza:  0  1  6  3  1  3  5  7  8  1. ... Leggi tutto

2010 – 3

Si considerino i 3 seguenti frammenti di programma, dove le variabili i, k, n e p sono di tipo int, e n è inizializzata con un valore positivo maggiore di #define TRUE 1 #define FALSE 0 p=TRUE; k=n; for(i=2; i < k; i++) if(n%i == 0) { printf("Il numero %d non e' primo\n",n); p=FALSE; break; } ... Leggi tutto

2010 – 1

Si consideri il seguente frammento di programma: int r, c, s; printf(“Inserisci un numero intero compreso fra -10000 e 10000: “); scanf(“%d”, &r); c=1; c=r*c; s=1; if(c

2006 – 3

Considerate le seguenti sei funzioni, con argomento N (un intero non negativo). Ciascuna di esse calcola un qualche valore scelto tra: N, 2N, N2, N3, 2N, N! Dovete stabilire qual è il valore calcolato da ogni funzione (potrebbero esserci doppioni: più funzioni potrebbero calcolare lo stesso valore; notate inoltre che N! denota il fattoriale di … Leggi tutto

2006 – 5

Cosa stampa il seguente programma, con input 5? int main() { float x,y,z; x=0; y=0; scanf(“%f”, &z); do { x=x+1; y=y+1/x; } while(!(y > z)); printf (“%f\n”,x); } Risposte: 5 12 25 nessuna delle precedenti. Soluzione: d (nessuna delle precedenti). Il programma calcola la somma 1+1/2+1/3+1/4+… finché non raggiunge il valore 5 e visualizza quanti … Leggi tutto

2006 – 4

Si consideri la seguente funzione: int f(int n) { if(n == 0) return 0; if(n%2 == 0) return 2*f(n/2); else return 2*f(n/2)+2; } Indicare qual è il valore restituito dall’invocazione f(f(2)). Risposte: 2 4 6 nessuna delle precedenti. Soluzione: d (nessuna delle precedenti). Osserva f(0): 0 f(1): 2*f(0)+2 = 2*0+2 = 2 f(2): 2*f(1) = 2*2 … Leggi tutto

2014 – 5

Siano A e B due insiemi di uguale cardinalità N (cioè con uguale numero di elementi) contenenti ciascuno N numeri interi diversi tra loro. I numeri dei due insiemi A e B vengono memorizzati, ordinati per valori crescenti, nei due vettori v e w. Si dica che insieme calcola nel vettore z il seguente codice: … Leggi tutto