Licence Informatique 1
eannée Algorithmique et Programmation
Travaux Pratiques n°1 – Types composés1- Système d’information médicale
Il s’agit d’écrire un programme pour gérer des données concernant des patients.
1.1 Créer un type énuméré pour représenter les maladies suivantes : grippe, rougeole, tuberculose, fièvre jaune.
1.2 Créer un type enregistrement pour représenter les patient, avec pour chaque patient un nom, un prénom, un âge et une maladie.
1.3 Écrire un programme qui déclare et initialise quelques patients. On peut générer des noms et prénoms du genre toto0, toto1, etc, et des âges et maladies tirés aléatoirement.
1.4 Écrire une fonction qui prend en entrée un tableau de patients et renvoie le nombre de patients adultes ayant la rougeole.
1.5 On veut maintenant représenter les dates de vaccination des patients. Écrire un type enregistrement qui représente une date avec jour, mois, année. Ce type devra être doté d’une valeur par défaut invalide (par exemple une date avec 0 pour valeur du jour).
1.6 Écrire une fonction qui génère aléatoirement une date. On peut considérer que tous les mois ont 31 jours et que les années vont de 1918 à 2018.
1.7 Modifier le type représentant les patients pour qu’à chaque patient soit associé un tableau de dates de vaccination pour 4 maladies : diphtérie, tétanos, poliomyélite et coqueluche.
1.8 Modifier le programme principal pour générer des dates de vaccination pour chaque patient (ou pour mettre une date invalide si la personne n’est pas vaccinée contre cette maladie).
Ajouter du code pour savoir combien de patients sont vaccinés contre le tétanos.
Questions bonus pour les plus rapides (ou à faire à la maison) : - Écrire une fonction qui trie un tableau de patients par âge
- Écrire une fonction qui recherche de façon dichotomique un patient par son âge dans un tableau de patients triés par âge