Cos'è un Array?

Articolo approfondimento del di

Gli Array

Quando si parla di Array (o Vettori) nell'informatica, ci si riferisce ad una struttura di dati contenenti più valori.

Poniamo ad esempio di avere un armadio con 4 cassetti. I primi 3 cassetti sono vuoti, l'ultimo contiene indumenti (4 calzini). L'armadio è un array di dimensione pari a 4. I primi 3 valori di questo array sono vuoti, mentre l'ultimo contiene degli indumenti.

Se vogliamo essere più tecnici, possiamo considerare l'armadio come un Array di interi, cioè una struttura di dati che contiene solo numeri interi. In questo caso, i primi tre valori dell'Array "armadio" equivalgono a zero, mentre l'ultimo a 4.

Gli array generalmente vengono utilizzati per racchiudere più variabili dello stesso tipo e sono dei componenti fondamentali di ogni linguaggio di programmazione.

Grazie agli array non si deve istanziare una variabile per ogni valore, ma è possibile racchiudere più valori in unica variabile.

Alcuni linguaggi di programmazione accettano in un array composto anche da variabili di diverso tipo, mentre nel C++ è necessario che l'Array di tipo STR contenga solo variabili di tipo stringa, in Python è possibile inserire in un Array qualsiasi tipo di variabile.

Se vogliamo richiamare un valore di un array, è sufficiente scrivere "nomearray[posizionevariabile]", tornando all'esempio precedente scriveremo: armadio[3] ed il risultato che otterremo sarà 4.

Nota: Quando si richiama l'ultimo elemento di un array, bisogna sempre considerare che il contatore dell'array comincia da 0 e non da 1, ciò significa che in un vettore di 3 elementi di nome "numeri"contenente le stringhe "uno","due" e "tre" per richiamare la stringa "uno" bisogna scrivere numeri[0], mentre per richiamare la stringa "tre" si deve scrivere numeri[2].

Array Bidimensionali: Matrice

Gli array possono essere anche di più dimensioni. Molto usati ad esempio sono gli array bidimensionali che identificano una matrice.

Il famoso gioco Campo Minato, sfrutta la potenza degli array bidimensionali. Ogni valore all'interno delle caselline è dato dalla combinazione di due numeri.

Supponiamo di avere una casella di gioco di "Campo Minato" della grandezza pari a 10x10. Per un totale di 100 caselline, in queste 100 caselline, sono distribuiti in maniera casuali delle bombe.

L'array costruito sarà campominato[9][9], dove pratofiorito è il nome dell'array e [9][9] indica la grandezza di quest'ultimo.

Per assegnare le 10 bombe è sufficiente scrivere in questo modo:

  1. campominato[0][0]="bomba"
  2. campominato[0][6]="bomba"
  3. campominato[2][4]="bomba"
  4. campominato[4][4]="bomba"
  5. campominato[4][8]="bomba"
  6. campominato[5][3]="bomba"
  7. campominato[6][2]="bomba"
  8. campominato[7][6]="bomba"
  9. campominato[8][5]="bomba"
  10. campominato[9][9]="bomba"

I vari numeri tra parentesi quadre si riferiscono alla posizione.

Matrice vuota

matrice vuota

Matrice con le 10 bombe inserite nelle posizioni dichiarate precedentemente

matrice con 10 elementi inseriti

L'esempio appena descritto va inteso in maniera concettuale, in quanto la sintassi esatta varia da linguaggio a linguaggio.

Come istanziare un array nei vari linguaggi di programmazione.

Istanziare Array in C++

Quando si istanzia un array in C++, bisogna obbligatoriamente dichiarare la grandezza di questo array, la quale una volta definita non può essere più cambiata.

La porzione di codice per instanziare un array in C++ è la seguente:

tipo_di_dati nome_array[grandezza_array] = {valore_1, valore_2, valore_3}

Inizializzazione di un array con 3 valori:

str numeri[2] = {1,2,3}

Istanziare Array in Java

Le regole per istanziare un Array in Java, sono simili a quelle del c++, una volta scelto il tipo di dati che l'array deve contenere, le variabili dovranno essere obbligatoriamente di quel tipo. In Java un array è un oggetto appartenente ad una classe speciale.

La porzione di codice per instanziare un array in Java è la seguente:

tipo_di_dati nome_array[] = new tipo_di_dati[grandezza_array]

Esempio 1:

str numeri[] = new int [2]

numeri[0] = "uno"
numeri[1] = "due"
numeri[2] = "tre"

Esempio 2:

str numeri [] = { 'uno', 'due', 'tre'}

Istanziare Array in Python

Il linguaggio Python si differenzia da tutti gli altri linguaggi in quanto la sua sintassi è molto semplice. In Python si possono "Mischiare" fra loro in un unico array variabili di qualsiasi tipo. Non si deve dichiarare la grandezza dell'array e tantomeno il tipo di dati che conterrà.

La porzione di codice per instanziare un array in Python è la seguente:

nomearray = []

Esempio:

numeri= ["uno","due","tre"]

Istanziare Array in Php

Come in Python, anche il Php ammette all'interno di un array variabili di tipo diverso, è quindi possibile trovare in un vettore variabili di tipo stringa, intero o di classi specifiche. In Php tutte le variabili (quindi anche gli array essendo quest'ultimi una variabile), sono contraddistinti dal simbolo "$".

La porzione di codice per instanziare un array in Php è la seguente:

$nome_array = array(valore_1, valore_2, valore_3)

Esempio:

$numeri = array('uno', 'due', 'tre')

Istanziare Array in Perl

Nel linguaggio di programmazione Perl, la sintassi per istanziare un Array è contraddistinta dal simbolo "@" il quale deve precedere sempre il nome della variabile. Mentre in php tutte le variabili sono procedute dal simbolo "$", in Perl gli array hanno questa eccezione, mentre per le altre variabili vale la regola del "$".

La porzione di codice per instanziare un array in Php è la seguente:

@nome_array = (valore_1, valore_2, valore_3)

Esempio:

@numeri = ('uno', 'due', 'tre')

Se si vuole stampare un solo valore di questo array si dovrà scrivere "print $numeri[0] "se invece ad esempio vogliamo stampare "due" e "tre" si scriverà " print @numeri[1,2].

Istanziare Array in Visual Basic.net

La sintassi per dichiarare un array in Visual Basic.net è la meno intuita, ma resta ugualmente molto semplice:

Dim nome_array (grandezza_array – 1) As tipo_di_dati

Esempio:

Dim numeri(2) As String = {"uno","due","tre"}

Immagini correlate


Link utili