Corso di Laurea in Informatica. Linguaggi di Programmazione. Appello del 21\02\2011: Tesine di Java



Documenti analoghi
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Parcheggio.rtf 1/8 6 gennaio Prova di programmazione: parcheggio a pagamento

Soluzione dell esercizio del 2 Febbraio 2004

Promemoria delle principali funzioni di Gestione utenti e prestiti in SOL

Progetto Campo Base. Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Traccia di soluzione dell esercizio del 25/1/2005

Esercizio data base "Biblioteca"

DIREZIONE AMMINISTRATIVA AREA DIDATTICA E SERVIZI AGLI STUDENTI UNIWEB FAQ STUDENTI

MANUALE PARCELLA FACILE PLUS INDICE

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Università Politecnica delle Marche. Progetto Didattico

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Esercitazione di Basi di Dati

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

Guida Compilazione Piani di Studio on-line

C A T A L O G O. Catalogo del Sistema Bibliotecario Padovano. Gruppo Lavoro per il Coordinamento dei Corsi all Utenza

CREAZIONE DI UN AZIENDA

Inserimento esame nella procedura esami on-line. Passo 1: - Voce esse3: Calendario Esami->Esami Profitto->Abilita docenti

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Archivio CD. Fondamenti di Programmazione

2.7 La cartella Preparazioni e CD Quiz Casa

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

Esercitazione n 4. Obiettivi

Le Basi di Dati. Le Basi di Dati

GUIDA ALLA PRENOTAZIONE DEGLI APPELLI ON-LINE (STUDENTE)

Liberare la memoria allocata dinamicamente.

Il sistema C.R.M. / E.R.M.

Soluzione dell esercizio del 12 Febbraio 2004

UNIWEB: GUIDA OPERATIVA PER L APERTURA DEGLI APPELLI (giugno 2011)

REGOLE PER L ESAME (agg.te settembre 2015)

Università degli Studi di Trieste

Università degli Studi di Napoli Parthenope Facoltà di Scienze e Tecnologie Corso di Laurea in Informatica Generale

Università di Parma Facoltà di Ingegneria. Polo Tecnologico Nettuno

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

MANUALE ESSE3. Iscrizione alle prove d esame e visione esiti STUDENTI

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Introduzione alla teoria dei database relazionali. Come progettare un database

Guida Studenti per i servizi online: compilazione dei questionari per la valutazione della didattica Iscrizione agli appelli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a luglio 2013

STUDIUM.UniCT Tutorial per gli studenti

Gestione dei servizi all utenza. 3. Autorizzazioni

PROCEDURA PER LA GESTIONE ESAMI DI STATO AREA ALUNNI AXIOS

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Progettazione di una base di dati Ufficio della Motorizzazione

Gestione appelli d esame

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Argo DidUp. Vi troverete nel portale Argo da dove potete lanciare l applicativo <Argo DidUp>

Laboratorio di Algoritmi e Strutture Dati

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Basi di dati 9 febbraio 2010 Compito A

1) GESTIONE DELLE POSTAZIONI REMOTE

Matematica in laboratorio

MANUALE PER I DOCENTI: GESTIONE APPELLI E VERBALIZZAZIONE ESAMI ONLINE ESAMI SCRITTI

Amministrazione gruppi (Comunità)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

ISTRUZIONI REGISTRO ELETTRONICO SCUOLANEXT

Alfa Layer S.r.l. Via Caboto, Torino ALFA PORTAL

MAGAZZINO FISCALE (agg. alla rel )

MANUALE UTENTE. P.I.S.A. Progetto Informatico Sindaci Asl

Cosa sono i corsi di aggiornamento?

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

MANUALE ESSE3 Gestione Registro delle lezioni

I file di dati. Unità didattica D1 1

ESAMI ONLINE E QUESTIONARI ANVUR (FAQ)

Pagina Personale Docente. Guida Utente. Progetto DISCITE

Libero Emergency PC. Sommario

Gestione Risorse Umane Web

MANUALE PER LO STUDENTE: VISUALIZZAZIONE e ACCETTAZIONE/RIFIUTO DEL VOTO

EDICOLA MANAGER EM Importer

