Вы находитесь на странице: 1из 2

Licence 3e année

Compilation 2
Examen mai 2016
Durée : 1h30 – Tous documents autorisés
Utilisation de LEX — (6 points)
1 – Lors de l’établissement de son service, chaque enseignant doit rapporter les modules pour lesquels il a

□ le nom de l’UE ;
6pts assuré un enseignement, en indiquant sur une seule ligne :

□ la nature de l’enseignement : TD, TP ou CM ;


□ la durée exprimée en heures effectives, c-à-d le temps passé avec les étudiants pendant cet enseignement.
Par exemple :
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h
Lors du décompte du temps associé à un enseignement, des coefficients sont appliqués afin de prendre en
compte les différentes natures d’enseignement, et de les exprimer en heures « équivalents TD » :
▷ une heure de CM donne lieu à 32 d’heures « équivalent TD », c-à-d à 1h30 ou un coefficient de 1,5 ;
▷ une heure de TD donne lieu à... 1h « équivalent TD », c-à-d un coefficient de 1 ;
▷ une heure de TP donne lieu à 23 d’heures « équivalent TD », c-à-d à 40 mins ou un coefficient de 0,66 ;
Sur l’exemple :

cela donne un volume horaire de : 9 ∗ 3/2 = 13, 5ℎ pour le cours magistral, 6h pour les TDs et 30 ∗ 2/3 =
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h

20ℎ pour les TPs, soit un total de 13, 5 + 6 + 20 = 39, 5ℎ en « équivalent TD ».


Pour réaliser le calcul du service complet d’un enseignant, il suffit ensuite de faire la somme des différents
volumes horaires en « équivalent TD ».
Ici, cela donnera la ligne :
Service total : 53
Travail :
Écrire à l’aide de LEX , un analyseur permettant un traitement incrémental, c-à-d au fur et à mesure de la
saisie, qui calcule le volume de chaque UE en « équivalent TD » et le service total :
a. une première version du fichier est saisie dans un fichier par l’enseignant :
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h
b. cette version est transformée par votre programme en le fichier suivant (vous sortirez sur stdout le
nouveau contenu du fichier avec l’instruction printf) :
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h {39,50}
Service total : 39,50
c. si on ajoute un enseignement dans le fichier précédent, on obtient la nouvelle version suivante du fichier :
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h {39,50}
UE Compilation 3 : CM : 15h, TD : 6h, TP : 15h
Service total : 39,50
d. en le passant de nouveau à l’analyseur, on obtient le contenu suivant :
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h {39,50}
UE Compilation 3 : CM : 9h, TD : 6h, TP : 15h {29,50}
Service total : 69,00

Affichage préformaté
Pour afficher un flottant avec deux chiffres après la virgule : printf("%.2f",valeur).

Resp. UE : P-F. Bonnefoi, http://p-fb.net/, « Compilation 2–Examen mai 2016 » version du 22 mai 2016, rédigé avec ConTEXt – Don’t Panic ! 1/2
Utilisation de LEX &YACC — (6 points)
2 – On veut maintenant traité le service d’un enseignant où il n’assure pas tout seul tous les enseignements
6pts d’une UE.
Le contenu initial du fichier :
UE Parallélisme 1 : CM : 9h
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h
Le format du fichier après traitement est le suivant :
UE Parallélisme 1 : CM : 9h {13,50}
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h {49,50}
Service total : 63,00
Si on modifie ce nouveau fichier :
UE Parallélisme 1 : CM : 9h {13,50}
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h {49,50}
UE Compilation 3 : CM : 15h, TP : 15h
Service total : 63,00
Après traitement, on obtient le fichier final :
UE Parallélisme 1 : CM : 9h {13,50}
UE Compilation 2 : CM : 9h, TD : 6h, TP : 30h {49,50}
UE Compilation 3 : CM : 15h, TP : 15h {32,50}
Service total : 95,50
Écrire un programme LEX et YACC qui analyse un fichier et produit un nouveau fichier contenant le nombre
d’heures en « équivalent TD » pour chaque UE et le total du service de l’enseignement.
XML, DTD &XSLT – (8 points)

8pts □ chaque enseignant est identifié par son nom et prénom ;


3 – L’administration veut maintenant gérer l’ensemble des services des différents enseignants :

□ une UE est :
⋄ identifiée par un code sur 7 lettres/chiffres par exemple COMLIC1 ;
⋄ identifiée par un intitulé : « Compilation 2 », « Parallélisme 1 », etc.
⋄ composée d’un ou plusieurs enseignements :
⋆ du CM avec au choix du TD et/ou du TP ;
⋆ un volume horaire associé ;
On veut disposer d’une liste d’enseignants, d’une liste d’UE et d’une liste de services.
Un service est associé à un enseignant et contient une liste d’enseignement faisant référence à un enseigne-
ment d’une UE (CM, TD ou TP).
Questions :
a. Proposez un DTD permettant d’exprimer les services des différents enseignants pour les différentes (4pts)
UEs qui minimisent les erreurs et facilite l’utilisation.
b. Écrire un fichier au format XSLT permettant l’affichage au format HTML du service d’un enseignant (3pts)
donné par son nom.
c. Donnez la requête XPath permettant de compter le nombre d’UEs d’un enseignant donné. (1pt)

Resp. UE : P-F. Bonnefoi, http://p-fb.net/, « Compilation 2–Examen mai 2016 » version du 22 mai 2016, rédigé avec ConTEXt – Don’t Panic ! 2/2

Вам также может понравиться