Tecniche di Programmazione
Corso di Laurea in Ingegneria Informatica
Corso di Laurea in Ingegneria Automatica
A.A. 2003/04

Appello del 23/3/2004 - Compito A

Si vogliono gestire dei laboratori di riparazione. Di un oggetto LaboratorioRiparazione sono di interesse il nome del laboratorio (una stringa) e la collezione delle riparazioni che devono essere effettuate. Di ogni riparazione sono di interesse le seguenti informazioni: Gli oggetti LaboratorioRiparazione supportano le seguenti funzionalità:

Domanda 1. Scrivere una classe Java LaboratorioRiparazione per rappresentare oggetti LaboratorioRiparazione. Fornire il costo in tempo dei metodi che realizzano le funzionalità tipo, serviTipo e tuttiTipo, motivando la risposta (indicando esplicitamente i parametri di input e il caso peggiore).

Domanda 2. Realizzare un metodo statico oggettiInRiparazione cliente della classe LaboratorioRiparazione che, dati

scrive sul file fout, uno per riga, gli identificatori degli oggetti in riparazione in lr il cui tipo sia presente in arr. Fornire il costo in tempo del metodo realizzato, motivando la risposta e individuando i parametri di input e il caso peggiore.

Domanda 3. Spiegare la rappresentazione collegata di alberi binari in cui l'informazione in ciascun nodo è un intero. Spiegare l'algoritmo di visita in postordine di alberi binari. Facendo uso della rappresentazione collegata, realizzare un metodo statico pubblico che, dato il riferimento alla radice di un albero binario alb i cui nodi contengono interi, restituisca il numero di foglie la cui informazione sia un numero positivo (maggiore di 0). Fornire il costo in tempo e spazio di memoria del metodo realizzato, motivando la risposta (indicando esplicitamente i parametri di input e il caso peggiore).