Ordinamento di un array statico

20 marzo 2006

Per chi ha studiato informatica, questo è il primo algoritmo complesso che viene insegnato. Vediamo come risolvere questo problema con VBScript. Per prima cosa dichiariamo un array statico e riempiamolo di valori:

<script language=”vbscript”>
 dim numeri(10)

 numeri(0)=5
 numeri(1)=54
 numeri(2)=22
 numeri(3)=43
 numeri(4)=232
 numeri(5)=51
 numeri(6)=11
 numeri(7)=3
 numeri(8)=53
 numeri(9)=54
</script>

Attenzione: in VBScript non è necessario dichiarare le variabili, ma è obbligatorio dichiarare un array prima di usarlo.

Con la prima riga: (Dim numeri(10)) abbiamo creato un array chiamato “numeri”, formato da 10 elementi; i vari elementi dell’array sono identificati da 0 a 9 e nelle righe successive dell’esempio vengono inizializzati ad un valore numerico. Il tipo degli elementi di un array può anche essere “stringa, data o uno qualsiasi dei sottotipi del VBScript” (vedi capitolo 3 della guida a VBScript).

Passiamo ora ad ordinare i valori dell’array.

Per prima cosa scriviamo un algoritmo che ci restituisca la posizione nell’array del numero più piccolo: per fare ciò, basta prendere il primo elemento dell’array e confrontarlo con gli altri; quando se ne trova uno più piccolo, viene memorizzato l’indice di questo elemento e viene confrontato con i successivi.

<script language=”vbscript”>
 dim numeri(10)
 
 numeri(0)=5
 numeri(1)=54
 numeri(2)=22
 numeri(3)=43
 numeri(4)=232
 numeri(5)=51
 numeri(6)=11
 numeri(7)=3
 numeri(8)=53
 numeri(9)=54

 indice_del_numero_minore = 0

 for indice = 1 to 9
   if numeri(indice) < numeri(indice_del_numero_minore) then
     indice_del_numero_minore = indice
   end if
 next
 
 document.write “Il numero più piccolo è ” & numeri(indice_del_numero_minore)
</script>

Il risultato sarà: il numero più piccolo è 3.

Se vuoi aggiornamenti su Ordinamento di un array statico inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Ordinamento di un array statico

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy