8: I dati e la loro struttura nella programmazione( ARRAY, MATRICI, RECORD) Vers. 8.1 – Aprile 2022
ALGORITMO ArrayDiRecord _ Prodotto _ SICONTROL _ SISUBREC MAXDIM 10
TIPO DettaglioProdotto = RECORD CodProdotto: ARRAY [ 6 ] DI CHAR NomeProdotto: ARRAY [ 25 ] DI CHAR
FINE RECORD
TIPO Prodotto = RECORD DatiP: DettaglioProdotto Giacenza: INT Prezzo: REAL
FINE RECORD
PROCEDURA main()
magazzino: ARRAY [ MAXDIM ] DI Prodotto i, n: INT
Ambiente locale
Ambiente globale
INIZIO /* leggo la dimensione del vettore da caricare */ RIPETI
Leggi( n) FINCHE’( n ≥ 1) AND( n ≤ MAXDIM)
/* Carico l’ array di record controllando e valorizzando ciascun campo del record */ PER i � 1 A n ESEGUI
RIPETI
Leggi( magazzino [ i ]. DatiP. CodProdotto) FINCHE’( magazzino [ i ]. DatiP. CodProdotto ≠ "") AND( Lunghezza( magazzino [ i ]. DatiP. CodProdotto) ≤ 6)
RIPETI
Leggi( magazzino [ i ]. DatiP. NomeProdotto) FINCHE’( magazzino [ i ]. DatiP. NomeProdotto ≠ "") AND( Lunghezza( magazzino [ i ]. DatiP. NomeProdotto) ≤ 25)
RIPETI
Leggi( magazzino [ i ]. Giacenza) FINCHE’( magazzino [ i ]. Giacenza ≥ 0) AND( magazzino [ i ]. Giacenza) ≤ 9999)
RIPETI
Leggi( magazzino [ i ]. Prezzo) FINCHE’( magazzino [ i ]. Prezzo ≥ 0) AND( magazzino [ i ]. Prezzo) ≤ 999.99)
i � i + 1 FINE PER
/* Visualizzo l’ array di record stampando ciascun campo del record */ PER i � 1 A n ESEGUI
Scrivi( magazzino [ i ]. DatiP. CodProdotto) Scrivi( magazzino [ i ]. DatiP. NomeProdotto) Scrivi( magazzino [ i ]. Giacenza) Scrivi( magazzino [ i ]. Prezzo)
i � i + 1 FINE PER FINE
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 72