Pascal/Array: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
BimBot (discussione | contributi)
m Robot: Changing template: Programmare in Pascal
Ramac (discussione | contributi)
m sintassi colorata
Riga 1:
{{Pascal}}
 
== Vettori ==
Un metodo molto diffuso e comodo di rappresentazione e ordinamento di dati consiste nelnell'uso ricorrere addi una tabella.<br/>
UnAd esempio di tabella:
{| {{Prettytable}} width=100%
{| border=1
|'''Indice'''
|'''1'''
Riga 31:
 
Se diamo un nome alla tabella, ad esempio ''Array'', possiamo indicare il valore dell'elemento di indice 8 in questo modo:
<source lang=pascal>
Array[8]=valore 8;
Array[8] {indica l'elemento di posizione 8}
</source>
così come
<source lang=pascal>
Array[9]=valore 9;
Array[9] {indica l'elemento di posizione 9}
</source>
e così via.
 
Una struttura come quella dell'esempio precedente è chiamata '''vettore''': a ogni posizione (1, 2, ..., 10) nella tabella corrisponde un valore (valore 1, valore 2, ..., valore 10): la prima colonna della tabella in questo caso si chiama ''indice'' del vettore.<br/>Il vettore consente di identificare un gruppo di dati con un nome collettivo (''Array'' dell'esempio precedente) e di poter individuare ogni singolo dato attraverso un indice racchiuso tra parentesi quadre, il quale rappresenta la posizione occupata dal dato nella tabella.
 
Anche in Pascal, così in altri linguaggi di programmazione, si possono strutturare i dati in maniera simile tramite gli '''[[w:array|array]]'''.
 
 
== Gli array in Pascal ==
Per dichiarare un vettore in Pascal è necessario indicare le diverse posizioni possibile (normalmente si usano i numeri) a e il tipo di dato che conterrà ciascun valore dell'array (nella nostra tabella, il tipo di dato dei valori della riga '''Valore'''):
var
Line 46 ⟶ 50:
che indica che il vettore nome_variabile avrà come posizioni i numeri da 1 a n (la notazione ''x''..''y'' dove x e y sono due valori dello stesso tipo indica tutti i valori compresi tra ''x'' e ''y'').
<br/>&Egrave; possibile anche usare come indici di un array valori char o definiti dall'utente:
<source lang=pascal>
var
vettore: array['a'..'z'] of integer
</source>
è una dichiarazione valida, e si può facilmente fare riferimento al vettore con la scrittura come una normale variabile con la scrittura:
vettore[indice]
Line 58 ⟶ 64:
 
Per leggere e scrivere gli elementi di un vettore di N elementi in Pascal è possibile usare un ciclo for:
<source lang=pascal>
for I:=1 to N do
writelnreadln(vettore[I]);
 
for I:=1 to N do
readlnwriteln(vettore[I]);
</source>
 
All'aumentare didel contatore I, il programma scorre i posti del vettore.
for I:=1 to N do
writeln(vettore[I]);
All'aumentare di I, il programma scorre i posti del vettore.
 
==Array bidimensionali==
 
== Array bidimensionali ==
Prendiamo come esempio questa tabella:
{| {{Prettytable}} width=100%
{| border=1
|
|'''1'''
Line 118 ⟶ 124:
|array[10,3]
|}
Nel vettore, il posto nella tabella è individuato da un indice; nella tabella bidimensionale, invece, da una coppia di indici.
 
Nel vettore,il posto nella tabella è individuato da un indice; nella tabella bidimensionale, invece, da una coppia di indici.
Una tabella bidimensionale è anche chiamata '''matrice'''.
 
Una variabilevettore appartenente a una matricebidimensionale si dichiara in questo modo:
 
var
nome_variabile:'''array[1 .. n,1 .. m] of tipo_del_dato''';
 
oppure, analogamente all'esempio precedente
oppure
type
nome_del_tipo = '''array[1 .. n, 1 .. m] of tipo_del_dato''';
Line 135 ⟶ 139:
 
Per leggere e scrivere i dati di una matrice di N righe e M colonne in Pascal si possono usare due cicli for annidati:
<source lang=pascal>
for I:=1 to N do
for J:=1 to M do
writelnreadln(array[I,J]);
 
for I:=1 to N do
for J:=1 to M do
readlnwriteln(array[I,J]);
</source>
 
for I:=1 to N do
for J:=1 to M do
writeln(array[I,J]);
 
[[Categoria:Pascal|Array]]