Capitolo 4 Pianificazione e Sviluppo di Web Part

H1 Hrms Gestione eventi/scadenze automatiche

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

Amministrazione gruppi (all interno della Scuola)

SERVIZIO DI MESSAGGISTICA ALL UTENTE. Manuale per l operatore

Registratori di Cassa

1.0 GUIDA PER L UTENTE

Manuale Utente Albo Pretorio GA

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Servizio online «Distinta d impostazione Lettere» Istruzioni

Gli allarmi che possono essere inseriti sono di tre tipi diversi:

CP Customer Portal. Sistema di gestione ticket unificato

Guida al CRM INGENIA Group

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

MANUALE UTENTE Borse di studio universitarie - Domanda Versione 1.0 Pagina 1 MANUALE UTENTE BORSE DI STUDIO UNIVERSITARIE - DOMANDA VERSIONE 1.

Database 1 biblioteca universitaria. Testo del quesito

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

INFORMATIVA FINANZIARIA

ALF0021M MANUALE UTENTE MODULO "SETUP"

Gestore Comunicazioni Obbligatorie - VARDATORI - Progetto SINTESI Dominio Provinciale Modulo Applicativo:COB Procedura VARDATORI

IL SISTEMA INFORMATIVO

EDICOLA MANAGER EM Importer

Sostituto abilitato Entratel con più sedi: ricezione diretta e incarico ad intermediario abilitato

Transcript:

Corso di Laurea in Informatica Linguaggi di Programmazione Appello del 21\02\2011: Tesine di Java AVVERTIMENTI E AVVISI: - Ad ogni studente è assegnata una tesina, come si vede dallo schema a seguire. - Quindi anche se più nomi di studenti compaiono a fianco di ogni tesina ognuno di essi deve fare la sua tesina individualmente. - All esame orale il 21\02\2011 ogni studente dovrà portare il proprio programma che sarà fatto girare su qualche computer. - Il programma deve essere commentato nel listato per comprendere cosa fa ciascuna classe e cosa fanno ciascuna variabile e ciascun metodo. - Verranno tenute in maggiore considerazione l uso dell interfaccia grafica, l'implementazione di funzionalità del tipo salvataggio dei dati o ancora l utilizzo delle eccezioni. - Non si accettano richieste di assegnazione di tesine oltre le ore 13:00 del 15 Febbraio. Buon lavoro!

Titolo: Gestione di una biblioteca Testo: Una biblioteca ha dato l incarico di implementare un software per la gestione dei prestiti di libri. Si costruiscano le seguenti classi: - classe Data: serve per costruire l orologio virtuale. Implementare tre variabili d istanza e i metodi che servono. - classe Abbonato: costruisce l oggetto utente. Essa ha due variabili d istanza e i metodi che servono. - classe Libro: costruisce l oggetto libro. Ha tre variabili d istanza: titolo, utente a cui è prestato, data scadenza del prestito. Ha inoltre i relativi metodi accessori. - classe Archivio: dovrà contenere due liste una contenente i riferimenti agli abbonati alla biblioteca e l altra i riferimenti ai libri presenti, oltre ad un riferimento alla data, e i metodi per gestire l archivio: o un metodo per inserire un libro nuovo o un metodo per inserire un utente nuovo o un metodo per trovare un utente o un metodo per prestare un libro o un metodo data di scadenza o un metodo per aggiornare il prestito o un metodo per contare il numero di libri di un utente e tutti quelli che si vogliano aggiungere. Titolo: Corso di laurea Testo: La segreteria di un corso di laurea desidera sviluppare un archivio elettronico per la gestione di tutti gli studenti, di tutti gli appelli d'esame, e delle sessioni di laurea. Implementare le seguenti classi con i relativi metodi prescritti. Attenzione: non esistono esami diversi con lo stesso nome. Inoltre, potreste avere bisogno di metodi ausiliari che non ho indicato, per semplificare il codice: definite tali metodi ogniqualvolta lo ritenete opportuno. classe Esame: deve avere come variabili d istanza il nome dell esame, il numero di crediti e il voto. Deve avere come metodi i metodi accessori e quelli necessari. classe Studente: deve avere come variabili d istanza il nome dello studente e il numero di matricola e due liste: una contenente i riferimenti agli esami sostenuti e una contenente il piano di studi. Deve avere come metodi oltre a quelli usuali: un metodo per aggiungere un esame al piano di studi, un metodo promosso per togliere un esame dal piano di studi e aggiungerlo nella lista degli esami sotenuti, un metodo per calcolare la media e i metodi in più che si vogliono aggiungere. classe CorsoLaurea: deve avere come variabili d istanza il nome del corso di laurea, una lista con gli studenti immatricolati, un intero per il numero della prossima matricola e una costante che rappresenti il numero minimo di crediti per laurearsi MINCRED Deve avere come metodi oltre a quelli usuali: - un metodo per iscrivere uno studente al corso di laurea - un metodo per cercare l indice di uno studente nella lista - un metodo per ritirare uno studente da un corso di laurea - un metodo appello in cui è necessario creare un oggetto di classe Random, che assegna un voto casuale ad ogni studente (ciò, ovviamente, non succede nella realtà ). Gli studenti che totalizzano un punteggio superiore a 18, sono promossi, altrimenti vengono rimandati. Vengono ovviamente aggiornati i dati degli studenti promossi. - un metodo laurea che rimuove tutti gli studenti che hanno totalizzato almeno MINCRED come numero di crediti.

