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.