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

8: I dati e la loro struttura nella programmazione( ARRAY, MATRICI, RECORD) Vers. 10.0 – Maggio 2025
Esempio 7: Supponiamo ora di volere leggere( controllando la validità dei singoli campi) e stampare i dati contenuti in una variabile lib di tipo Libro ossia di un record con la seguente struttura o tracciato che contiene al suo interno un SOTTORECORD
ALGORITMO Leggi _ Stampa _ RECORD _ SUBREC
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
PROCEDURA main() lib: Libro INIZIO
/* leggo il record lib campo x campo( operazione NON ATOMICA) effettuando tutti i controlli */ RIPETI
Leggi( lib. DetLib. Isbn) FINCHE’( Lunghezza( lib. DetLib. Isbn) ≠ 0) AND( Lunghezza( lib. DetLib. Isbn) ≤ 10)
RIPETI
Leggi( lib. DetLib. Titolo) FINCHE’( Lunghezza( lib. DetLib. Titolo) ≠ 0) AND( Lunghezza( lib. DetLib. Titolo) ≤ 100)
RIPETI
Leggi( lib. DetLib. Autore) FINCHE’( Lunghezza( lib. DetLib. Autore) ≠ 0) AND( Lunghezza( lib. DetLib. Autore) ≤ 50)
RIPETI
Leggi( lib. DetLib. asaEditrice) FINCHE’( Lunghezza( lib. DetLib. CasaEditrice) ≠ 0) AND( Lunghezza( lib. DetLib. CasaEditrice) ≤ 50)
RIPETI
Leggi( lib. Prezzo) FINCHE’( lib. Prezzo) > 0) AND( lib. Prezzo) ≤ 999.99)
RIPETI
Leggi( lib. Pagine) FINCHE’( lib. Pagine) > 0) AND( lib. Pagine) ≤ 9999)
/* visualizzo il record lib campo x campo( operazione NON ATOMICA)*/
Scrivi( lib. DetLib. Isbn) Scrivi( lib. DetLib. Titolo) Scrivi( lib. DetLib. Autore) Scrivi( lib. DetLib. CasaEditrice) Scrivi( lib. Prezzo) Scrivi( lib. Pagine)
FINE
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 49