ePerTutti


Appunti, Tesina di, appunto informatica

VARIABILE STRUTTURATA RECORD



Scrivere la parola
Seleziona una categoria

VARIABILE STRUTTURATA RECORD


Fino a questo momento abbiamo considerato variabili strutturate che potevano contenere soltanto dati dello stesso tipo: Esempio:

un vettore poteva contenere solo dati di tipo intero, un altro solo di tipo reale un altro solo di tipo carattere, un altro di tipo stinga, o di tipo boolean, oppure di tipo byte.


La soluzione di problemi che avevano dati tutti omogenei poteva essere eseguita usando il vettore o la matrice.

Nel caso di dati eterogenei era necessario usare più vettori o più matrici:

Esempio:


Consideriamo il dato alunno, questo dato ha le seguenti caratteristiche:

Nome Cognome Classe num. di cell.


Come possiamo ben notare si tratta di dati eterogenei, quindi necessitiamo di più vettori paraleli.


Nome = string. [10];

Cognome = string. [15];

Classe = string. [2];

num. di cell = integer


La variabile record, invece, è un insieme compatto di elementi omogenei o eterogenei in cui inserisco i valori dei dati di un dato composto.

Ognuno di questi elementi è detto campo; ogni campo viene individuato tramite il proprio identificatore (definizione formale).


Esempio di record:






rec_1


Nome Cognome Classe N di cell.






DEFINIZIONE IMPLEMENTATIVA DELLA TYPE:



Type

Rec_1 = record

nome, cognome: string [15];

classe: string [2];

cell: string [12];

end;

In questo modo abbiamo definito una variabile struturata:


DICHIARAZIONE NELLA VAR:


VAR Con la type è come se si creasse un modello ( o prototipo),

ma non si entra ancora nel livello operativo, mentre è nella

r1: rec_1; VAR possiamo dire che si entra nel livello operativo.

CARICAMENTO DI UN RECORD:


Begin

Readln(r1 . nome);

readln(r1 . cognome);

readln(r1 . classe);

readln(r1 . cell.);

writeln(r1 . cognome);

writeln(r1 . nome);

writeln(r1 . classe);

writeln(r1 . cell);

end


Come possiamo notare, noi abbiamo una serie di r1 che si ripetono, per evitare di occupare spazio e sprecare più tempo, esiste una maniera più conveniente per caricare un record:


Begin

With r1 do

Begin

readln(nome);

readln(cognome);

readln(classe);

readln(cell);


end;

end.








Privacy

© ePerTutti.com : tutti i diritti riservati
:::::
Condizioni Generali - Invia - Contatta