« Examen » du TME « notation en masse »
Revision: 1.4
Christian Queinnec
1er juillet 2002
Conditions générales
Les conditions générales de cet examen sont semblables à celles des
CFS. Des liens vers des documentations
apparaissent à la fin du document précédemment pointé.
Tous les fichiers que vous serez amenés à écrire devront être dans un
unique répertoire (déjà créé) dont le nom ressemble à:
~/Pages_web/tme2002Jul01/pseudos/p6lip123_VOTRELOGIN_001/
Quelques méta-informations ne faisant normalement pas partie du texte
de l'examen apparaissent ici et là (et notamment ici).
Question 1
On désire varier le sempiternel exercice portant sur le calcul du pgcd
(plus grand commun diviseur) afin de calculer le ppcm (plus petit
commun multiple) d'entiers naturels. Pour cela, on rappelle que
ppcm(p, q) * pgcd(p, q) = p * q
Écrire donc un programme, nommé ppcm.exe, qui prendra
en arguments sur sa ligne de commande deux entiers naturels non nuls
et qui émettra sur son flux de sortie le ppcm de ces deux entiers.
Voici quelques exemples:
% ./ppcm.exe 3 3
3
% ./ppcm.exe 9 6
18
Vous pouvez utiliser tout langage à votre convenance (à condition
qu'il soit disponible sur les machines de l'UFR). Vous créerez un
fichier écrit en bash et nommé
compil-ppcm.sh dont le rôle est de fabriquer le programme
exécutable nommé ppcm.exe. La compilation, si
compilation il y a, doit être extrêmement précautionneuse et ne doit
produire aucune erreur.
Livraison
Indicateur de livraison pour Delivery_Builder: tme2002Jul01-
Remise du fichier compil-ppcm.sh,
- Remise des autres fichiers nécessaires pour
construire ppcm.exe.
Comme l'on n'utilisera Delivery_Builder, vous rendrez votre copie en
exécutant, dans le répertoire où se trouvent vos solutions
(normalement le répertoire
\~ /Pages_web/tme2002Jul01/pseudos/p6lip123_VOTRELOGIN_001/),
la commande suivante:
make -f /Enseignants/Infos/licence/CFS/ufr/2002Jul01/install.mkf rendre.copie
Vous pouvez si vous le souhaitez rendre d'autre copies en créant, à
côté du répertoire VOTRELOGIN_essai1/, d'autre
répertoires nommé sur le même schéma (par exemple
VOTRELOGIN_essai2/).
Notation sur 10 point(s)
-
1 point(s) si l'exécution de compil-ppcm.sh produit un
exécutable ppcm.exe,
- 9 point(s) si votre programme fonctionne correctement sur 4 de nos
tests.
- Assertion: votre programme recevra exactement deux arguments
correspondant à deux nombres entiers naturels non nuls.
Question 2
Cette question est facultative. Elle conduit à imaginer des tests qui
doivent éprouver des programmes d'interface différentes que dans le
cas de la première question. Elle ne deviendra intéressante que lorque
quelques uns d'entre vous l'auront abordée afin d'avoir des copies à
corriger.
On souhaite généraliser le programme
précédent de manière à pouvoir calculer le ppcm d'une séquence non
vide d'entiers naturels non nuls.
Écrire donc un programme, nommé mulppcm.exe, qui
prendra des entiers sur son flux d'entrée et produira au fur et à
mesure les ppcm successifs des entiers lus. Le flux d'entrée sera
formé de lignes terminées par une fin de ligne. Chaque ligne
comportera un unique entier non signé sans aucun caractère superflu.
Voici quelques exemples (le symbole ^D
ci-dessous représente le
caractère nommé Contrôle-D obtenu en pressant simultanément sur les
touches CTRL et d: il simule une fin de flux):
% ./mulppcm.exe
3
3
2
6
3
6
12
12
^D
% (echo 3; echo 2; echo 3; echo 12) | ./mulppcm.exe
3
6
6
12
% for n in 3 2 3 12 ; do echo $n ; done | ./mulppcm
3
6
6
12
Vous pouvez utiliser tout langage à votre convenance (à condition
qu'il soit disponible sur les machines de l'UFR). Vous créerez un
fichier écrit en bash et nommé
compil-mulppcm.sh dont le rôle est de fabriquer le programme
exécutable nommé mulppcm.exe. La compilation, si
compilation il y a, doit être extrêmement précautionneuse et ne doit
produire aucune erreur.
Livraison
Indicateur de livraison pour Delivery_Builder: tme2002Jul01-
Remise du fichier compil-mulppcm.sh,
- Remise des autres fichiers nécessaires pour
construire mulppcm.exe.
Comme l'on n'utilisera Delivery_Builder, vous rendrez votre copie en
exécutant, dans le répertoire où se trouvent vos solutions
(normalement le répertoire
~/Pages_web/tme2002Jul01/pseudos/VOTRELOGIN_essai1/)
la commande suivante:
make -f /Enseignants/Infos/licence/CFS/ufr/2002Jul01/install.mkf rendre.copie
Vous pouvez si vous le souhaitez rendre d'autre copies en créant, à
côté du répertoire p6lip123_VOTRELOGIN_001/, d'autre
répertoires nommé sur le même schéma (par exemple
p6lip124_VOTRELOGIN_001/).
Notation sur 10 point(s)
-
2 point(s) si l'exécution de compil-mulppcm.sh produit un
exécutable mulppcm.exe,
- 8 point(s) si votre programme fonctionne correctement sur nos tests.
- Assertion: votre programme recevra un flux d'entrée correct
comportant au moins un entier naturel.
Ce document a été traduit de LATEX par
HEVEA.