« 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 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)

  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 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)


Ce document a été traduit de LATEX par HEVEA.