Titolo: Gestione di un campo da tennis Testo: Fare una classe Prenotazione (di un campo da tennis) contenente il nome del cliente e l'ora della sua prenotazione. Implementare una classe Campo in cui sono presenti due costanti, una per l orario di apertura e una per l orario di chiusura, e ci sono i seguenti metodi: - un metodo per prenotare il campo (controlla se i dati inseriti sono giusti e se il campo è disponibile dopodichè salva la prenotazione e restituisce true se il campo è stato prenotato); - un metodo per cancellare una prenotazione (controlla se il campo è stato prenotato dal cliente che vuole cancellare la prenotazione dopodichè la cancella e restituisce true se la prenotazione è stata cancellata) - un metodo per trovare la percentuale dell'utilizzo del campo - altri metodi se necessari. Titolo: Archivio MP3 Testo: Si desidera implementare un archivio elettronico con tutti i brani musicali in formato mp3 contenuti nel proprio pc. L'archivio tiene traccia di tutti i cd, artisti e generi di pertinenza dei brani catalogati. Ad esempio, due brani dello stesso cd avranno come variabile d'istanza album due riferimenti allo stesso cd, contenuto nella variabile d'istanza cds specificata per la classe Archivio. Allo stesso modo, due cd dello stesso genere avranno come variabile d'istanza genere due riferimenti allo stesso genere, contenuto nella variabile d'istanza generi specificata per la classe Archivio. Non devono dunque mai essere duplicati i cd, oppure i generi. Bisogna invece "condividere" questi dati ogni volta che sia possibile. Quando si deve aggiungere un nuovo brano nell'archivio, vengono specificate tutte le coordinate: artista, cd e genere. Se viene trovato il cd a cui il brano appartiene, ci si deve riferire a quell'oggetto e non duplicarlo. Se invece tale oggetto non esiste nell'archivio (ovvero si tratta del primo brano acquisito di questo cd)si deve allora creare anche il nuovo oggetto che rappresenti il cd. Stesso discorso vale per il genere e l'artista: si deve creare una nuova istanza solamente se non ne esiste alcuna. Ricapitolando ci saranno le seguenti classi: classe Genere, classe Artista, classe Cd, classe Brano e classe Archivio. La classe Cd conterrà come variabili il titolo del cd, l artista e il genere. La classe Brano conterrà come variabili il titolo del brano, la durata e l album a cui appartiene. La classe Archivio conterrà come variabili delle liste: una per i generi, una per i cd, una per gli artisti e una per i brani. Conterrà vari metodi di ricerca, inserimento, cancellazione. Conterrà un metodo di creazione di una playlist casuale di brani di un dato genere (tramite la classe Random) più tutti gli altri metodi che si vogliono implementare. Titolo: Gestione di una compagnia aerea Testo: Una compagnia aerea desidera gestire elettronicamente le prenotazioni sui singoli voli. Abbiamo una classe Cliente, con nome unico (si assuma che non ci siano clienti omonimi) e i metodi necessari. Poi una classe Volo, che contiene due variabili d'istanza denominate posti e attesa e che rappresentano due liste. Ogni volo ha un numero massimo di passeggeri (passato come parametro al costruttore). Quando un cliente prenota il volo, lo mettiamo in posti se c'e` ancora disponibilità, altrimenti lo mettiamo in attesa. Quando un cliente in posti disdice il suo volo, si libera un posto e prendiamo il primo elemento di attesa e lo trasferiamo su posti. Suggerimento: posti è una lista di dimensione pari al massimo numero di passeggeri; attesa è una lista senza limitazioni sulla dimensione.

