RÉPUBLIQUE TUNISIENNE |
Épreuve pratique d’informatique |
|
Durée : 1h |
Coefficient : 0.5 |
|
Sections : Maths, Sciences |
Important :
Enregistrez au fur et à mesure votre programme dans le dossier Bac2018 situé à la racine C: en lui donnant comme nom, votre numéro d’inscription (6 chiffres). |
L’examen d’un patient par son médecin commence par la collecte des symptômes à travers un ensemble de questions posées. Chaque symptôme sert à l’identification des maladies possibles et aide le médecin à prendre sa décision.
Pour l’aider à déterminer et à afficher les maladies correspondant à un symptôme donné, on se propose d’écrire un programme qui permet de :
1. remplir un tableau M, par les noms de N maladies (2<N≤100) où le nom d’une maladie est une chaîne formée par des caractères alphabétiques majuscules et peut contenir des espaces.
2. remplir un tableau S par N chaînes, représentant chacune, les principaux symptômes de la maladie M[i] séparés par des "#". Le dernier symptôme ne sera pas suivi du caractère "#". Un symptôme est une chaîne formée par des caractères alphabétiques majuscules et peut contenir des espaces.
3. afficher les maladies probables, pour un symptôme donné.
Exemple :
M |
INSUFFISANCE |
SPONDYLITE |
TUBERCULOSE |
ANEMIE |
NEVRALGIE |
|
1 |
2 |
3 |
4 |
5 |
S |
FATIGUE #PERTE APPETIT |
DOULEUR VERTEBRALE# DOULEUR THORACIQUE# PERTE APPETIT #INFLAMMATION OCCULAIRE |
SUEUR# TOUX# DOULEUR POITRINE #DOULEUR VERTEBRALE #PERTE APPETIT |
PERTE APPETIT# FATIGUE#MAUX DE TETE |
PARALYSIE# DOULEUR |
|
1 |
2 |
3 |
4 |
5 |
Pour le symptôme = "DOULEUR VERTEBRALE"
Les maladies probables sont : SPONDYLITE et TUBERCULOSE
Pour cela, on vous propose la solution algorithmique suivante :
Algorithme du programme principal |
Algorithme de la procédure Saisie |
0) Début Diagnostic 1) Répéter Ecrire("Donner le nombre de maladies:") Lire (N) Jusqu’à (N dans [3..100]) 2) Pour i de 1 à N faire Répéter Ecrire ( "Donner la maladie n°",i," :") Lire (M[i]) Jusqu’à (FN Alpha(M[i]) PROC Saisie(S[i]) FinPour 3) Répéter Ecrire ("Symptôme en question :") Lire (Sym) Jusqu’à (FN Alpha (Sym)) 4) PROC Affiche_maladie (M, S, N, Sym) 5) Fin Diagnostic |
0) DEF PROC Saisie (Var ch : Chaîne) 1) Ecrire ("Donner les symptômes correspondants :") 2) Répéter Ecrire ("Combien de symptômes ?") Lire(Ns) Jusqu’à (Ns >0) 3) Ch ← FN Former (Ns) 4) Fin Saisie |
Travail à faire :
a. Traduire l’algorithme Diagnostic en un programme Pascal et ajouter les déclarations nécessaires.
b. Traduire la procédure Saisie qui permet de saisir les symptômes relatifs à une maladie donnée.
c. Développer la fonction Alpha qui permet de vérifier qu’une chaîne donnée est formée par des lettres majuscules et peut contenir des espaces.
d. Développer la fonction Former qui saisit des symptômes et les sépare par le caractère "#" pour répondre aux conditions décrites au point 2) de l’énoncé.
e. Développer la procédure Affiche_maladie qui permet d’afficher les maladies probables, pour un symptôme donné.
Grille d’évaluation :
Questions |
Nombre de points |
a . Traduction de l’algorithme Diagnostic en Pascal + Ajout des déclarations nécessaires. |
6 + 2
|
b. Traduction de la procédure Saisie. |
2 |
c. Développement de la fonction Alpha. |
3 |
d. Développement de la fonction Former. |
3,5 |
e. Développement de la procédure Affiche_maladie. |
3,5 |