![]() |
| Home | Chi sono | Mappa del sito | Contatti |
|
Esercizi di programmazione in Pascal->Programmazione I - Esercizio 2
Programmazione I - Esercizio 2Secondo parziale dell'esame di Programmazione I:Dato il file "refin.txt" contentente un albero binario, il programma deve allocare l'albero binario in memoria, calcolarne la profondità, inserire l'albero in post ordine nel file "prgout.txt", memorizzare la profondità nel file "depth.txt" ed infine deallocare l'albero dalla memoria. Il file è costruito in questo modo: se un numero è pari allora è una foglia altrimenti è un nodo interno. Nel tutorial "Albero binario di ricerca" possiamo trovare la definizione di albero binario di ricerca, e l'implementazione delle operazioni più comuni. In questo esercizio non andremo ad utilizzare tali implementazioni ma delle semplici procedure ad hoc. Vediamo la definizione del nodo dell'albero, e alcune variabili globali utilizzate dalle varie procedure. La seguente procedura legge il file refin.txt e costruisce l'albero corrispondente. All'interno si trova anche un contatore per il calcolo della profondità. Vediamo il codice: La seguente procedura scrive nel file prgout.txt l'albero t in in postordine. Vediamo il codice: La seguente procedura dealloca l'albero t. Vediamo il codice: Vediamo di seguito il corpo del programma. Compilato con Free Pascal 2.2.4 (compatibile con Vista) Scarica sorgente ed eseguibile |