Skip to content
Snippets Groups Projects
Commit f29f588e authored by Adrien Rougny's avatar Adrien Rougny
Browse files

ajouts dans README.rst

parent b3238c1b
No related branches found
No related tags found
No related merge requests found
......@@ -21,13 +21,15 @@ g
Étendre le module avec de nouveaux programmes
---------------------------------------------
Le répertoire `data/`_ contient des programmes C++. Le nom des
programmes est de la forme ``<theme>_nom.cpp`` ou ``<theme>_nom_input.cpp``.
Dans le premier cas, l'utilisateur doit deviner la sortie du
programme. Dans le second cas, le programme doit lire un entier entre
Le répertoire `data/`_ contient des programmes C++, qui peuvent être de deux types.
Pour les programmes du premier type, l'utilisateur doit deviner la sortie du programme.
Ces programmes sont nommés sous la forme ``<theme>_<nom>.cpp``.
Les programme du decuième type doivent lire un entier entre
0 et 99 sur l'entrée standard, et l'utilisateur doit deviner lequel
donne 42; pour l'instant cet entier doit être unique.
Ces programmes sont nommés ``<theme>_<nom>_input.cpp``
Pour les deux types de programme, le thème peut être constitué d'un thème principal et de sous-thèmes, séparés par des ``_`` (p. ex. ``loop_for``, ``loop_while``).
Les noms de fichiers ne doivent contenir que des caractères alphanumériques et le caractère ``_``.
En vue d'obtenir un peu de variabilité les programmes sont transformés
avant affichage et compilation, de la manière suivante:
......@@ -61,20 +63,33 @@ L'infrastructure du module est implant
premier type affiche au moins un caractère. Éviter les caractères
unicode compliqués aussi :-)
Création automatique des exercices de type OEF
----------------------------------------------
L'entête du fichier `src/cpp/read_program.cpp` permet de définir les exercices de type OEF qui vont être construits automatiquement par WIMS lors de l'import du module (voir section suivante).
L'entête doit être de la forme ``target=<cible1> <cible2> <cible3> ...``.
WIMS crée un exercice OEF par cible sous la forme d'un fichier `src/<cible>.oef`.
Lors de chaque exécution de l'exercice OEF `<cible>.oef`, un programme est choisi aléatoirement parmi tous les programmes de `data/static` dont le nom commence par ``<cible>``.
Il est ainsi possible de définir un exercice OEF prenant en compte tous les programmes ayant un certain thème, ou un certain thème et sous-thème, ou simplement un seul exercice (dans ce dernier cas, la cible doit être le nom du programme complet, sans l'extension ``.cpp``).
Pour chaque cible, le fichier `src/cpp/read_program.cpp` doit contenir les définitions suivantes:
Mise à jour de l'exercice sur WIMS
----------------------------------
``#if defined TARGET_<cible>
#define TARGET <cible>
#define TARGET_FR <Titre de l'exercice>
#endif``
Importer ou mettre à jour le module sur WIMS
--------------------------------------------
Lancer `make archive` dans ce répertoire. Cela créé une archive:
/tmp/modtool-test~coding~readingCppPrograms.fr.tgz
Que l'on peut charger dans son compte modtools sur sur WIMS avec:
Charger l'archive dans son compte modtools sur WIMS avec:
wims.u-psud.fr -> serveur de l'université -> Accueil WIMS -> modtools -> login -> Restauration
Documentation générique des modules WIMS
========================================
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment