Forums » Utilisation d'AMC (french) »
! LaTeX error: "kernel/boolean-values-only"
Added by DENIS Sébastien almost 6 years ago
Replies (2)
RE: ! LaTeX error: "kernel/boolean-values-only"
-
Added by DENIS Sébastien almost 6 years ago
un peu plus lisible....
\newcommand{\AAC}[9]{
\StrLeft{#1}{1}[\digitUn]
\IfStrEq{\digitUn}{-}{\def\led{true}\FPeval\otDigitSigne{clip(1)}}
{\def\led{#6}\FPeval\otDigitSigne{clip(0)}}
\IfInteger{#1}
{\StrLen{#1}[\Len]\FPeval\chiffres{clip(\Len +#7 + #8 - \otDigitSigne)}\FPeval
\decimales{clip(#7)}}
{\StrLen{#1}[\Len]\StrPosition{#1}{.}[\Position]\FPeval\chiffres{clip(\Len -1 + #7 + #8 - \otDigitSigne)}\FPeval\decimales{clip(\Len - \Position + #7)}}
\FPeval\SomDigitSup{clip(#7 + #8)}
\IfEq{0}{\SomDigitSup}{\def\leStict{true}}{\def\leStict{false}}
\AMCnumericChoices{#1}{digits=\chiffres,decimals=\decimales,exact=#2,scoreexact=#3,approx=#4,scoreapprox=#5,sign=\led,vertical=#9,borderwidth=.2mm,
bordercol=gray,hspace=.2ex,vspace=0em,reverse=false,strict=\leStict,Tpoint={\Large$\prime$\vspace*{-.1em}}
}
}
RE: ! LaTeX error: "kernel/boolean-values-only"
-
Added by DENIS Sébastien almost 6 years ago
Il y a ca qui marche
avec
#1~:~valeur\\
#2~:~distance exacte . distance approximative\\%exemple: 0.3 ie distance exacte 0 dist approx 3
#3~:~nbre points si exact\\%
#4~:~ non utlisise
#5~:~points si distance approx exacte\\
#6~:~signe si positif (true false)\\
#7~:~ nbr de digit nbr de décimales a ajouter en plus\\ exemple 2.3 2digits 3decimales en notation scient ajoute 2+3 =5 decimales
#8~:~0 notation décimale n notation scientifique avec n le nombre de digits de la puissance\\
#9~:~|affichage vertical si true\\
\newcommand{\AMCNumeriqAuto}[9]{
\FPeval{\DigitNotScient}{round(#8,0)}
\FPeval{\DistExacte}{round(#2,0)}
\FPeval{\DistApprox}{round((#2 - \DistExacte)*10,0)}
\FPeval{\DigitEnPlus}{round(#7,0)}
\FPeval{\DecimalEnPlus}{round((#7 - \DigitEnPlus)*10,0)}
\StrLeft{#1}{1}[\digitUn]%recupere dans \digitUn la valeur du premier chiffre
\IfStrEq{\digitUn}{-}{\FPeval\otDigitSigne{clip(1)}}%si premier chiffreest - sign=true otDigitSigne pour le pas oter le digit du signe dans \len
{\FPeval\otDigitSigne{clip(0)}}% dans AMCnumeric sinon garde le choix indiqué par #6
\IfInteger{#1}%si le nombre est entier
{\StrLen{#1}[\Len]\FPeval\chiffres{clip(\Len +\DecimalEnPlus + \DigitEnPlus - \otDigitSigne)}
\FPeval\decimales{clip(\DecimalEnPlus)}}%-> Accolade du vrai du si
{\StrLen{#1}[\Len]\StrPosition{#1}{.}[\Position]\FPeval\chiffres{clip(\Len -1 + \DecimalEnPlus + \DigitEnPlus - \otDigitSigne)}\FPeval\decimales{clip(\Len - \Position + \DecimalEnPlus)}}%->accolade du faux si
\FPeval\decimalNotScient{clip(\chiffres-1)}
\IfStrEq{\digitUn}{-}
{\ifthenelse{\equal{\DigitNotScient}{0}}
{\AMCnumericChoices{#1}{digits=\chiffres, decimals=\decimales, exact=\DistExacte, scoreexact=#3, approx=\DistApprox, scoreapprox=#5 ,sign=true, vertical=#9, borderwidth=0.1mm, backgroundcol=lightgray!35}}
{\AMCnumericChoices{#1}{digits=\chiffres , decimals=\decimalNotScient, exact=\DistExacte, scoreexact=#3, approx=\DistApprox, scoreapprox=#5 ,sign=true, vertical=#9, borderwidth=0.1mm, exponent=\DigitNotScient, backgroundcol=lightgray!35}}
}
{\ifthenelse{\equal{\DigitNotScient}{0}}
{\AMCnumericChoices{#1}{digits=\chiffres, decimals=\decimales, exact=\DistExacte, scoreexact=#3, approx=\DistApprox, scoreapprox=#5 ,sign=#6, vertical=#9, borderwidth=0.1mm, backgroundcol=lightgray!35}}
{\AMCnumericChoices{#1}{digits=\chiffres , decimals=\decimalNotScient, exact=\DistExacte, scoreexact=#3, approx=\DistApprox, scoreapprox=#5 ,sign=#6, vertical=#9, borderwidth=0.1mm, exponent=\DigitNotScient, backgroundcol=lightgray!35}}
}
}
que l'on utilise comme suit
\begin{questionmultx}{Demarche-4:codageMasse22}
$Echantillon \, n^o 2$
masse $m_2 =$ ...237.2....
\AMCNumeriqAuto{-237.2}%valeur
{0.2}%distance exact et approximative 1.1
{1}%point
{15}%non utilisé
{.5}%point pour approximatif
{false}%affichage du signe meme si nbre positif
{0.0}% entier: nbre de digit a ajouter; decimale nbre de décimales
{2}%entier: 0 not décimale n:not scient avec n le nbre de digit pour la puissance de dix; décimale 0 1 horizontal
{true}%affichage vertical si true
\end{questionmultx}
On peut donc:afficher le nombre de digit et decimal necessaires de maniere automatique (exemple: generation de valeur aléatoire) choisir la notation décimale ou scientifique
- ajouter des digit et des decimales en notation decimale
- ajouter des decimales en notation scientifique
- afficher horizontalement ou verticalement
- choisir d'afficher ou non le signe dans le cas d'un nombre positif (affichage automatique du + - si le nbre est négatif
- choisir la distance exacte et celle approximative
- choisir le bareme pour une réponse exacte et pour une réponse approximative
je pense qu'il y a moyen d'enlever une boucle if en bas mais je n'arrive plus à faire sign=\unevariable.. ca mache pu!
(1-2/2)