2010 – 4

Si consideri il seguente frammento di programma: main() { int a=4, b=5, c=6, d=7, e=8, n, m; n=a%b*c%d/e; m=(a%b)*(c%d)/e; printf(“n=%d m=%d\n”, n, m); } Quale tra le seguenti righe di testo viene visualizzata a video dall’esecuzione di main()? n=3 m=3 n=0 m=3 n=0 m=0 n=3 m=0 Soluzione: b (n=0 m=3) Osserva n = 4%5*6%7/8 = … Leggi tutto

2013 – 4

Si consideri la seguente funzione: int f(int n) { int i=1; while(n > 0) { n -= i; i += 2; } if(n == 0) return 1; else return 0; } Cosa restituisce la funzione se viene chiamata passandole un numero n maggiore o uguale a zero? 1 se n è primo, 0 altrimenti 1 … Leggi tutto

2013 – 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 == 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()? Soluzione: 255 Osserva f(8,0) = max(f(7,0), f(7,1)) … Leggi tutto

2013 – 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+1]-f[i]; for(i=0; i < 10; i++) printf("%d, ", f[i]); } Cosa viene visualizzato a video? 5, 3, -2, -5, -3, 2, 5, 3, -2, -5, 5, 3, 5, 3, 5, 3, 5, 3, -2, -5, ... Leggi tutto

2013 – 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*i; } 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=9 c=11 c=8 Soluzione: d (8) Osserva i ... Leggi tutto

2012 – 7

Si consideri la seguente procedura: #define N 10 int vett[N]; void p() { int i; for(i=0; i < N; i++) vett[i]=i; for(i=0; i < N; i++) vett[i]=vett[vett[i]%(N-i)]; } Indicare il contenuto di tutti gli elementi del vettore vett[] al termine della procedura. Soluzione: 0 1 2 3 4 0 2 1 0 0 Dopo il primo ... Leggi tutto

2012 – 5

È dato il seguente programma: #include #define N 10 int v[N]={3, 5, 2, 7, 8, 1, 4, 9, 6, 0}; void p() { int i, t, s; do { s=0; for(i=1; i < N-1; i++) if(v[i-1] > v[i]) { t=v[i-1]; v[i-1]=v[i]; v[i]=t; s=1; } } while(s == 1); } main() { int i; p(); for(i=0; … Leggi tutto

2012 – 4

È dato il seguente programma: #include int vett[10]; void scambia(int *a, int *b) { int c; c=*a; *a=*b; *b=c; } main() { int i; for(i=0; i < 10; i++) vett[i]=i; for(i=9; i >= 0; i–) scambia(&vett[i], &vett[i%3]); for(i=0; i < 10; i++) printf("%d ", vett[i]); } Cosa viene visualizzato a video dall'esecuzione di main()? Soluzione: ... Leggi tutto