SDA Tema 2
În medicină, există aplicații software, de tip daemon (rezidente în memorie) care anunță personalul medical dacă detectează, după anumite euristici, că un pacient are risc crescut pentru o anumită afecțiune. Aceste aplicații monitorizează o bază de date care este în permanență actualizată cu rezultate de analize și diagnostice.
Pentru această temă, veți realiza o variantă foarte simplă a acestui sistem.
Cerință
Să se scrie o aplicație software care să poată verifica o listă de pacienți, și să printeze o listă cu toți pacienții care îndeplinesc anumite condiții.
Informații suplimentare
O înregistrare de tip ”pacient” trebuie să conțină următoarele informații:
- nume;
- vărstă;
- CNP;
- telefon;
- o mulțime (set) de fanioane care să specifice dacă pacientul suferă de următoarele afecțiuni:
- presiune arterială mare (PA);
- obezitate (O);
- nivel scăzut al fierului în sânge (Fe-);
- nivel ridicat de glicemie în sânge (Gl+);
- nivel ridicat de acid uric în sânge (UA+);
Se vor face următoarele verificări și se va specifica dacă pacientul prezintă riscul specificat:
- vârsta > 25 și obezitate și presiune arterială mare -> risc de infart;
- nivel scăzut al fierului în sânge -> anemie;
- obezitate și nivel ridicat de glicemie în sânge -> risc de diabet;
- vârsta > 40 și nivel ridicat de acid uric în sânge -> risc de gută;
Date de intrare
În fișierul pacients.csv (Comma Separated Values) se află pe fiecare linie o înregistrare de forma:
nume prenume,varsta,telefon,fanion_1,fanion_2,..,fanion_n
Exemplu:
Vasile Adrian,38,1831111111111,0711111111,O,PA Ghita Marian,20,1831111111112,0711111112,Fe- Vasile Adina,41,2851111111111,0711111111,UA+ Micsunel Ion,7,1901111111111,0712121212,O,Gl+ Fanel Bosu,18,1881111111111,0712121213,O,Fe-,Gl+
Date de ieșire
Pentru fiecare afecțiune se va creea un fișier separat în care se vor scrie pacienții suspectați.
Exemplu:
- infart.csv
Vasile Adrian,38,1831111111111,0711111111,O,PA
- anemie.csv
Ghita Marian,20,1831111111112,0711111112,Fe- Fanel Bosu,18,1881111111111,0712121213,O,Fe-,Gl+
- diabet.csv
Micsunel Ion,7,1901111111111,0712121212,O,Gl+ Fanel Bosu,18,1881111111111,0712121213,O,Fe-,Gl+
- guta.csv
Vasile Adina,41,2851111111111,0711111111,UA+
Restricții
- Pentru a stoca informațiile despre pacienți, se va folosi o listă simplu înlănțuită.
Livrabile
Tema submisă va conține: unul sau mai multe fișiere .cpp/.c/.h care să fie compilabile pe cel puțin o platformă (sistem de operare + compilator), și un document pdf care să conțină o analiză a complexității în timp și spațiu și o listă cu sugestii de optimizare.
Modalitatea de submitere
Tema va fi submisă pe e-mail, la adresa homework@dcae.pub.ro. Subiectul va fi [SDA-2][NUME][GRUPA]. Fișierele vor fi atașate mesajului, NEARHIVATE.
Atenție: Singurul fișier binar va fi documentul pdf. Orice alt binar (executabil, dll, so, etc.) atașat mesajului va face ca acesta să fie respins de server-ul de e-mail și în consecintă să nu primiți nici un punct pe temă.
Atenție: Temele vor fi verificate anti-plagiat cu soft-uri specializate. Orice temă copiată va fi penalizată (atât sursa cât și copia) cu 100% din punctaj, fără posibilitate de refacere.