Arrays


Per calcolare lo sviluppo polinomiale della potenza ennesima di un binomio bisogna conoscere i coefficienti dei singoli monomi. Un modo per ottenerli è la costruzione del triangolo di Pascal (noto in Italia anche con il nome di triangolo di Tartaglia).

La regola di formazione di questo triangolo è concettualmente semplice è può essere facilmente automatizzata in un programma di calcolo:

Ogni numero di una riga si ottiene sommando tra loro i due numeri della riga precedente situati sulla stessa colonna e nella colonna precedente.

Indicando con i l'indice di riga e con j l'indice di colonna si può scrivere simbolicamente

c( i , j ) = c( i - 1 , j ) + c( i - 1 , j - 1 )

I numeri del triangolo sono organizzati in tante righe; ogni riga è una sequenza di k numeri: la riga 0 contiene il solo numero 1; la riga 1 contiene i numer 1, 1; la riga 2 contiene i numer 1, 2, 1; ecc. in generale la riga k contiene k+1 numeri.

Per rappresentare collettivamente una sequenza di k oggetti in Javascript è disponibile l'oggetto Array.

Esempio.

var riga = new Array(k)

rappresenta con l'identificatore riga una sequenza di k oggetti, ognuno dei quali è individuato da un indice di posizione i cui valori variano da 0 a k-1 e che va codificato con un numero intero compreso tra parentesi quadre.

Saranno quindi legittime le seguenti istruzioni:

riga[0] = 1;
riga[1] = -12;
...
riga[k-1] = 5.34;

Ma una struttura come il triangolo di Tartaglia fino alla n-sima riga è a sua volta una sequenza di n+1 righe e va quindi dichiarata come array i cui elementi sono a loro volta arrays.

Esempio

var n_righe = 10;
var righe = new Array(n_righe+1);
for (var i=0; i<= n_righe; i++)
  righe[i] = new Array(i+1);

Gli elementi di un array bidimensionale sono individuati dall'identificatore dell'array seguito da due coppie di parentesi quadre: la prima contiene l'indice di riga, la seconda l'indice di colonna. Ad esempio:

var n_righe = 10;
var righe = new Array(n_righe+1);
var i, j;
for (i=0; i<= n_righe; i++)
  righe[i] = new Array(i+1);
for (i=0; i<= n_righe; i++)
  {
    righe[i][0] = 1;
    righe[i][i] = 1;
    for (j=1; j<i; j++)
      righe[i][j] = righe[i-1][j-1] + righe[i-1][j];
  }

La stampa del triangolo richiede spazio: a questo scopo è utile il tag textarea dotato di opportuno identificatore, in modo che le funzioni di javascript possano modificarne il valore.

Per vedere il codice Javascript cliccare sul seguente bottone.