IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation (La)TeX avancée Discussion :

fiches d'exercices aléatoires


Sujet :

Programmation (La)TeX avancée

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2012
    Messages : 50
    Points : 39
    Points
    39
    Par défaut fiches d'exercices aléatoires
    Bonjour à tous.

    J'ai créé des exercices de calcul mental avec des valeurs aléatoires. Je pensais qu'avec une boucle multido je pourrai ainsi créer des fiches d'exercices différentes pour éviter la triche, mais toutes les fiches sont identiques. Comme si seule la dernière version était prise en compte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[frenchb]{babel}
    \usepackage{Fp}
    \input{xstring}
    \usepackage{multido}
    \usepackage{multicol}
    \usepackage{enumerate}
    \usepackage{ifthen}
    %
    \newcommand*\eaddto[2]{%
    \edef\tmp{#2}%
    \expandafter\addto
    \expandafter#1%
    \expandafter{\tmp}
    }
     
     
    \expandafter\FPseed\expandafter=\pdfuniformdeviate 1000000\relax
     
    %
    %
    \begin{document}
    %
    %
    \multido{}{2}{
    %
    %
    \multido{}{20}{
    	\FPeval{\choix}{trunc(4*random+1,0)}
    %	
    	\ifthenelse{\choix=1}{%
    		\FPeval{\a}{trunc(40*random+1,0)}
    		\FPeval{\b}{trunc(40*random+1,0)}
    		\FPeval{\c}{clip(\a+\b)}
    			\eaddto{\lista}{{\a}}
    			\eaddto{\listb}{{\b}}
    			\eaddto{\listc}{{\c}}
    			\eaddto{\listsgn}{{+}}
    	}{}
    	\ifthenelse{\choix=2}{%
    		\FPeval{\abis}{trunc(40*random+1,0)}
    		\FPeval{\bbis}{trunc(40*random+1,0)}
    		\FPeval{\a}{max(\abis,\bbis)}
    		\FPeval{\b}{min(\abis,\bbis)}
    		\FPeval{\c}{clip(\a-\b)}
    			\eaddto{\lista}{{\a}}
    			\eaddto{\listb}{{\b}}
    			\eaddto{\listc}{{\c}}
    			\eaddto{\listsgn}{{-}}
    	}{}
    	\ifthenelse{\choix=3}{%
    		\FPeval{\a}{trunc(9*random+1,0)}
    		\FPeval{\b}{trunc(9*random+1,0)}
    		\FPeval{\c}{clip(\a*\b)}
    			\eaddto{\lista}{{\a}}
    			\eaddto{\listb}{{\b}}
    			\eaddto{\listc}{{\c}}
    			\eaddto{\listsgn}{{\times}}
    	}{}
    	\ifthenelse{\choix=4}{%
    		\FPeval{\b}{trunc(9*random+1,0)}
    		\FPeval{\c}{trunc(9*random+1,0)}
    		\FPeval{\a}{clip(\c*\b)}
    			\eaddto{\lista}{{\a}}
    			\eaddto{\listb}{{\b}}
    			\eaddto{\listc}{{\c}}
    			\eaddto{\listsgn}{{\div}}
    	}{}}
    %
    \section{Exercice}
    %
    Effectue les calculs ci-dessous:
    \begin{multicols}{2}
    \begin{enumerate}[(1)]
    	\multido{\n=1+1}{20}{
    	\item $\StrChar{\lista}{\n}\StrChar{\listsgn}{\n}\StrChar{\listb}{\n}=\ldots \ldots$}
    \end{enumerate}
    \end{multicols}
    %
    \section{Corrigé}
    %
    \begin{multicols}{4}
    \begin{enumerate}[(1)]
    	\multido{\n=1+1}{20}{
    	\item $\StrChar{\lista}{\n}\StrChar{\listsgn}{\n}\StrChar{\listb}{\n}=\StrChar{\listc}{\n}$}
    \end{enumerate}
    \end{multicols}
    %
    }
    %
    \end{document}

  2. #2
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2017
    Messages : 135
    Points : 283
    Points
    283
    Billets dans le blog
    1
    Par défaut
    Bonjour, cela vient du fait que vous ne réinitialisez pas vos listes après avoir généré une série de calculs. J'ai ajouté des \def\lista{} pour réinitialiser les listes sinon au deuxième exercice on lit les mêmes valeurs.

    Code latex : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[frenchb]{babel}
    \usepackage{fp}
    \usepackage{xstring}
    \usepackage{multido}
    \usepackage{multicol, enumerate}
    \usepackage{ifthen}
    %
    \newcommand*\eaddto[2]{%
    \edef\tmp{#2}%
    \expandafter\addto
    \expandafter#1%
    \expandafter{\tmp}
    }
     
     
    %\expandafter\FPseed\expandafter=\pdfuniformdeviate 1000000\relax
    \expandafter\FPseed\expandafter=\pdfuniformdeviate 1000000000\relax
     
    %
    %
    \begin{document}
    %
    %
    \multido{}{2}{%
    \def\lista{}
    \def\listb{}
    \def\listc{}
    \def\listsgn{}
    %
    %
    \multido{}{20}{
    	\FPeval{\choix}{trunc(4*random+1,0)}
    %	
    	\ifthenelse{\choix=1}{%
    		\FPeval{\a}{trunc(40*random+1,0)}
    		\FPeval{\b}{trunc(40*random+1,0)}
    		\FPeval{\c}{clip(\a+\b)}
    			\eaddto{\lista}{{\a}}
    			\eaddto{\listb}{{\b}}
    			\eaddto{\listc}{{\c}}
    			\eaddto{\listsgn}{{+}}
    	}{}
    	\ifthenelse{\choix=2}{%
    		\FPeval{\abis}{trunc(40*random+1,0)}
    		\FPeval{\bbis}{trunc(40*random+1,0)}
    		\FPeval{\a}{max(\abis,\bbis)}
    		\FPeval{\b}{min(\abis,\bbis)}
    		\FPeval{\c}{clip(\a-\b)}
    			\eaddto{\lista}{{\a}}
    			\eaddto{\listb}{{\b}}
    			\eaddto{\listc}{{\c}}
    			\eaddto{\listsgn}{{-}}
    	}{}
    	\ifthenelse{\choix=3}{%
    		\FPeval{\a}{trunc(9*random+1,0)}
    		\FPeval{\b}{trunc(9*random+1,0)}
    		\FPeval{\c}{clip(\a*\b)}
    			\eaddto{\lista}{{\a}}
    			\eaddto{\listb}{{\b}}
    			\eaddto{\listc}{{\c}}
    			\eaddto{\listsgn}{{\times}}
    	}{}
    	\ifthenelse{\choix=4}{%
    		\FPeval{\b}{trunc(9*random+1,0)}
    		\FPeval{\c}{trunc(9*random+1,0)}
    		\FPeval{\a}{clip(\c*\b)}
    			\eaddto{\lista}{{\a}}
    			\eaddto{\listb}{{\b}}
    			\eaddto{\listc}{{\c}}
    			\eaddto{\listsgn}{{\div}}
    	}{}}
    %
    \section{Exercice}
    %
    Effectue les calculs ci-dessous:
    \begin{multicols}{2}
    \begin{enumerate}[(1)]
    	\multido{\n=1+1}{20}{
    	\item $\StrChar{\lista}{\n}\StrChar{\listsgn}{\n}\StrChar{\listb}{\n}=\ldots \ldots$}
    \end{enumerate}
    \end{multicols}
    %
    \section{Corrigé}
    %
    \begin{multicols}{4}
    \begin{enumerate}[(1)]
    	\multido{\n=1+1}{20}{
    	\item $\StrChar{\lista}{\n}\StrChar{\listsgn}{\n}\StrChar{\listb}{\n}=\StrChar{\listc}{\n}$}
    \end{enumerate}
    \end{multicols}
    %
    }
     
     
     
    \end{document}

    D'autre part je ne sais pas quelle version de latex tu utilises, mais ton préambule est assez étrange. Sauf si tu as installé des packages à la main ou que certains sont dans ton dossier de travail.


    EDIT : j'avoue oublié de réinitialiser une liste

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2012
    Messages : 50
    Points : 39
    Points
    39
    Par défaut
    Bonjour.

    Merci beaucoup, en effet problème résolu. J'utilise Miktex, j'ai installé la version en 2015 et n'ai pas fait attention s'il y avait de nouvelles versions.

    Qu'est-ce qui t'as choqué ?

  4. #4
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    août 2017
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2017
    Messages : 135
    Points : 283
    Points
    283
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Dexter80 Voir le message
    Bonjour.

    Merci beaucoup, en effet problème résolu. J'utilise Miktex, j'ai installé la version en 2015 et n'ai pas fait attention s'il y avait de nouvelles versions.

    Qu'est-ce qui t'as choqué ?
    Le \input{xstring} Mais si tout marche comme ça, ne touche à rien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exercices arithmétiques aléatoires
    Par hodalgatt dans le forum Pascal
    Réponses: 1
    Dernier message: 12/05/2015, 07h27
  2. Création d'un générateur d'exercices de calcul mental aléatoire
    Par Nono Sto dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 18/03/2009, 14h02
  3. Pouvez vous m'aider a resoudres ces 3 exercices
    Par algorithmique dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 09/08/2002, 17h26
  4. [Kylix] Fiches sans bordure
    Par alex dans le forum EDI
    Réponses: 4
    Dernier message: 28/04/2002, 21h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo