2001 – 3

Dire quale dei seguenti frammenti di programma calcola in j la media del vettore di interi positivi v contenente n elementi, posto che j sia inizializzato a zero:

  1. for(i=0; i < n; i++) j=v[i]; j=j/n;
  2. for(i=0; i < n; i++) j += v[i]; j=j/n;
  3. for(i=0; i < n; i++) j += v[i];

Soluzione: b.


Indentando il codice si può valutare correttamente...

  1. Assegna a j il valore v[i]...
    for(i=0; i < n; i++)
        j=v[i];
    j=j/n;
  2. Somma in j i valori v[i] e poi divide per n
    for(i=0; i < n; i++)
        j += v[i];
    j=j/n;
  3. Somma in j i valori v[i]
    for(i=0; i < n; i++)
        j += v[i];