3° Anno TEORIA 9. Tipi di dato strutturato: vettori e record | Page 48

8: I dati e la loro struttura nella programmazione( ARRAY, MATRICI, RECORD) Vers. 10.0 – Maggio 2025
Record e sottorecord
Riprendiamo ora la rappresentazione tabellare del tracciato record eseguita nell’ Esempio 2 marcando con una‘ X’ il campo FlagSubRec del primi quattro campi, facendo intendere che essi formino un altro record di fatto contenuto( ecco il perchè del termine sottorecord) in quello che vogliamo definire.
La nuova tabella sarà la seguente
Numero
Nome Campo
Tipo Campo
Lunghezza
Descrizione
FlagSubRec
1
Isbn
ARRAY DI CHAR
10
Codice ISBN del libro
X
2
Titolo
ARRAY DI CHAR
100
Titolo del libro
X
3
Autore
ARRAY DI CHAR
50
Autore del libro
X
4
CasaEditrice
ARRAY DI CHAR
50
Casa Editrice del libro
X
5
Prezzo
REAL
3,2
Prezzo del libro
6
Pagine
INT
4
Pagine del libro
Che modifiche devono essere apportate alla nostra PSEUDOCODIFICA?
Innanzitutto nell’ ambiente GLOBALE dovremo definire il tipo record Libro tenendo conto che esso contiene al suo interno un altro record più piccolo( chiamato per questo SOTTORECORD del record principale). Per ovvie ragioni si dovrà definire:
- prima il sottorecord fornendo obbligatoriamente anche un nome al suo tipo
- poi il record principale che dovrà obbligatoriamente indicare al suo interno un riferimento al sottorecord contenuto( ossia un campo di tipo sottorecord).......
TIPO DettagliLibro = RECORD Isbn: ARRAY [ 10 ] DI CHAR Titolo: ARRAY [ 100 ] DI CHAR Autore: ARRAY [ 50 ] DI CHAR CasaEditrice: ARRAY [ 50 ] DI CHAR
FINE RECORD
TIPO Libro = RECORD DetLib: DettagliLibro Prezzo: REAL Pagine: INT
FINE RECORD
...... Ora nell’ ambiente LOCALE potrà di conseguenza essere definita la seguente variabile:
lib: Libro
Come si modificherà a questo punto l’ accesso ai campi della variabile lib SEMPRE di tipo Libro che è stato però definito con un sottorecord al suo interno?
La modifica dell’ accesso ai campi riguarderà ESCLUSIVAMENTE i campi appartenenti al SOTTORECORD i quali potranno essere raggiunti utilizzando opportunamente la dot notation.
Leggi( lib. DetLib. Titolo) oppure Scrivi( lib. DetLib. Isbn) Tutto rimane uguale per i campi che non appartengono al sottorecord
Leggi( lib. Prezzo) oppure lib. Pagine � 435
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 48