algorithmique 2009-2010
ECOLE NORMALE SUPERIEURE
FILIERE INFORMATIQUE – NIVEAU IV
EPREUVE D’ALGORITHMIQUE ET PROGRAMMATION
A – problème 1
Le but de l’exercice est de concevoir sommairement un logiciel de gestion des notes des étudiants de l’école normale supérieur (ENS).on vous donne les indications suivantes :
- L’ENS compte 13 filières d’enseignement (identifiée chacune par un intitulé et un code) et cinq niveaux d’étude (I, II ; III ; IV ; V).
- Chaque étudiant de l’ENS est identifié par un numéro matricule ; ses noms et prénoms ; son sexe ; sa date et lieu de naissance ; une information indiquant qu’il a déjà payé ses droits universitaires et une information indiquant s’il est redoublant ou non.
- Chaque niveau d’une filière est composé d’un ensemble de modules d’enseignement. Chaque module a un code et un intitulé et comprend plusieurs matières.
- Toute matière a un code, un intitulé et un nombre de crédits qui lui sont affectés.
- On suppose que les étudiants d’un niveau donné font tous les modules de ce niveau.
Question 1 : définissez une structure de donné appelée BD_Etudiants qui permet de représenter l’ensemble des étudiants de l’ENS classés par filière et par niveau dans chaque filière. (Indication : combinez judicieusement les tableaux et les listes chainés) 2pts.
Question 2 : écrire une procédure qui affiche tous les étudiants redoublants de l’ENS. 2pts
Question 3 : écrire une fonction qui donne le niveau d’étude d’un étudiant de matricule M. 2pts
Question 4 : définissez une structure de donnés appelée Programme_Etude qui permet de représenter le programme d’étude de l’ENS par filière et par niveau dans chaque filière. 2pts
Question 5 : écrire une procédure qui affiche tous les modules d’un cycle d’une filière. 2pts
Question 6 : définissez une structure de données appelée Notes_Etudiants qui permet de stocker les notes des étudiants. 2pts
B- problème 2
Attention : la résolution du problème fait appel à toutes les techniques étudiées cette année en algorithmique.
Enoncé du problème :
Un fichier séquentiel permet de stocker des données de même nature. Dans des fichiers séquentiel, les données sont stockés consécutivement dans l’ordre de leur entrée et peuvent être seulement lues dans cet ordre .si on a besoin d’une donnée précise dans un fichier séquentiel, il faut lire toutes les données qui la précèdent, en commençant par la premiere.les fichiers séquentiels que nous allons considérer dans cette exercice ont les propriétés suivantes :
- Les fichiers se trouvent soit en un état de lecture soit en un état d’écriture et on ne peut pas simultanément écrire et lire dans un fichier.
- Pour lire ou écrire dans un fichier, il faut préalablement qu’il soit ouvert (en lecture si on veut lire ; en écriture si on veut y écrire).un fichier ne peut pas être ouvert en lecture et en écriture simultanément .pour faire passer un fichier d’un état à l’autre, il faut d’abord le fermer, puis l’ouvrir à nouveau dan l’état souhaité.
- A un moment donné on peut uniquement accéder à une seule donnée du fichier ; celle qui se trouve en face de la tete de lecture/écriture. Lorsqu’on ouvre le fichier, la tete de lecture/écriture se trouve sur le premier élément du fichier.
- Apres chaque accès, la tete de lecture/écriture est déplacée derrière la donnée suivant celle lue en dernier lieu.
- Les fichiers disposent d’une opération fin_fichier qui permet de savoir que la tête de lecture/écriture est à la fin du fichier.
Questions :
a) Donnez un type abstrait FICHIER définissant rigoureusement les fichiers séquentiels. 3pts
b) Ecrire, dans un langage de définition d’algorithme approprié, le squelette d’un logiciel de gestion des annuaires téléphoniques des enseignants de l’ENS (ANNUAIRE_ENS) qui offre la possibilité à chaque enseignant d’avoir un annuaire téléphonique personnel comportant ses contactes telephoniques (nom ;prénom ;adresse ;profession ;téléphone ;etc.).le logiciel permet en outre la consultation, l’ajout, la modification et la suppression des données dans l’annuaire. 9pts
Dr FOUDA NDJODO