|
|
|
CETTE PAGE EST UN BROUILLON POUR L'INSTANT.
|
|
|
|
|
|
|
|
`handleAnswers()` est la fonction qui va permettre à MathALÉA de comparer la réponse saisie par l'utilisateur à la réponse attendue par l'exercice.
|
|
|
|
|
|
|
|
L'appel de cette fonction se fait, dans le cas général, ainsi : XXXX : Evoquer feedback
|
|
|
|
|
|
|
|
Indiquer que les feedbacks de tous les exemples ne sont pas les feedbacks définitifs mais sont des illustrations. Indiquer que les exemples n'ont pas d'intérêt pédagogique, ils sont juste là pour illustrer chacun des cas de comparaison.
|
|
|
|
|
|
|
|
`handleAnswers(this, i, {reponse: {value: reponsePrevue, compare: uneFonctionDeComparaison}})`
|
|
|
|
|
|
|
|
Ce wiki n'est pas là pour décrire l'utilisation de `handleAnswers` (pour cela, voir XXXXX) mais pour décrire les choix possibles pour _uneFonctionDeComparaison_.
|
|
|
|
|
|
|
|
C'est grâce au bon choix de _uneFonctionDeComparaison_ que le concepteur de l'exercice pourra déterminer comment comparer la réponse de l'utilisateur dans MathALÉA avec la réponse attendue qu'il aura programmée, selon le type de réponse idéale attendue. Ainsi, c'est la solution attendue qui va déterminer le bon choix de _uneFonctionDeComparaison_.
|
|
|
|
|
|
|
|
De façon exhaustive, on va lister ici (et on les retrouvera détaillés à la suite) les choix possibles de _uneFonctionDeComparaison_ selon que :
|
|
|
|
|
|
|
|
**1. [La solution attendue est un entier naturel ou relatif, un nombre décimal ou une fraction, quelle que soit la forme fournie.](#1-pour-comparer-des-nombres-entiers-décimaux-et-fractionnaires-quelle-que-soit-la-forme-fournie)**
|
|
|
|
- Ainsi, si la réponse 8 est attendue, alors l'utilisateur aura une réponse considérée correcte s'il fournit, tout aussi bien, :
|
|
|
|
- 8
|
|
|
|
- 4\*2
|
|
|
|
- 5+2+1
|
|
|
|
- 16/2
|
|
|
|
- Et cela fonctionne avec un entier, comme précédemment mais aussi avec un décimal comme 4.3 ou bien `new Decimal(5).div(8))`, mais aussi avec une fraction comme `new FractionEtendue(10, 6).texFSD`.
|
|
|
|
-
|
|
|
|
**2. [La solution attendue est un entier naturel ou relatif, un nombre décimal (ou une fraction), exclusivement sous sa forme numérique.](#2-pour-comparer-des-nombres-entiers-décimaux-et-pas-forcément-fractionnaires-exclusivement-sous-leur-forme-numérique)**
|
|
|
|
|
|
|
|
Ce cas s'applique lorsqu'on attend une réponse exclusivement numérique et pas un enchaînement de calculs. Par exemple, c'est le cas si on veut que l'élève trouve le résultat de _3+2_ mais on ne souhaite pas accepter ni _3+2_, ni toute autre opération, comme réponse car il suffirait de recopier l'énoncé pour avoir une réponse correcte.
|
|
|
|
|
|
|
|
Parfois, [on acceptera la fraction](#2a-pour-comparer-des-nombres-entiers-décimaux-et-fractionnaires-exclusivement-sous-leur-forme-numérique) et parfois [on pourra ne pas accepter la fraction](#2b-pour-comparer-des-nombres-entiers-décimaux-mais-pas-fractionnaires-exclusivement-sous-leur-forme-numérique).
|
|
|
|
|
|
|
|
**3. [La solution attendue est un calcul arithmétique.](#3-pour-comparer-des-calculs-numériques-et-non-leur-résultat)**
|
|
|
|
|
|
|
|
Ce cas s'applique lorsqu'on attend une réponse exclusivement sous forme d'un enchaînement de calculs. Par exemple, c'est le cas si on veut que l'élève résolve un problème et donne, non pas la solution numérique, mais l'opération arithmétique qui permet de résoudre ce problème.
|
|
|
|
|
|
|
|
**4. [La solution attendue est une fraction : numérateur et dénominateur entiers.](#4-pour-comparer-des-fractions-avec-des-numérateur-et-dénominateur-entiers)**
|
|
|
|
|
|
|
|
4.a. [La solution attendue est une fraction, quelle que soit la réponse fournie sous forme fractionnaire.](#4a-pour-comparer-des-fractions-égales-quelle-que-soit-la-réponse-fournie-sous-forme-fractionnaire)
|
|
|
|
|
|
|
|
Ce cas est le cas général et s'applique lorsqu'on attend comme réponse, exclusivement une fraction.
|
|
|
|
|
|
|
|
4.b. [La solution attendue est une fraction, exclusivement irréductible.](#4b-pour-comparer-des-fractions-irréductibles)
|
|
|
|
|
|
|
|
Ce cas s'applique lorsqu'on attend une réponse exclusivement sous forme d'une fraction irréductible.
|
|
|
|
|
|
|
|
4.c. [La solution attendue est une fraction, forcément simplifiée.](#4c-pour-comparer-des-fractions-simplifiées)
|
|
|
|
|
|
|
|
Ce cas s'applique lorsqu'on attend une réponse exclusivement sous forme d'une fraction simplifiée mais pas forcément irréductible. Ici, on aura deux choix possibles : soit la réponse a son couple numérateur/dénominateur qui est forcément un diviseur du couple attendu (comme 2/3 et 20/30), soit ce n'est pas forcément le cas (comme 14/21 et 20/30).
|
|
|
|
|
|
|
|
4.d. [La solution attendue est une fraction décimale.](#4d-pour-comparer-des-fractions-décimales)
|
|
|
|
|
|
|
|
Ce cas s'applique lorsqu'on attend une réponse exclusivement sous forme d'une fraction décimale.
|
|
|
|
|
|
|
|
**5. [La solution attendue est une puissance.](#5-pour-comparer-des-puissances)**
|
|
|
|
|
|
|
|
Ce cas s'applique lorsqu'on attend une réponse exclusivement sous forme d'une puissance.
|
|
|
|
|
|
|
|
**6. [La solution attendue est un ensemble de nombres.](#6-pour-comparer-des-ensembles-de-nombres)**
|
|
|
|
|
|
|
|
Un ensemble de nombres est encadré d'accolades et les nombres sont séparés par des points-virgules.
|
|
|
|
|
|
|
|
6.a. [La solution attendue est un ensemble de nombres sans contrainte de rangement de ces nombres
|
|
|
|
.](#6a-sans-contrainte-de-rangement-de-ces-nombres)
|
|
|
|
|
|
|
|
6.b. [La solution attendue est un ensemble de nombres rangés par ordre prédéfini par le concepteur de l'exercice.](#6b-rangés-par-ordre-prédéfini)
|
|
|
|
|
|
|
|
**7. [La solution attendue est une suite de nombres.](#6-pour-comparer-des-suites-de-nombres)**
|
|
|
|
|
|
|
|
Une suite de nombres n'est encadré de rien et les nombres sont séparés par des points-virgules.
|
|
|
|
|
|
|
|
7.a. [La solution attendue est une suite de nombres sans contrainte de rangement de ces nombres
|
|
|
|
.](#7a-sans-contrainte-de-rangement-de-ces-nombres)
|
|
|
|
|
|
|
|
7.b. [La solution attendue est une suite de nombres rangés par ordre prédéfini par le concepteur de l'exercice.](#7b-rangés-par-ordre-prédéfini)
|
|
|
|
|
|
|
|
**8. [Tableau synoptique](#8-tableau-synoptique)**
|
|
|
|
|
|
|
|
## 1. Pour comparer des nombres entiers décimaux et fractionnaires quelle que soit la forme fournie
|
|
|
|
|
|
|
|
Cette comparaison est la comparaison qui est la plus présente. C'est le cas général de la plupart des exercices et sera donc la fonction de comparaison par défaut. Ce sera donc `fonctionComparaison` à utiliser sans aucun paramètre et comme c'est celle par défaut, on pourra même se passer de le préciser.
|
|
|
|
|
|
|
|
- _Exemple 1_ : toutes ces lignes de code sont équivalentes.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '5', compare: fonctionComparaison}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '5'}})`
|
|
|
|
- _Exemple 2_ : toutes ces lignes de code sont équivalentes.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '0.8', compare: fonctionComparaison}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new Fraction(8,10).texFraction, compare: fonctionComparaison}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '0.8'}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new Fraction(8,10).texFraction}})`
|
|
|
|
|
|
|
|
Avec cette comparaison, alors tout nombre égal à la réponse ou bien toute opération aboutissant à la réponse désirée sera considérée correcte, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Pour une comparaison de fractions, l'image ci-dessous montre une partie de l'étendue des réponses possibles par l'élève et acceptées comme valides.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 2. Pour comparer des nombres entiers, décimaux (et pas forcément fractionnaires), exclusivement sous leur forme numérique
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé, soit au paramètre `calculSeulementEtNonOperation`, soit au paramètre `nombreDecimalSeulement`.
|
|
|
|
|
|
|
|
* La comparaison est globalement la même avec ces deux paramètres : on attend comme bonne réponse, un nombre (sous une forme non calculatoire). La différence est dans le fonctionnement suivant.
|
|
|
|
* Si la solution est 0.75, alors :
|
|
|
|
* Avec le paramètre `nombreDecimalSeulement`, ne sera pas acceptée 3/4 car on attend ici une réponse sous sa forme décimale (ou entière si besoin)
|
|
|
|
* Avec le paramètre `calculSeulementEtNonOperation`, sera aussi acceptée 3/4 car une réponse, sous sa forme fractionnaire, est aussi acceptée.
|
|
|
|
* Avec l'un ou l'autre de ces paramètres, aucun calcul (comme 1-0.25) ne sera accepté comme réponse correcte.
|
|
|
|
|
|
|
|
## 2.a. Pour comparer des nombres entiers, décimaux et fractionnaires, exclusivement sous leur forme numérique
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre `calculSeulementEtNonOperation`.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: 6, compare: fonctionComparaison, options: { calculSeulementEtNonOperation: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison associée au paramètre `calculSeulementEtNonOperation`, ne sera considéré correct que le résultat numérique de `value`, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 2.b. Pour comparer des nombres entiers, décimaux mais pas fractionnaires, exclusivement sous leur forme numérique
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre `nombreDecimalSeulement`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: -6, compare: fonctionComparaison, options: { nombreDecimalSeulement: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison associée au paramètre `nombreDecimalSeulement`, ne sera considéré correct que le résultat numérique (hors valeur fractionnaire) de `value`, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 3. Pour comparer des calculs numériques et non leur résultat
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé au paramètre `operationSeulementEtNonCalcul`.
|
|
|
|
|
|
|
|
- _Exemple_ : On pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '1+3\\times2', compare: fonctionComparaison, options: { operationSeulementEtNonCalcul: true }}})`
|
|
|
|
|
|
|
|
Avec cette comparaison, ne sera considéré correct que le calcul noté dans `value`, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Mais sera considéré aussi correct tout calcul identique à celui demandé, modulo les priorités opératoires, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 4. Pour comparer des fractions avec des numérateur et dénominateur entiers
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé, soit au paramètre `fractionEgale`, soit au paramètre `fractionIrreductible`, soit au paramètre `fractionSimplifiee`, soit au paramètre `fractionReduite`, soit au paramètre `fractionDécimale`.
|
|
|
|
|
|
|
|
* La comparaison est globalement la même avec tous paramètres : on attend comme bonne réponse, une fraction (ou un nombre entier si c'est possible). La différence est dans le type de fractions attendues.
|
|
|
|
* La comparaison de fractions même négatives est évidemment prise en compte avec l'ensemble de ces options.
|
|
|
|
|
|
|
|
### 4.a. Pour comparer des fractions égales, quelle que soit la réponse fournie sous forme fractionnaire
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé au paramètre `fractionEgale`.
|
|
|
|
|
|
|
|
- _Exemple_ : toutes ces lignes de code sont équivalentes.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(5, 3).texFSD, compare: fonctionComparaison, options: { fractionEgale: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(5, 3).toLatex(), compare: fonctionComparaison, options: { fractionEgale: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(10, 6).toLatex(), compare: fonctionComparaison, options: { fractionEgale: true }}})`
|
|
|
|
|
|
|
|
Avec cette comparaison, seront considérées correctes toute fraction égale à `value`, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
### 4.b. Pour comparer des fractions irréductibles
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé au paramètre `fractionIrreductible`.
|
|
|
|
|
|
|
|
- _Exemple_ : toutes ces lignes de code sont équivalentes.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(5, 3).texFSD, compare: fonctionComparaison, options: { fractionIrreductible: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(5, 3).toLatex(), compare: fonctionComparaison, options: { fractionIrreductible: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(10, 6).toLatex(), compare: fonctionComparaison, options: { fractionIrreductible: true }}})`
|
|
|
|
|
|
|
|
Avec cette comparaison, ne sera considérée correcte que la fraction irréductible égale à `value`, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
### 4.c Pour comparer des fractions simplifiées
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé, soit au paramètre `fractionSimplifiee`, soit au paramètre `fractionReduite`.
|
|
|
|
|
|
|
|
* La comparaison est globalement la même avec ces deux paramètres : on attend comme bonne réponse, une fraction simplifiée. La différence est dans le fonctionnement suivant.
|
|
|
|
* Si la solution est 20/30, alors :
|
|
|
|
* Avec le paramètre `fractionSimplifiee`, ne sera pas acceptée 14/21 car même si 14/21=20/30, 20 n'est pas un multiple de 14 (et 30 n'est pas un multiple de 21).
|
|
|
|
* Avec le paramètre `fractionReduite`, sera aussi acceptée 14/21 même si 20 n'est pas un multiple de 14 (et 30 n'est pas un multiple de 21).
|
|
|
|
* La gestion des fractions négatives est gérée et tout à fait fonctionnelle.
|
|
|
|
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre `fractionSimplifiee`, on pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(24, 12).toLatex(), compare: fonctionComparaison, options: { fractionSimplifiee: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison, seront considérées correctes toutes les fractions simplifiées de `value`, comme le montre l'image ci-dessous. Si la valeur numérique exacte de 'value' est entière, alors cet entier sera aussi considéré correct. Si la fraction n'est pas simplifiée par un entier, alors la réponse sera considérée fausse comme le montre la question 8 ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Avec la comparaison associée au paramètre `fractionSimplifiee`, si `value` n'a pas de valeur entière, alors toute valeur numérique décimale (même exacte) ne sera pas acceptée comme le montre l'image ci-dessus.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre `fractionReduite`, on pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(24, 12).toLatex(), compare: fonctionComparaison, options: { fractionReduite: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison associée au paramètre `fractionReduite`, seront considérées correctes toutes les fractions simplifiées de `value` à l'image de la comparaison précédente. Si la fraction n'est pas simplifiée par un entier, alors la réponse sera tout de même considérée correcte, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
### 4.d. Pour comparer des fractions décimales
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé au paramètre `fractionDecimale`.
|
|
|
|
|
|
|
|
- _Exemple_ : toutes ces lignes de code sont équivalentes.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(20, 50).toLatex(), compare: fonctionComparaison, options: { fractionDecimale: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(4, 10).toLatex(), compare: fonctionComparaison, options: { fractionDecimale: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: new FractionEtendue(40, 100).toLatex(), compare: fonctionComparaison, options: { fractionDecimale: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: 0.4, compare: fonctionComparaison, options: { fractionDecimale: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison, seront considérées correctes toutes les fractions décimales égales à `value`, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 5. Pour comparer des puissances
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé à 3 paramètres au choix : `puissance`, `seulementCertainesPuissances` ou `sansExposantUn`.
|
|
|
|
|
|
|
|
* La comparaison, par défaut, des puissances se fait avec la paramètre `puissance`: la comparaison considère correcte toute saisie, sous forme exclusive d'une puissance, égale à la réponse attendue.
|
|
|
|
|
|
|
|
- _Exemple_ : toutes ces lignes de code sont équivalentes.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '16', compare: fonctionComparaison, options: { puissance: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '2^4', compare: fonctionComparaison, options: { puissance: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '4^2', compare: fonctionComparaison, options: { puissance: true }}})`
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '16^1', compare: fonctionComparaison, options: { puissance: true }}})`
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
* Si on ne souhaite pas que toutes les puissances soient acceptées, mais seules celles que le concepteur de l'exo a choisi, alors il faudra utiliser` le paramètre `seulementCertainesPuissances`.
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre supplémentaire `seulementCertainesPuissances`, on pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: ['4^2','2^4'], compare: fonctionComparaison, options: { seulementCertainesPuissances: true }}})`
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
* Si on souhaite que toutes les puissances soient acceptées sauf celle avec l'exposant 1, alors il faudra utiliser le paramètre `sansExposantUn`.
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre supplémentaire `sansExposantUn`, on pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '2^4', compare: fonctionComparaison, options: { sansExposantUn: true }}})`
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 6. Pour comparer des ensembles de nombres
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé, soit au paramètre `ensembleDeNombres`, soit au paramètre `kUplet`.
|
|
|
|
|
|
|
|
* La comparaison est globalement la même avec ces deux paramètres : on attend comme bonne réponse, un ensemble de nombres. La différence est dans le rangement de ces nombres (croissant avec le paramètre `kUplet` et sans rangement avec paramètre `ensembleDeNombres`.
|
|
|
|
* Les ensembles sont encadrés par des accolades et des points-virgules séparent les nombres.
|
|
|
|
* Les nombres peuvent être de tout type (d'entier à irrationnel).
|
|
|
|
|
|
|
|
### 6.a. Sans contrainte de rangement de ces nombres
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé au paramètre `ensembleDeNombres`.
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre `ensembleDeNombres`, on pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '\\{1;2;3\\}', compare: fonctionComparaison, options: { ensembleDeNombres: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison associée au paramètre `ensembleDeNombres`, seront considérés corrects tous les ensembles égaux à `value`, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
### 6.b. Rangés par ordre prédéfini
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé au paramètre `kUplet`.
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre `kUplet`, on pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '\\{1;3;2\\}', compare: fonctionComparaison, options: { kUplet: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison associée au paramètre `kUplet`, sera considéré correct le seul ensemble égal à `value` dont les nombres de cet ensemble sont rangés dans l'ordre prédéfini par le concepteur d'exercice, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 7. Pour comparer des suites de nombres
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé, soit au paramètre `suiteDeNombres`, soit au paramètre `suiteRangeeDeNombres`.
|
|
|
|
|
|
|
|
* La comparaison est globalement la même avec ces deux paramètres : on attend comme bonne réponse, une suite de nombres. La différence est dans le rangement de ces nombres (croissant avec le paramètre `suiteRangeeDeNombres` et sans rangement avec paramètre `suiteDeNombres`.
|
|
|
|
* Les suites sont encadrés par rien et des points-virgules séparent les nombres.
|
|
|
|
* Les nombres peuvent être de tout type (d'entier à irrationnel).
|
|
|
|
|
|
|
|
### 7.a. Sans contrainte de rangement de ces nombres
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé au paramètre `suiteDeNombres`.
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre `suiteDeNombres`, on pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: {value: '1;3;2', compare: fonctionComparaison, options: { suiteDeNombres: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison associée au paramètre `suiteDeNombres`, seront considérées correctes toutes les suites égales à `value`, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
### 7.b. Rangés par ordre prédéfini
|
|
|
|
|
|
|
|
Cette comparaison nécessite l'usage de `fonctionComparaison` associé au paramètre `suiteRangeeDeNombres`.
|
|
|
|
|
|
|
|
- _Exemple_ : Avec le paramètre `suiteRangeeDeNombres`, on pourra utiliser une ligne de code comme ci-dessous.
|
|
|
|
- `handleAnswers(this, i, {reponse: { value: '1;3;2', compare: fonctionComparaison, options: { suiteRangeeDeNombres: true }}})`
|
|
|
|
|
|
|
|
Avec la comparaison associée au paramètre `suiteRangeeDeNombres`, sera considérée correcte la seule série égale à `value` dont les nombres de cette série sont rangés par ordre prédéfini par le concepteur d'exercice, comme le montre l'image ci-dessous.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 8. Tableau synoptique
|
|
|
|
|
|
|
|
Le tableau ci-dessous fait une petite synthèse sur les réponses correctes possibles et incorrectes selon l'option choisie dans `fonctionDeComparaison`.
|
|
|
|
|
|
|
|
| `value` | option de comparaison | Réponse correcte possible | Réponse incorrecte |
|
|
|
|
|---------|-----------------------|---------------------------|--------------------|
|
|
|
|
| '4' | _Aucune option_ | 4, 3+1, 8\\times0.5, \\frac82, \\sqrt{16}, 2\*\*2 | |
|
|
|
|
| '\\frac34' | _Aucune option_ | \\frac34, 0.75, 1-\\frac68, 1-\\frac14 | |
|
|
|
|
| '4' | calculSeulementEtNonOperation | 4,\\frac82 | 3+1, 8\\times0.5, \\sqrt{16}, 2\*\*2 |
|
|
|
|
| '4' | nombreDecimalSeulement | 4 | 3+1, 8\\times0.5, \\sqrt{16}, 2\*\*2, \\frac82 |
|
|
|
|
| '1+3' | operationSeulementEtNonCalcul | 1+3, 3+1 | 4, 3+1, 8\\times0.5, \\sqrt{16}, 2\*\*2, \\frac82 |
|
|
|
|
| '\\frac{90}{120}' | fractionEgale | \\frac{90}{120}, \\frac{9}{12}, \\frac34, \\frac68, \\frac{60}{80} | 0.75 |
|
|
|
|
| '\\frac{90}{120}' | fractionIrreductible | \\frac34 | 0.75, \\frac{90}{120}, \\frac{9}{12}, \\frac68, \\frac{60}{80} |
|
|
|
|
| '\\frac{90}{120}' | fractionSimplifiee | \\frac{9}{12}, \\frac34 | 0.75, \\frac{90}{120}, \\frac68, \\frac{60}{80} |
|
|
|
|
| '\\frac{90}{120}' | fractionReduite | \\frac{9}{12}, \\frac34, \\frac68 | 0.75, \\frac{90}{120}, \\frac68, \\frac{60}{80} |
|
|
|
|
| '\\frac{40}{100}' | fractionDecimale | \\frac{4}{10}, \\frac{40}{100}, \\frac{400}{1000} | \\frac{20}{50}, 0.4 |
|
|
|
|
| '16' | puissance | 4^2, 2^4, (-2)^4, 16^1, 256^{0.5} | 16, 1 \times 2^4|
|
|
|
|
| ['4^2','2^4]' | seulementCertainesPuissances, | 4^2, 2^4 | (-2)^4, 16^1, 256^{0.5}, 16, 1 \times 2^4|
|
|
|
|
| '16' | sansExposantUn | 4^2, 2^4, (-2)^4, 256^{0.5} | 16^1, 16, 1 \times 2^4|
|
|
|
|
| '\\{1;3;2\\}' | ensembleDeNombres | \\{1;3;2\\}, \\{1;2;3\\}, \\{3;2;1\\} | \\{1;3;2,2\\}, \\{1,2,3\\}, 1;2;3 |
|
|
|
|
| '\\{1;3;2\\}' | kUplet | \\{1;2;3\\} | \\{1;3;2\\}, \\{3;2;1\\}, \\{1;3;2,2\\}, \\{1,2,3\\}, 1;2;3 |
|
|
|
|
| '1;3;2' | suiteDeNombres | '1;2;3', '1;3;2', '3,1,2' | '\\{1;2;3\\}', '1:2:3', '1 2 3', '1-2-3' |
|
|
|
|
| '1;3;2' | suiteRangeeDeNombres | '1;3;2' | '1;2;3', '3,1,2', '\\{1;2;3\\}', '1:2:3', '1 2 3', '1-2-3' |
|
|
|
|
|
|
|
|
Les fonctions qui manquent :
|
|
|
|
|
|
|
|
- Pouvoir accepter 3\\times2 et 3+3 soient identiques dans calculSeulementEtNonOperation. |
|
|
|
\ No newline at end of file |