Written by xinyiman Ottobre 22, 2011, 11:06:00 am22627 ViewsRating: 0 (0 Rates)Print
Le strutture sono dei tipi di variabile composte da
variabile semplici, ipotizziamo di voler descrivere un animale con
una variabile, dovremmo stabilire che tipo di animale è, quanti anni
di vita ha, e tutta una serie di altri fattori. Bene con i mezzi fino
ad ora acquisiti, dovremmo fare tutto ciò con due o più variabili,
dipende dal numero di caratteristiche che si vogliono far avere
all'animale; con una struttura è possibile fare ciò con una
variabile. Vediamo ora come si dichiara una struttura:
type
nomedadareallastruttura=record
caratteristica1:
tipovariabile;
caratteristica2:
tipovariabile;
.
.
.
caratteristicaN:
tipovariabile;
end;
Ora che sappiamo come si dichiara una struttura dobbiamo
anche sapere che si posiziona subito dopo altre eventuali strutture
già dichiarate o dopo l'inclusione delle librerie, ovvero dopo la
sezione USES. Vediamo ora l'esempio di cui parlavamo poco sopra,
ovvero della variabile che identifica l'animale, io ho usato solo 2
caratteristiche, razza e anni. Le parti importanti sono sottolineate.
La prima cosa che dovrebbe saltare all'occhio come già
detto prima è il posizionamento della dichiarazione della struttura,
ovvero la prima parte sottolineata. La seconda cosa da notare è che
una volta definita la struttura dobbiamo dichiarare delle variabili
con tipo di variabile la struttura stessa, ovvero la seconda parte
sottolineata. La terza cosa da capire è che per accedere alle
singole caratteristiche della struttura si usa il punto, sia per
valorizzarlo che per leggerlo, esattamente come nel terzo blocco
sottolineato nell'ultimo esempio.
Vediamo ora un altro tipo di dato non molto utilizzato,
ma che può risultare comodo in alcune occasioni: gli insiemi, che in
Pascal sono molto simili al concetto di insieme in matematica; dato
un insieme A di oggetti di un insieme di dati B, ogni oggetto di B
appartiene o non appartiene ad A.
Vediamo come dichiarare gli insiemi con un esempio:
var giorni: SET OF integer;
Possiamo altrimenti scrivere:
type giorniLavorativi: SET OF integer;
var giorniRip : giorniLavorativi;
Ma il risultato è lo stesso. Per inizializzare un
insieme usiamo la sintassi:
giorniLavorativi := [1,3..7, 10..25, 29];
giorniRip := []; {insieme vuoto}
Si noti l'uso di un range nell'assegnazione. La sintassi
generale è quindi per un insieme [el1, el2, el3..el7, …] dove per
elN si intende elemento numero.
Le operazioni fattibili con gli insiemi sono le stesse
in matematica: ad esempio, "+" corrisponde all'unione, "-"
alla differenza e "*" all'intersezione.
[1, 3, 4] + [3, 9..11] = [1, 3, 4, 9..11]
[5, 7, 19, 22] - [22] = [5, 7, 19]
[5, 7, 19, 22] - [23] = [5, 7, 19, 22]
[11..22] * [15..56] = [15..22]
[11..22] + [15..56] = [11..56]
[5, 7, 19, 22] * [22] = [22]
[5, 7, 19, 22] * [23] = []
Per verificare se un elemento è in un insieme, usiamo
l'operatore IN:
if
1 in giorniLavorativi then
È possibile anche confrontare gli insiemi:
1. =: restituisce true se i due insiemi sono uguali;
2. <>: restituisce true se i due insiemi sono
diversi;
3. <=: restituisce true se il primo insieme è
sottoinsieme del secondo (il secondo contiene il primo);
4. >=: contrario di <=
About the author
xinyiman registered at Italian community of Lazarus and Free Pascal on Ottobre 14, 2011, 10:56:28 pm and has posted 3273 posts in the boards since then. Last visit was Novembre 20, 2024, 08:31:19 am.
Questo blog non rappresenta una testata giornalistica poiché viene
aggiornato senza alcuna periodicità. Non può pertanto considerarsi un
prodotto editoriale ai sensi della legge n. 62/2001.
Questo sito utilizza cookie, anche di terze parti, per offriti servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all’uso dei cookie.