Titolo: Gestione di un concerto Testo: Un agenzia per il turismo desidera gestire automaticamente la prenotazione dei posti per un concerto. Si sviluppi una classe Cliente avente come variabili d istanza il nominativo e il numero di telefono del cliente, rappresentati entrambi come stringhe, con i relativi metodi di accesso ed un costruttore. Si sviluppi inoltre la classe Spettacolo contenente come variabili la lista prenotazioni di clienti che hanno il posto, la lista attesa contiene i clienti in lista d attesa e una variabile intera che contiene il numero di prenotazioni effettuate. La lista d attesa deve essere gestita con la politica primo arrivato, primo servito. Il costruttore inizializza una classe con un array prenotazioni (inizialmente vuoto) avente lunghezza n specificata come parametro. La classe deve contenere i seguenti metodi: - il metodo libero restituisce true solo se vi sono posti ancora liberi. - il metodo trova restituisce 0 se il cliente specificato ha il posto, 1 se il cliente è in attesa e -1 altrimenti. - il metodo prenota inserisce il cliente specificato nell oggetto (eventualmente in attesa). - il metodo disdici rimuove il cliente specificato dall oggetto. Nel caso venga liberato un posto in prenotazioni, viene trasferito il primo cliente da attesa. - il metodo incompleto restituisce true se esiste almeno un cliente che abbia almeno un posto ed almeno una prenotazione in attesa; il metodo restituisce false in caso contrario. Per come viene specificata la funzione del metodo incompleto() si assume che un cliente possa avere più prenotazioni che possono trovarsi sia nell array prenotazioni, sia nell ArrayList attesa. Titolo: Magazzino Testo: Un rivenditore vuole gestire un magazzino di articoli. Sviluppare una classe Articolo avente come variabili d istanza un codice (stringa), un prezzo (intero) ed un quantitativo di disponibilità a (intero). Definire i relativi metodi di accesso ed un costruttore. Il magazzino è rappresentato dalla classe Magazzino avente come variabile d istanza una lista di riferimenti ad articoli. Nel magazzino non possono essere presenti più articoli aventi lo stesso codice; inoltre, gli articoli aventi quantitativo pari a zero devono essere cancellati dal magazzino. La classe Magazzino conterrà oltre gli usuali metodi i seguenti metodi: - il metodo rifornisciarticolo aggiunge un nuovo articolo al magazzino, se questo non è presente, oppure aggiorna il quantitativo di un articolo. - il metodo vendiarticolo preleva dal magazzino una specificata quantità di un certo articolo, e comunque non oltre esaurimento. Viene restituito il ricavo totale. - il metodo aggiornaprezzi aumenta della percentuale indicata il prezzo di tutti gli articoli disponibili. - il metodo conteggiaarticoli restituisce la totale quantità di articoli presenti nel magazzino, aventi codice che inizi con uno specificato prefisso. Più tutti gli altri metodi che si desidera aggiungere.

