4° Anno TEORIA 2. Allocazione dinamica della memoria | Page 24

10: Allocazione dinamica della memoria Vers. 9.1 – Ottobre 2025
ALGORITMO Array _ Record _ Dinamico
TIPO Calciatore = RECORD Cognome: ARRAY [ 30 ] DI CHAR Nome: ARRAY [ 30 ] DI CHAR Maglia: INT
FINE RECORD
PROCEDURA main()
p: PUNTATORE A Calciatore i, n: INT;
INIZIO
/* Check sul numero di elementi possibili dell ' array dinamico di RECORD */ /* VERA DINAMICITA ': unico limite la quantità di memoria assegnata al TASK */ RIPETI Leggi( n) FINCHE’( n ≥ 1)
/* Allocazione DINAMICA ARRAY di record */ Alloca( p, n * DimensioneDi( Calciatore))
SE( p ≠ NULL)
ALLORA /* Caricamento e controllo campi dell’ ARRAY di record dinamico */ PER i� 0 A( n-1) ESEGUI
RIPETI
Leggi(( p + i) � Cognome) FINCHE’( Lunghezza(( p + i) � Cognome) ≠ 0) AND( Lunghezza(( p + i) �Cognome) ≤ 30)
RIPETI
Leggi(( p + i) � Nome) FINCHE’( Lunghezza(( p + i) � Nome) ≠ 0) AND( Lunghezza(( p + i) �Nome) ≤ 30)
RIPETI
Leggi(( p + i) � Maglia) FINCHE’(( p + i) �Maglia) ≥ 1) AND(( p + i) �Maglia) ≤ 99) i � i + 1 FINE PER
/* Visualizzazione campi dell’ ARRAY di record allocato dinamico */
PER i� 0 A( n-1) ESEGUI Scrivi(( p + i) � Cognome) Scrivi(( p + i) � Nome) Scrivi(( p + i) � Maglia) i � i + 1 FINE PER
/* Deallocazione ARRAY di record allocato DINAMICAMENTE */ Dealloca( p)
ALTRIMENTI
Scrivi(" Allocazione non riuscita!") FINE SE
FINE
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 24