From d4accf1ec68dba597141ef1765c99581ce5655be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20M=2E=20Thi=C3=A9ry?= <nthiery@users.sf.net> Date: Thu, 11 Dec 2014 00:01:27 +0100 Subject: [PATCH] WIMS: support pour les programmes dont on doit deviner l'entree --- test~coding~readingCppPrograms.fr/INDEX | 4 ++-- test~coding~readingCppPrograms.fr/Makefile | 20 +++++++++++-------- test~coding~readingCppPrograms.fr/README | 13 ++++++++++++ .../data/io_basic_input.cpp | 0 ...{tableaux_doubles_1.cpp => vector2D_1.cpp} | 0 ...{tableaux_doubles_2.cpp => vector2D_2.cpp} | 0 ...{tableaux_doubles_3.cpp => vector2D_3.cpp} | 0 ...{tableaux_doubles_4.cpp => vector2D_4.cpp} | 0 ...{tableaux_doubles_5.cpp => vector2D_5.cpp} | 0 ...{tableaux_doubles_6.cpp => vector2D_6.cpp} | 0 ...leaux_doubles_det.cpp => vector2D_det.cpp} | 0 ...doubles_loop_1.cpp => vector2D_loop_1.cpp} | 0 ...doubles_loop_2.cpp => vector2D_loop_2.cpp} | 0 ...doubles_loop_3.cpp => vector2D_loop_3.cpp} | 0 .../{guess_output.cpp => read_program.cpp} | 0 15 files changed, 27 insertions(+), 10 deletions(-) rename choose_input/data/io-basic.cpp => test~coding~readingCppPrograms.fr/data/io_basic_input.cpp (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_1.cpp => vector2D_1.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_2.cpp => vector2D_2.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_3.cpp => vector2D_3.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_4.cpp => vector2D_4.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_5.cpp => vector2D_5.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_6.cpp => vector2D_6.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_det.cpp => vector2D_det.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_loop_1.cpp => vector2D_loop_1.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_loop_2.cpp => vector2D_loop_2.cpp} (100%) rename test~coding~readingCppPrograms.fr/data/{tableaux_doubles_loop_3.cpp => vector2D_loop_3.cpp} (100%) rename test~coding~readingCppPrograms.fr/src/cpp/{guess_output.cpp => read_program.cpp} (100%) diff --git a/test~coding~readingCppPrograms.fr/INDEX b/test~coding~readingCppPrograms.fr/INDEX index 9f495c4..4bc9d25 100644 --- a/test~coding~readingCppPrograms.fr/INDEX +++ b/test~coding~readingCppPrograms.fr/INDEX @@ -2,10 +2,10 @@ # Do not edit by hand. title=Exercices de programmation C++ -description=quelques exercices de lecture et interprétation de programmes en C++. +description=quelques exercices de lecture et interprétation de programmes en C++ language=fr category=oef, exercise -domain=programming, +domain=programming, level=U1 keywords=C++ require= diff --git a/test~coding~readingCppPrograms.fr/Makefile b/test~coding~readingCppPrograms.fr/Makefile index c89cd53..b854647 100644 --- a/test~coding~readingCppPrograms.fr/Makefile +++ b/test~coding~readingCppPrograms.fr/Makefile @@ -1,7 +1,7 @@ PROGRAMS=$(wildcard data/*.cpp) -OUTPUT=$(PROGRAMS:%=%.output) -TARGETS=variable if loop function -all: data/index $(OUTPUT) +ANSWER=$(PROGRAMS:%=%.answer) +TARGETS=$(shell cd data; ls *.cpp | cut -d '_' -f 1 - | sort | uniq) +all: data/index $(ANSWER) data/index: $(PROGRAMS) cd data; \ @@ -10,18 +10,22 @@ data/index: $(PROGRAMS) (echo "$$target: "`ls -m $${target}_*.cpp`) >> index; \ done -data/%.output: data/%.bin - ./$< > $@ +data/%.answer: data/%.bin + if echo $< | grep -q _input.cpp; then \ + for i in `seq 0 99`; do if [ x`echo $$i | $<` = 'x42' ]; then echo $$i; fi; done > $@; \ + else \ + ./$< > $@; \ + fi data/%.cpp.bin: data/%.cpp - g++ $< -o $@ + g++ -Wall -Wno-sign-compare -Wno-unused-value -pedantic -std=c++11 $< -o $@ clean: - rm data/*.bin data/*.output data/index + rm data/*.bin data/*.answer data/index # Pour restauration archive: - cd ..; tar zcvf /tmp/modtool-test~coding~readingCppPrograms.fr.tgz test~coding~readingCppPrograms.fr + cd ..; tar zcf /tmp/modtool-test~coding~readingCppPrograms.fr.tgz test~coding~readingCppPrograms.fr #main.oef: header.oef programs/guess-output/*.cpp footer.oef Makefile # cd programs/guess-output; make all.oef diff --git a/test~coding~readingCppPrograms.fr/README b/test~coding~readingCppPrograms.fr/README index 2c3ad74..853af47 100644 --- a/test~coding~readingCppPrograms.fr/README +++ b/test~coding~readingCppPrograms.fr/README @@ -28,3 +28,16 @@ en changeant le nom. doit être répétée à chaque fois que les fichiers sources sont modifiés). +%%%% + +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 +0 et 99 sur l'entrée standard, et l'utilisateur doit deviner lequel +donne 42; pour l'instant il doit être unique. + +Mise à jour de l'exercice sur WIMS: + +wims.u-psud.fr -> serveur de l'université -> Accueil WIMS -> modtools -> login -> Restauration diff --git a/choose_input/data/io-basic.cpp b/test~coding~readingCppPrograms.fr/data/io_basic_input.cpp similarity index 100% rename from choose_input/data/io-basic.cpp rename to test~coding~readingCppPrograms.fr/data/io_basic_input.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_1.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_1.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_1.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_1.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_2.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_2.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_2.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_2.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_3.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_3.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_3.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_3.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_4.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_4.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_4.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_4.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_5.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_5.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_5.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_5.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_6.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_6.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_6.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_6.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_det.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_det.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_det.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_det.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_1.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_loop_1.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_1.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_loop_1.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_2.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_loop_2.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_2.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_loop_2.cpp diff --git a/test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_3.cpp b/test~coding~readingCppPrograms.fr/data/vector2D_loop_3.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/data/tableaux_doubles_loop_3.cpp rename to test~coding~readingCppPrograms.fr/data/vector2D_loop_3.cpp diff --git a/test~coding~readingCppPrograms.fr/src/cpp/guess_output.cpp b/test~coding~readingCppPrograms.fr/src/cpp/read_program.cpp similarity index 100% rename from test~coding~readingCppPrograms.fr/src/cpp/guess_output.cpp rename to test~coding~readingCppPrograms.fr/src/cpp/read_program.cpp -- GitLab