Titolo: Insieme Testo: In una libreria software per funzioni matematiche, si vuole implementare un tipo di dati per rappresentare gli insiemi di interi, utilizzando una classe Insieme. Tale classe conterrà come variabili d istanza una lista di interi chiamata elementi, una variabile max_elem che specifica la capienza massima dell insieme e una variabile n_elem che specifica la dimensione corrente dell insieme. La classe Insieme conterrà oltre gli usuali metodi i seguenti metodi: - i metodi aggiungi ed elimina che inseriscono e tolgono, rispettivamente, dall insieme l elemento indicato come argomento. Viene restituito il valore false solamente nel caso l operazione non possa essere compiuta. - il metodo unione assegna all argomento implicito l unione degli insiemi a e b (eventuali elementi già presenti nell argomento implicito devono essere cancellati). - Più tutti gli altri metodi che si desidera aggiungere. Titolo: Assegnazione delle tesi Testo: Un corso di laurea desidera gestire automaticamente l assegnazione delle tesi ai propri studenti. Sviluppare una classe Tesi, avente come variabile d istanza un titolo rappresentato come stringa, ed una classe Studente, avente come variabili d istanza il nominativo (stringa) ed un riferimento ad un oggetto di classe Tesi. Per entrambe le classi definire i relativi metodi di accesso ed un costruttore. Si sviluppi inoltre la classe Assegnazioni contenente come variabili d istanza due liste, una per le tesi e una per i laureandi. La lista tesi contiene le tesi proposte dai docenti, la lista laureandi contiene gli studenti che hanno avuto una assegnazione di tesi. Ciascun studente avrà il proprio campo puntatore collegato ad un oggetto nella lista tesi, rappresentante la tesi a lui assegnata. Il costruttore inizializza un oggetto Assegnazioni con entrambe le liste vuote. Si avranno poi i seguenti metodi: - i metodi aggiungitesi e aggiungistudente inseriscono una nuova tesi ed un nuovo studente, rispettivamente, nel sistema. Se la tesi associata allo studente non è già presente nel sistema, questa dovrà essere creata. - il metodo laureato elimina dal sistema uno studente e la propria tesi. - il metodo liberatesi elimina lo studente associato alla tesi specificata come argomento, rendendo di nuovo disponibile la tesi stessa. -il metodo disponibili restituisce il numero di tesi presenti nel sistema non ancora assegnate ad un laureando. - più eventuali altri metodi. Titolo: Azienda Sanitaria Testo: Un azienda sanitaria desidera creare un archivio elettronico per la gestione dei propri medici di base e delle liste dei relativi pazienti. Si sviluppi una classe Medico avente il nominativo (stringa) come variabili d istanza, un metodo d accesso ed un costruttore. Si sviluppi inoltre una classe Paziente avente come variabili d istanza il numero (intero) di tessera sanitaria ed un riferimento al proprio medico curante, con i relativi metodi di accesso ed un costruttore. Si sviluppi la classe AziendaSanitaria, coi seguenti metodi: - il metodo aggpaziente inserisce un oggetto paziente nella arraylist pazienti, con un riferimento al proprio medico curante nella arraylist medici. Non devono mai essere duplicati pazienti o medici. - il metodo listamedico restituisce una arraylist con tutti e soli i pazienti che hanno il medico specificato dal parametro esplicito come medico curante. - il metodo statmedico restituisce un riferimento al medico nella arraylist medici avente il maggior numero di pazienti. - Più eventuali altri metodi ausiliari.

