Skip to content
Snippets Groups Projects
bidule.cpp 4.08 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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}