Skip to content
Snippets Groups Projects
Commit f5698f31 authored by Judicael Courant's avatar Judicael Courant
Browse files

Ajout compile-and-run et bidule.

parent 193746c5
No related branches found
No related tags found
No related merge requests found
......@@ -2,8 +2,8 @@
#vm="$1"
url=http://134.158.75.207:8080/secure_exec
dir="$2"
cmd="$3"
dir="$1"
cmd="$2"
tar czf archive.tgz -C "$dir" .
......
......@@ -4,6 +4,6 @@
# - set tight resources limits
# - make this into a program rather than a shell script for a minimum of safety
g++ prog.cpp
g++ variable_echange3.cpp
exec ./a.out
#include <iostream>
using namespace std;
int main() {
int a, b, c;
a = 7;
b = 4;
c = b;
b = a;
a = c;
cout << a << endl;
cout << b << endl;
return 0;
}
target=variable io if loop function vector1D vector2D file procedure_math procedure_calling procedure_loop procedure_simplest procedure
#if defined TARGET_variable
#define TARGET variable
#define TARGET_FR variables
#endif
#if defined TARGET_io
#define TARGET io
#define TARGET_FR Entres-Sorties
#endif
#if defined TARGET_if
#define TARGET if
#define TARGET_FR conditionnelles
#endif
#if defined TARGET_loop
#define TARGET loop
#define TARGET_FR boucles
#endif
#if defined TARGET_function
#define TARGET function
#define TARGET_FR fonctions
#endif
#if defined TARGET_vector2D
#define TARGET vector2D
#define TARGET_FR tableaux 2D
#endif
#if defined TARGET_file
#define TARGET file
#define TARGET_FR Fichiers et flux
#endif
#if defined TARGET_vector1D
#define TARGET vector1D
#define TARGET_FR tableaux
#endif
#if defined TARGET_procedure_math
#define TARGET procedure_math
#define TARGET_FR Procdures et oprations mathmatiques
#endif
#if defined TARGET_procedure_loop
#define TARGET procedure_loop
#define TARGET_FR Procdures et boucles
#endif
#if defined TARGET_procedure_calling
#define TARGET procedure_calling
#define TARGET_FR Procdures appelant une procdure
#endif
#if defined TARGET_procedure_simplest
#define TARGET procedure_simplest
#define TARGET_FR Procdures simples
#endif
#if defined TARGET_procedure
#define TARGET procedure
#define TARGET_FR Procdures
#endif
\title{Comprhension de programmes C++ (TARGET_FR)}
\description{Comprhension de programmes C++ (TARGET_FR)}
\language{fr}
\niveau{U1}
\author{Nicolas M. Thiry}
\email{Nicolas.Thiery@u-psud.fr}
\format{html}
\integer{static=0}
\if{\static == 0}{
% Initialization of strings that will be randomly substituted
\integer{CI1=random(1..3)}
\integer{CI2=random(1..3)}
\text{I=shuffle(i,j,k,n)}
\text{I1=item(1,\I)}
\text{I2=item(2,\I)}
\text{I3=item(3,\I)}
\text{I4=item(4,\I)}
\text{D=shuffle(x,y,z)}
\text{D1=item(1,\D)}
\text{D2=item(2,\D)}
\text{D3=item(3,\D)}
\text{F1=f}
}
\text{module_data=modules/devel/nthiery/test~coding~readingCppPrograms.fr/data/}
\text{programs=wims(lookup TARGET in data/static/index)}
\text{program=randomitem(\programs)}
\if{\static == 1}{
\text{code=wims(record 0 of data/static/\program)}
}{
\text{code=wims(record 0 of data/\program)}
\text{code=wims(replace CI1 by \CI1 in \code)}
\text{code=wims(replace CI2 by \CI2 in \code)}
\text{code=wims(replace I1 by \I1 in \code)}
\text{code=wims(replace I2 by \I2 in \code)}
\text{code=wims(replace I3 by \I3 in \code)}
\text{code=wims(replace I4 by \I4 in \code)}
}
\integer{height=wims(linecnt \code)+3}
\integer{heightpixels=10*\height}
\if{_input.cpp isin \program}{
\text{answerstyle=text}
\text{answer=wims(lines2words wims(record 0 of data/static/\program.answer))}
}{
\text{answerstyle=symtext}
\if{\static == 1}{
\text{answer=wims(lines2words wims(record 0 of data/static/\program.answer))}
}{
\text{answer=wims(lines2words wims(exec secure_exec data/tmpdir compile_and_run))}
}
}
\css{
<script type="text/javascript" src="scripts/js/edit_area/edit_area_full.js"></script>
<script type="text/javascript">
editAreaLoader.init({
id: "wims_show"
,start_highlight: true
,allow_toggle: false
,allow_resize: true
,language: "fr"
,syntax: "cpp"
,min_height: 200
,min_width: 300
,is_editable:false
,toolbar: ""
,show_line_colors: false
});
</script>
}
\statement{
\if{_input.cpp isin \program}{
<p>Quel nombre entre 0 et 99 devrait saisir l'utilisateur pour que le programme C++ suivant affiche 42?</p>
}{
<p>Quel affichage exact produit le programme C++ suivant?</p>
<p>Les espaces, tabulations et sauts de lignes dans la rponse sont considrs comme quivalents.</p>
}
<textarea id="wims_show" cols="80" rows="\height" name="wims_show" readonly="readonly">\special{tabs2lines \code}</textarea>
}
\answer{}{\answer}{type=\answerstyle}
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