Differenze tra le versioni di "Utilizzare un Vettore al posto di una Matrice"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'E' possibile utilizzare un [http://it.wikipedia.org/wiki/Array Vettore] (''Array'') al posto di una [http://it.wikipedia.org/wiki/Matrice Matrice] mediante il ciclo ''[[FOR......')
 
Riga 1: Riga 1:
 
E' possibile utilizzare un [http://it.wikipedia.org/wiki/Array Vettore] (''Array'') al posto di una [http://it.wikipedia.org/wiki/Matrice Matrice] mediante il ciclo ''[[FOR...NEXT|FOR...NEXT]]'' accompagnato da un salto assoluto con "''Step''".
 
E' possibile utilizzare un [http://it.wikipedia.org/wiki/Array Vettore] (''Array'') al posto di una [http://it.wikipedia.org/wiki/Matrice Matrice] mediante il ciclo ''[[FOR...NEXT|FOR...NEXT]]'' accompagnato da un salto assoluto con "''Step''".
 +
 +
 +
Poniamo l'esempio di una ''Matrice'' avente 5 colonne e 5 righe. Questa ''Matrice'' ci consentirà di suddividere, e quindi di gestire ed utilizzare, - avendo come punto di vista le sue righe - 5 gruppi di 5 (sulla base delle colonne) valori.
 +
<BR>Possiamo rappresentare visivamente questa ''Matrice'' nel modo seguente:
 +
<TABLE border=1 cellpadding=3>
 +
<TR><td width=20 bgcolor="#FF0000"></td><td width=20 bgcolor="#FF0000"></td><td width=20 bgcolor="#FF0000"></td><td width=20 bgcolor="#FF0000"></td><td width=20 bgcolor="#FF0000"></td></tr>
 +
<TR><td width=20 bgcolor="#00FFFF"></td><td width=20 bgcolor="#00FFFF"></td><td width=20 bgcolor="#00FFFF"></td><td width=20 bgcolor="#00FFFF"></td><td width=20 bgcolor="#00FFFF"></td></tr>
 +
<TR><td width=20 bgcolor="#FFFF00"></td><td width=20 bgcolor="#FFFF00"></td><td width=20 bgcolor="#FFFF00"></td><td width=20 bgcolor="#FFFF00"></td><td width=20 bgcolor="#FFFF00"></td></tr>
 +
<TR><td width=20 bgcolor="#00FF00"></td><td width=20 bgcolor="#00FF00"></td><td width=20 bgcolor="#00FF00"></td><td width=20 bgcolor="#00FF00"></td><td width=20 bgcolor="#00FF00"></td></tr>
 +
<TR><td width=20 bgcolor="#0000FF"></td><td width=20 bgcolor="#0000FF"></td><td width=20 bgcolor="#0000FF"></td><td width=20 bgcolor="#0000FF"></td><td width=20 bgcolor="#0000FF"></td></tr>
 +
</table>
 +
In questo caso per leggere i valori contenuti dagli elementi delle righe e delle colonne useremo due cicli ''FOR'' annidati:
 +
'''Private''' matr As New Integer[5,5]
 +
 +
......
 +
......
 +
 +
'''Public''' Sub Button1_Click()
 +
 +
  Dim j, k As Byte
 +
 +
  For j = 0 To 4
 +
    For k = 0 To 4
 +
      Print mat[j,k]
 +
    Next
 +
  Next
 +
 +
'''End'''
 +
 +
 +
 +
Utilizzando, invece, un ''Vettore'', quindi un oggetto a struttura monodimensionale, e disponendo quei gruppi di valori all'interno di un'unica riga, avremo visivamente quegli elementi disposti nel modo seguente:
 +
<TABLE border=1 cellpadding=3>
 +
<TR><td width=20 bgcolor="#FF0000"></td><td width=20 bgcolor="#FF0000"></td><td width=20 bgcolor="#FF0000"></td><td width=20 bgcolor="#FF0000"></td><td width=20 bgcolor="#FF0000"></td>
 +
<td width=20 bgcolor="#00FFFF"></td><td width=20 bgcolor="#00FFFF"></td><td width=20 bgcolor="#00FFFF"></td><td width=20 bgcolor="#00FFFF"></td><td width=20 bgcolor="#00FFFF"></td>
 +
<td width=20 bgcolor="#FFFF00"></td><td width=20 bgcolor="#FFFF00"></td><td width=20 bgcolor="#FFFF00"></td><td width=20 bgcolor="#FFFF00"></td><td width=20 bgcolor="#FFFF00"></td>
 +
<td width=20 bgcolor="#00FF00"></td><td width=20 bgcolor="#00FF00"></td><td width=20 bgcolor="#00FF00"></td><td width=20 bgcolor="#00FF00"></td><td width=20 bgcolor="#00FF00"></td>
 +
<td width=20 bgcolor="#0000FF"></td><td width=20 bgcolor="#0000FF"></td><td width=20 bgcolor="#0000FF"></td><td width=20 bgcolor="#0000FF"></td><td width=20 bgcolor="#0000FF"></td></tr>
 +
</table>
 +
In questo altro caso per leggere i valori contenuti dagli elementi delle righe e delle colonne useremo due cicli ''FOR'' annidati con l'aggiunta di un salto mediante ''Step'':
 +
'''Private''' vett As New Integer[25]
 +
 
 +
......
 +
......
 +
 +
'''Public''' Sub Button1_Click()
 +
 +
  Dim j, k As Byte
 +
 +
  For j = 0 To vett.Max Step 5 <FONT color=#006400>' ''Il salto con "Step" ci permette di passare al gruppo di valori successivo''</font>
 +
    For k = 0 To 4
 +
      Print vett[j + k]
 +
    Next
 +
  Next
 +
 +
'''End'''

Versione delle 16:01, 16 giu 2013

E' possibile utilizzare un Vettore (Array) al posto di una Matrice mediante il ciclo FOR...NEXT accompagnato da un salto assoluto con "Step".


Poniamo l'esempio di una Matrice avente 5 colonne e 5 righe. Questa Matrice ci consentirà di suddividere, e quindi di gestire ed utilizzare, - avendo come punto di vista le sue righe - 5 gruppi di 5 (sulla base delle colonne) valori.
Possiamo rappresentare visivamente questa Matrice nel modo seguente:

In questo caso per leggere i valori contenuti dagli elementi delle righe e delle colonne useremo due cicli FOR annidati:

Private matr As New Integer[5,5]

......
......

Public Sub Button1_Click()

 Dim j, k As Byte

  For j = 0 To 4
    For k = 0 To 4
      Print mat[j,k]
    Next
  Next

End


Utilizzando, invece, un Vettore, quindi un oggetto a struttura monodimensionale, e disponendo quei gruppi di valori all'interno di un'unica riga, avremo visivamente quegli elementi disposti nel modo seguente:

In questo altro caso per leggere i valori contenuti dagli elementi delle righe e delle colonne useremo due cicli FOR annidati con l'aggiunta di un salto mediante Step:

Private vett As New Integer[25]
 
......
......

Public Sub Button1_Click()

 Dim j, k As Byte

  For j = 0 To vett.Max Step 5 ' Il salto con "Step" ci permette di passare al gruppo di valori successivo
    For k = 0 To 4
      Print vett[j + k]
    Next
  Next

End