LEZIONI DI INFORMATICA
a cura del prof. Rocco Camera Scrivetemi
MAPPA || Programmazione | Oggetto | Metodo | Evento | Proprietà | Istruzione | Dati | Procedure | Funzioni
ARGOMENTI DOCUMENTI Studenti al lavoro
VISUAL BASIC: Le procedure - Ordinamento di dati (metodo Bubble Sort)

Esistono molteplici metodi per ordinare liste di elementi. Uno degli algoritmi più semplici è il cosidetto Bubble-Sort. E' un algoritmo poco efficace quando si superano i 100 elementi da ordinare. Uno dei migliori in questo caso è il Quick Sort. Per motivi didattici espongo il Bubble, in quanto più semplice per lo studente.

Algoritmo Bubble-Sort
Se abbiamo un vettore che chiamiamo n costituito da x elementi da ordinare alfabeticamente si procede così:

  1. si assegna ad un contatore i il valore 1
  2. si assegna ad un contatore j il valore i+1
  3. se n(i)>n(j) avviene lo scambio di posizione tramite un contenitore di nome scambio;
  4. si incrementa j di una unità
  5. se j <= x allora si torna al punto 3 altrimenti si prosegue
  6. si incrementa i di una unità
  7. se i <= x-1 allora si torna al punto 2 altrimenti si prosegue
  8. a questo punto il vettore n risulterà ordinato in senso crescente

Traduzione in programma
Di seguito viene sviluppato un programma completo che consente l'inserimento dei dati in un vettore di nome dato() e in una list box di nome lista. Nel form si possono individuare 2 pulsanti di ordinamento, uno in senso crescente ed uno in senso decrescente (v. figura seguente). Il programma è sviluppato in modo top-down e utilizza le seguenti procedure:

Le altre procedure sono legate agli eventi relativi ai controlli. Si consiglia in questa fase di studiare principalmente il codice relativo alla sub bubble e alla sub scambia (evidenziate in blu). In un secondo tempo si possono studiare gli argomenti relativi alle procedure, ai cicli iterativi, alle liste e ai vettori.

Programma in esecuzione
Programma in esecuzione

vedi Programma completo