Titolo: Parcheggio Testo: Si desidera simulare un parcheggio a pagamento per autovetture. Si sviluppi la classe Vettura, avente le variabili d istanza private int targa, private short oraarrivo, private short orascadenza, dove le ore sono interi compresi tra 0 e 23. Implementare i relativi metodi di accesso e riscrittura per tali variabili, più un costruttore. Il parcheggio è rappresentato mediante la classe Parcheggio. Essa avrà come variabili d istanza una variabile per l ora corrente, una lista di riferimenti a vetture, un intero rappresentante il numero massimo di vetture, e una lista rimozione di riferimenti a vetture. Il costruttore inizializza un parcheggio con massima capienza numposti e 0 vetture. Si avranno come metodi: - i metodi entravettura ed escevettura aggiungono e rimuovono, rispettivamente, le vetture dei clienti del parcheggio. Viene restituito il valore true solo nel caso l operazione possa essere eseguita. - il metodo aggiornaora incrementa di una unità l ora corrente, e sposta nella zona rimozione tutte le vetture il cui tempo sia scaduto. - il metodo promozione offre gratuitamente oregratuite ore a tutte le vetture nel parcheggio il cui numero di targa termini con le cifre codice, dove codice deve essere un numero di due cifre. - il metodo statvetture restituisce una arraylist con tutte le vetture che hanno il più alto numero di ore di parcheggio pagato. - più eventuali altri metodi che si vogliono aggiungere. Titolo: Distribuzione Testo: Una società commerciale desidera gestire in modo elettronico i propri magazzini sul territorio nazionale. Si consideri una classe Articolo con variabili d istanza codice (stringa) e quantitativo (intero). Si assuma siano già disponibili i metodi d accesso ed un costruttore per tale classe (non sviluppare il codice). Si consideri una classe Magazzino e una classe Distribuzione. La classe Magazzino avrà come variabili il nome della città dove si trova e una lista di riferimenti ad articoli. Avrà anche i metodi per aggiungere e rimuovere un certo quantitativo di un dato articolo. Nella classe Distribuzione saranno presenti come variabili una lista di magazzini e un intero che mi rappresenta il numero di magazzini. Si avranno come metodi: - il metodo totalearticolo conteggia la quantità totale dell articolo indicato su tutti i magazzini. - il metodo da Rifornire restituisce una arraylist con tutti i magazzini che hanno almeno un articolo con quantitativo zero. - il metodo riforniscimagazzino rifornisce il magazzino indicato, prelevando la quantità necessaria dell articolo indicato dagli altri magazzini. - il metodo stat restituisce un riferimento all oggetto articolo che ha il massimo quantitativo totale su tutti i magazzini (risolvere arbitrariamente i casi di parità).

Titolo: Gestione di un azienda ospedaliera Testo: Una azienda ospedaliera desidera simulare il proprio servizio di pronto soccorso. Sviluppare una classe Paziente, avente le variabili d'istanza codice e priorità, entrambe di classe String, e gli usuali metodi accessori per tali variabili. La classe Soccorso è definita da una variabile lista di oggetti della classe Paziente. Le tre priorità utilizzate per i pazienti sono "rosso", "giallo" e "verde", e devono essere servite e ordinate all'interno della coda di attesa nell'ordine specificato. A parità di priorità, i pazienti sono serviti/ordinati con la politica primo arrivato, primo servito. Occorreranno i seguenti metodi: - il metodo ingresso aggiunge un nuovo paziente - il metodo dimissione serve il prossimo paziente in attesa. - il metodo cambio aggiorna la priorità del paziente avente il codice specificato come parametro esplicito, riposizionandolo all'interno della coda di attesa. - il metodo statistica restituisce il numero di pazienti in attesa aventi la priorità specificata come parametro esplicito. - se lo ritenete opportuno potrete sviluppare metodi ausiliari che vi facilitino la scrittura del codice dei metodi richiesti. Titolo: Trasporti Testo: Un'agenzia di trasporti desidera gestire automaticamente il proprio parco automezzi e le proprie attività. Si assumano le classi Mezzo, avente la variabile d'istanza targa, e la classe Autista, avente le variabili d'istanza codice (stringa) e automezzo riferimento a Mezzo. Si assumano gli usuali metodi. Ci sarà bisogno di una classe Trasporti che avrà come variabili d istanza la lista automezzi di riferimenti ad oggetti della classe Mezzo e la lista autisti di riferimenti ad oggetti della classe Autista. Occorreranno i seguenti metodi: - i metodi aggiungimezzo, aggiungiautista, rimuovimezzo e rimuoviautista inseriscono e rimuovono risorse del sistema. Quando un oggetto della classe Autista è impegnato con un mezzo, il relativo campo automezzo deve contenere un riferimento ad un oggetto di classe Mezzo. - i metodi impegnamezzo e libera Mezzo creano e distruggono tale legame, rispettivamente. Assumere che non più di un autista possa essere assegnato allo stesso mezzo. - il metodo scambia effettua lo scambio degli autisti per gli automezzi indicati. -il metodo statistica restituisce il numero di automezzi liberi nel sistema - più eventuali altri metodi che si vogliono aggiungere.