Pascal/Array: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m sistemo |
cambio avanzamento a 100% |
||
Riga 50:
nome_variabile: '''array[1..n] of tipo_del_dato''';
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/>Notare che quello indicato tra parentesi non è altro che un ''[[Pascal/Gestione avanzata dei dati#Subrange|subrange]]'', e quindi sono ammesse anche dichiarazioni come:
<source lang=pascal>
var
</source>
e così vale per gli altri tipi di dati, anche quelli enumerativi.
Per accedere ai valori dell'array, è sufficiente comportarsi come con le variabili normal, usando la notazione
Ad esempio:
<source lang=pascal>
scheda['a'] := 45;
writeln(scheda['a']);
</source>
▲ vettore[indice]
È possibile dichiarare gli array anche con un altro metodo:
Line 72 ⟶ 79:
writeln(vettore[I]);
</source>
All'aumentare del contatore I, il programma scorre i posti del vettore. Nel caso di array che utilizzano indici non interi, si userà ad esempio:
<source lang=pascal>
for I := 'a' to 'z' do
readln(vettore[I]);
</source>
== Array bidimensionali ==
Line 148 ⟶ 159:
for J:=1 to M do
writeln(array[I,J]);
</source>
== Utilizzi ==
L'utilizzo degli array è molto comodo, perché permette di gestire facilmente grandi quantità di dati. Vediamo ad esempio questo programma per un ipotetico sistema di gestione degli alunni:
<source lang=pascal>
program verifica;
var numalunni, puntimax, i : integer;
punti[1.100], voto[1.100]: array of real;
sommavoti : real;
op : char;
begin
write('Quanti alunni? '); readln(numalunni);
for i := 1 to numalunni do
begin
write('Inserisci il punteggio per l''alunno', i);
readln(punteggio[i]);
end;
writeln('I dati sono stati memorizzati');
{qui si possono effettuare altre operazioni}
{qui si possono riprendere i dati memorizzati in precedenza}
sommavoti := 0;
for i := 1 to numalunni do
begin
voto[i] := (punti[i] / puntimax ) * 10;
writeln('Il voto per l''alunnno', i, 'e'' ', voto[i]:3:1);
sommavoti := sommavoti + voto[i];
end;
writeln('La media dei voti e'' ', sommavoti/numalunni:3:1)
readln;
end.
</source>
[[Categoria:Pascal|Array]]
{{
|