Progetto esame Tecnologie Web Anno: 2014 A cura di: Salvatore Giovanni De Vivo Matricola: Strumenti utilizzati: Html, ASP.NET, C#.
Calcolo combinatorio: Introduzione La web form ha il compito di mostrare tutte le combinazioni possibili, dati in input il numero di possibili valori e il numero di elementi di una singola combinazione. Es: con 2 valori e 3 elementi avremmo AAA, AAB, ABA, ABB, BAA, BAB, BBA, BBB.
Metodologie Per la creazione di un programma di calcolo combinatorio esistono fondamentalmente due approcci di sviluppo: orizzontale e verticale. L’approccio orizzontale prevede che si aggiorni l’ultimo elemento, e ogni volta che questo raggiunge il valore massimo, lo si reimposta al valore iniziale e si aggiorna l’elemento precedente. Si attua lo stesso procedimento ogni volta che uno degli elementi che lo precedono raggiunge il valore massimo, ovvero lo si reimposta al valore iniziale e si aggiorna l’elemento precedente.
Metodologie L’approccio verticale costruisce le combinazioni per colonna basandosi sulle ripetizioni: ogni colonna contiene N gruppi di valori ripetuti M volte e, ad ogni avanzamento di colonna, gli N gruppi raddoppiano e le M ripetizioni si dimezzano. Es: 2 valori, 2 elementi.Col1col2 Riga 1AA Riga 2AB Riga3BA Riga 4BB
Metodologie Così facendo, stando all’esempio riportato, la prima colonna ha 2 gruppi da 2 ripetizioni, mentre la seconda ha 4 gruppi da 1 ripetizione. Per lo sviluppo della web form ho utilizzato l’approccio verticale. Questo metodo, anche se è meno efficiente di quello orizzontale, induce ad osservare un problema ben noto con un’ottica totalmente diversa, e quindi a cercare soluzioni in modo alternativo.