La lumaca assonnata

Corso Online per Potenziare le Competenze Digitali Gary, la famosa lumaca domestica che abita con Spongebob, si è imbarcata in un avventura a Bikini Bottom alla ricerca di un regalo da fare al suo padroncino (come farebbe un gatto che si rispetti!). Purtroppo, Gary è scivolato sulla sua bava ed è caduto in una profonda … Leggi tutto

2014 – 4

Si consideri la seguente funzione: int f(int a, int b) { if(a == b) return a; else if(a > b) return f(a-b, b); else return f(a, b-a); } Cosa restituisce la funzione se viene chiamata passandole due numeri a e b maggiori di zero? 1 se a, b sono entrambi dispari, 2 altrimenti 1 se … Leggi tutto

2014 – 3

È dato il seguente programma: #include int max(int a, int b) { if(a > b) return a; return b; } int f(int a, int b) { if(a == b) return b; if(a < 0) return -b; return max(f(a-1,2*b), f(a-1,2*b+1)); } void main() { printf("%d ", f(8,0)); } Cosa viene visualizzato a video dall'esecuzione di main()? ... Leggi tutto

2014 – 2

È dato il seguente programma: #include int f[10]; int i; int main() { f[0]=5; f[1]=3; for(i=0; i < 8; i++) f[i+2]=f[i]-f[i+1]; for(i=0; i < 10; i++) printf("%d, ", f[i]); } Cosa viene visualizzato a video dall'esecuzione di main()? 5, 3, 2, 1, 1, 0, 1, -1, 2, -3, 5, 3, 2, 1, 1, 1, 0, ... Leggi tutto

2014 – 1

È dato il seguente programma: #include void main() { int i, c; c=0; i=0; while(i < 100) { c++; if(c%2 != 0) i++; else i=i+c; } printf("c=%d\n", c); } Cosa viene visualizzato a video dall'esecuzione di main()? il ciclo while non termina mai, quindi non viene visualizzato nulla c=19 c=18 c=17 Soluzione: b (c=19) Osserva i ... Leggi tutto

2009 – 8

Si consideri il seguente frammento di programma: #define N 15 main() { int i, j; char frase[]; char t; i=1; do { for(j=0; j < N; j++) { t=frase[j]; frase[j]=frase[(j+i)%N]; frase[(j+i)%N]=t; } i += 1; } while(frase[8] != ' '); printf("%s\n", frase); } Quale tra le seguenti stringhe di 15 caratteri utilizzate per inizializzare il ... Leggi tutto

2009 – 7

È dato il seguente frammento di programma: void ricorsiva(int n) { int m; m=n/2; if(m != 0) ricorsiva(m); printf(“%1d”, n%2); } main() { ricorsiva(729); } Cosa viene visualizzato a video dall’esecuzione di main()? Soluzione: 1011011001 Osserva la sequenza di chiamate ricorsive e i valori visualizzati r(729) = r(364)1 = r(182)01 = r(91)001 = r(45)1001 = r(22)11001 = r(11)011001 = r(5)1011001 = r(2)11011001 … Leggi tutto

2009 – 6

Si consideri il seguente frammento di programma: main() { int i=3, j=0; do { i=(i+2*i)%10; j += 1; } while(i != 7); printf(“j=%d\n”, j); } Cosa viene visualizzato a video dall’esecuzione di main()? Soluzione: j=2 La variabile j conta quante volte viene eseguito il ciclo do while() che dipende dal valore della variabile i i = … Leggi tutto

2009 – 5

Si consideri il seguente frammento di programma: main() { int M[3][3][3]; int i, j, k; for(i=0; i < 3; i++) for(j=0; j < 3; j++) for(k=0; k < 3; k++) M[i][j][k]=i+k; for (i=0; i < 3; i++) { for(k=0; k < 3; k++) for(j=0; j < 3; j++) printf("%3d", M[i][j][k]); printf("\n"); } } Quale tra ... Leggi tutto