Sunteți pe pagina 1din 2

Instructiuni de rulare:

- dezarhivare proiect
- incarcarea proiectului dezarhivat folosind Intellij/Eclipse sau orice IDE capabil
sa recunoasca cod Java
- selectarea JDK-ului la orice versiune 8
- pachetele si clasele aplicatiei se afla in pachetul src
- executia programului se realizeaza prin rularea metodei MAIN din clasa
Clinic,care se afla in pachetul src
- dupa rulare, vor aparea in consola lista de doctori,lista de pacienti, raportul
de pacienti pe categorii de varsta,raportul doctorilor
privind numarul de pacienti consultati si sumele de bani castigate , precum si
lista de pacienti neconsultati (daca exista),daca nu exista
va aparea un mesaj in care se va specifica acest lucru

Abordarea problemei :

a) Generarea listelor de doctori a fost realizata folosind clasa Random pentru


determinarea atributelor unui doctor, deasemeni,
pentru generarea unui numar de doctori pe clinica, a fost utilizata clasa Random,
ce returneaza o valoare intre 8 - 20 .Asadar
la executia programului va exista un numar de doctori egal cu un numar ales
aleatoriu din intervalul [8,20]

b) Generarea listelor de pacienti a fost realizata pe acelasi principiu ca si


generarea listelor de doctori insa cu constrangerile
specifice pentru pacienti.

c) Printarea datelor referitoare la pacientii si doctorii din clinica a fost


realizata printr-o metoda generica statica iar afisarea
pe categorii de varsta a pacientilor a fost determinata folosindu-se o metoda din
clasa Generator (clasa de generare)

d) & e) Imprimarea listelor de pacienti si doctori pe disk a fost realizata printr-


o metoda generica care creeaza si/sau suprascriere
datele pe disk(intr-un fisier)

f) Implementarea sistemului de asignare a consultatiei fiecarui pacient unui


doctor, dintr-o anumita camera de consulatie este mai complexa
decat restul cerintelor iar explicarea pasilor este urmatoarea:
Fiecare camera de consult are asignata un numar de 12 ore lucratoare
Fiecarui doctor ii este generat aleator un numar de ore de munca (pana in
maxim 7 ore / doctor)
Se realizeaza asignarea camerelor de consult la doctori :
-daca camera curenta contine numarul de ore necesare pentru ca
doctorul sa isi realizeze orele atunci
i se asigneaza camera curenta, altfel se verifica urmatoarele
camere (daca mai au ore disponibile)
-a 2-a asignare se realizeaza in cazul in care raman ore
neasignate din cele 12 ore care ar trebui sa fie
epuizate pe turele doctorilor, in acest caz, daca exista doctori
a carui numar de ore ,impreuna cu numarul
de ore ramas din camera de consult , nu depaseste 7 ore atunci i
se adauga aceste ore respectivului doctor
Consultul propriu-zis:
-pentru fiecare camera de consult se asigneaza in mod paralel un
pacient (ordonat in functie de varsta)
-se gaseste primul doctor care este asignat la camera de consult
la care a intrat pacientul
-se verifica daca timpul ramas din tura sa ii permite sa realizeze
motivul consultatiei al pacientului
-in caz pozitiv, se realizeaza consultul, se updateaza lista
de pacienti , se updateaza numarul de ore ramase din tura
doctorului si se iese din executie
-in caz negativ,inseamna ca doctorul mai are ramase mai putin
de 30 de minute din tura si se doreste umplerea acestui
timp cu un pacient,nu neaparat urmator, dar care sa realizeze
caracteristica :
-daca doctorul mai are 20
minute,se cauta daca exista vreun pacient cu prescriptie
-daca doctorul mai are 30 de
minute,se cauta un pacient cu consultatie,si daca nu
se gaseste,se mai face o
ultima incercare,cautandu-se un pacient cu prescriptie
-la final se va returna o lista ce va contine pacientii ce nu au
fost consultati
Rapoartele privind sumele de bani castigate de doctori si pacientii consultati
vor fi generate din clasa Clinic

S-ar putea să vă placă și