Domanda [AIUTO] Compito Sistemi in Java

Stato
Discussione chiusa ad ulteriori risposte.

TokioKen

Utente Iron
10 Gennaio 2018
3
2
0
19
Buon pomeriggio a tutti. Dopo aver sbagliato la sezione per la discussione...chiedo ulteriormente scusa se sto scrivendo ancora nella sezione sbagliata. Prima di fare una nuova discussione ho fatto un ricerca nel sito ma non ho trovato quello che cercavo. per questo motivi ho voluto aprire una nuova discussione. Vorrei gentilmente aiuto da voi per lo svolgimento di un esercizio di Sistemi in java.
Ringrazio in anticipo tutti per l'aiuto.
Ecco la traccia:

Si consideri l'accesso ad un pronto soccorso di un ospedale. Quando i pazienti arrivano si recano allo sportello per l'accettazione e ricevono un codice di urgenza numerico, che va da 0 a 4, per priorità decrescente (0 è il codice rosso e via via fino al codice bianco rappresentato con il 4). Successivamente si mettono in attesa nella sala di attesa. I medici chiamano i pazienti rispettando le priorità. Se non vi sono i pazienti in attesa svolgono attività amministrative per un certo intervallo temporale e poi verificano di nuovo se ci sono i pazienti in attesa. Al termine della visita il paziente fornisce allo sportello, per motivi statistici, il numero progressivo con cui è stato servito.
Si utilizano thread e monitor (cioè classi syncronized) di java per modellare tale realtà. In particolare si dovrà:


1. Implementare la classe paziente come thread, simulare il paziente, nel metodo run(), la la procedura di accettazione, l'accesso alla sala d'attesa, e infine, la procedura con la quale viene comunicato allo sportello il numero progressivo di servizio avuto.

2. Implementare la classe Medico come thread, simulare per il medico, nel medoto run(), la seguente attività. Il medico verifica se ci sono pazienti in attesa. In tal caso procede con la visita del paziente a maggior priorità in attesa (a parità di priorità vale la politica FIFO). La visita deve essere simulata con il tempo random di sospensione che va da 10 minuti a 30 minuti. Se non vi sono pazienti in attesa, il medico svolge paratciche amministrative per 5minuti, e poi ritesta la presenza dei pazienti.

3. Implementare la classe Sportello e includere i metodi Accettazione e Statistiche. Il metodo Accettazine restituisce il codice di urgenza la cui determinazione deve essere determinata attraverso una generazione random (tra 0 e 4), il metodo tiene traccia sia del numero di accettazione complessive registrate sia del numero di accettazione del codice di urgenza.

4. Implementare la classe ProntoSoccorso che include (tra le altre cose) i metodi salaAttesa e avantiAltro, invocati rispettivamente dai pazienti e dai medici. Con il metodo salaAttesa i pazienti si mettono in attesa per essere ricevuti.
Il metodo avantiAltro è invocato dai medici come scritto al punto 2.

- Infine realizzare il metodo main, simulando che il numero di pazienti sia 100 e il numero di medici sia 4.
 
io ho provato a farlo, te lo posto fra 2 minuti sicuro non è perfetto e sicuramente si può fare meglio...ps: sono uno studente anche io e proprio ieri ho sostenuto l'esame di Sistemi e Programmazione;
 
https://codeshare.io/5MJo1p
su questo sito puoi trovare il codice, ripeto non sono un esperto, ma un principiante alle prime armi; spero possa esserti utile... per qualsiasi info, chiedimi ciò che vuoi se potrò aiutarti sarò felice di farlo (Per quel poco che conosco attualmente)... in bocca al lupo...
 
Stato
Discussione chiusa ad ulteriori risposte.