Oppure

Loading
Program Esempio5;
Uses Crt;
Var nome:array[1..40] of string[60];
    i:byte;
    c:char;

begin
    clrscr;
    i:=1;
    while nome[i]<>’’ do
      begin
      writeln(‘Inserisci il nome numero ‘,i,’:’);
      readln(nome[i]);
      i:=i+1;
      end;
    clrscr;
    repeat
    write(‘Vuoi visualizzare un altro nome? s/n’);
    c:=readkey;
    if c=’s’ then
      begin
      write(‘Inserisci il numero associate a quell nome: ‘);
      readln(i);
      write(‘Il nome numero ‘,i,’ è ‘,nome[i]);
      readln;
      clrscr;
      end;
    until c=’n’;
end.


L’array (dall’inglese “vettore”), non è altro che uno spazio di memoria dove vengono memorizzate più variabili. La differenza rispetto alle normali variabili è che si possono usare centinaia di allocazioni di memoria, senza, però, dichiarare un altrettanto consistente numero di variabili. Infatti, con lo stesso nome si indica una lista di elementi, ognuno dei quali è accessibile singolarmente. In questo caso, si vogliono memorizzare 40 (o meno) nomi, ma non sarebbe comodo scrivere:

var nome1,nome2,nome3,nome4,nome5,...,nome40:string[60];

L’array ci consente questo.
Quindi, per dichiarare un array monodimensionale, si usa la costruzione:

<nome>:array[min..max] of <tipo>

Per usare, leggere o scrivere un elemento di un array si deve solo scrivere il suo nome seguito dall’indicazione dell’indice che lo contraddistingue, racchiuso fra parentesi quadre, così:

var numero:array[1..999] of byte;
(*...*)
read(numero[9]);
write(numero[98]);
numero[7]:=numero[2]*3;
(*...*)


Ora, invece, osserviamo l’istruzione c:=readkey; : questa indica al compilatore di attendere fino alla pressione di un tasto. Quando viene premuto un pulsante della tastiera, il suo codice ASCII viene memorizzato nella variabile c, che è subito inizializzata. Questa istruzione funziona solo per il tipo char e non ha bisogno dell’invio di conferma.
Il readln senza parentesi aspetta semplicemente la pressione del pulsante invio.
A cura di: Il Totem