exercices/2e/2N50-4.js

import Exercice from '../Exercice.js'
import { mathalea2d } from '../../modules/2dGeneralites.js'
import { randint, texNombrec, miseEnEvidence, listeQuestionsToContenu, combinaisonListes, sp, rienSi1, texFractionReduite, reduireAxPlusB, stringNombre } from '../../modules/outils.js'
import { texteSurSegment, codageSegments, codageAngleDroit, segmentAvecExtremites, milieu, labelPoint, point, segment, texteParPosition } from '../../modules/2d.js'
export const titre = 'Modéliser une situation géométrique à l\'aide d\'une équation'
export const dateDePublication = '16/12/2021'
/**
 * Description didactique de l'exercice
 * @author Gilles Mora
 * Référence
 */
export const uuid = 'cf5b7'
export const ref = '2N50-4'
export default function ModeliserEquationsGeometrie () {
  Exercice.call(this) // Héritage de la classe Exercice()
  this.consigne = ''
  this.nbQuestions = 1
  this.nbCols = 2 // Uniquement pour la sortie LaTeX
  this.nbColsCorr = 2 // Uniquement pour la sortie LaTeX
  this.sup = 1 // Niveau de difficulté
  this.tailleDiaporama = 3 // Pour les exercices chronométrés. 50 par défaut pour les exercices avec du texte
  this.video = '' // Id YouTube ou url

  this.nouvelleVersion = function () {
    this.listeQuestions = [] // Liste de questions
    this.listeCorrections = [] // Liste de questions corrigées

    const typeQuestionsDisponibles = ['typeE1', 'typeE2', 'typeE3', 'typeE4', 'typeE5', 'typeE6', 'typeE7', 'typeE8'] //
    const listeTypeQuestions = combinaisonListes(typeQuestionsDisponibles, this.nbQuestions) // Tous les types de questions sont posés mais l'ordre diffère à chaque "cycle"
    for (let i = 0, a, b, c, d, e, A, B, C, D, E, M, N, P, H, F, K, L, objets, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {
      // Boucle principale où i+1 correspond au numéro de la question
      objets = []
      switch (listeTypeQuestions[i]) { // Suivant le type de question, le contenu sera différent
        case 'typeE1':
          a = randint(1, 10)// valeur ajoutée
          d = randint(1, 7)// largeur
          b = randint(4 * d + 2 * a + 1, 50)// périmètre
          c = b - 2 * a - 2 * d
          A = point(0, 0, 'A', 'below')
          B = point(10, 0, 'B', 'below')
          C = point(10, 6, 'C')
          D = point(0, 6, 'D')

          objets.push(segment(A, B), segment(B, C), segment(D, A), segment(C, D), labelPoint(A, B, C, D))
          objets.push(texteParPosition(`x+${texNombrec(a)}`, milieu(C, D).x + 0, milieu(C, D).y + 0.7, 'milieu', 'black', 1, 'middle', true),
            texteParPosition(`${texNombrec(d)}`, milieu(A, D).x - 0.5, milieu(A, D).y, 'milieu', 'black', 1, 'middle', true))

          texte = ` Un rectangle a pour largeur $${d}$ cm et pour longueur $x$ cm.<br>
            En ajoutant $${a}$ cm à la longueur de ce rectangle, on obtient un nouveau rectangle dont le périmètre est $${b}$ cm.<br>
             Quelle est la longueur $x$ du rectangle initial ?<br>
              `
          texteCorr = ' On réalise une petite figure à main levée pour visualiser la situation :<br>'
          texteCorr += mathalea2d({ xmin: -1, ymin: -1, xmax: 12, ymax: 8, pixelsParCm: 20, mainlevee: true, amplitude: 0.5, scale: 0.7 }, objets)
          texteCorr += `<br>Le périmètre du rectangle obtenu est donnée par la formule : $2\\times (\\ell+L)$ avec $\\ell$ la largeur du rectangle et $L$ sa longueur. <br>
                  Comme $\\ell=${d}$ et $L=x+${a}$, le périmètre est donné en fonction de $x$ par :  $ 2(${d}+x+${a})=2(x+${a + d})=2x+${2 * a + 2 * d}$.<br>
       Puisque le périmètre du rectangle est $${b}$ cm, on cherche $x$ tel que :   $2x+${2 * a + 2 * d}=${b}$.<br>
       $\\begin{aligned}
       2x+${2 * a + 2 * d}&=${b}\\\\
       2x+${2 * a + 2 * d}${miseEnEvidence(-2 * a - 2 * d)}&=${b}${miseEnEvidence(-2 * a - 2 * d)}\\\\
       2x&=${b - 2 * a - 2 * d}\\\\
       x&=\\dfrac{${b - 2 * a - 2 * d}}{2}\\\\
       x&=${texNombrec(c / 2)}\\end{aligned}$<br>

       La longueur $x$ du rectangle initial est  $${texNombrec(c / 2)}$ cm.
       `
          break
        case 'typeE2':

          a = randint(1, 10)
          d = randint(1, 5)// largeur
          b = randint(d * d + d * a + 1, 100)
          c = b - 2 * a - 2 * d

          A = point(0, 0, 'A', 'below')
          B = point(10, 0, 'B', 'below')
          C = point(10, 6, 'C')
          D = point(0, 6, 'D')

          objets.push(segment(A, B), segment(B, C), segment(D, A), segment(C, D), labelPoint(A, B, C, D))
          objets.push(texteParPosition(`x+${texNombrec(a)}`, milieu(C, D).x + 0, milieu(C, D).y + 0.7, 'milieu', 'black', 1, 'middle', true),
            texteParPosition(`${texNombrec(d)}`, milieu(A, D).x - 0.5, milieu(A, D).y, 'milieu', 'black', 1, 'middle', true))
          texte = ` Un rectangle a pour largeur $${d}$ cm et pour longueur $x$ cm.<br>
             En ajoutant $${a}$ cm à la longueur de ce rectangle, on obtient un nouveau rectangle dont l'aire est $${b}$ cm$^2$.<br>
              Quelle est la longueur $x$ du rectangle initial ? <br>
              On donnera le résultat sous la forme d'une fraction irréductible ou d'un nombre entier le cas échéant.`
          texteCorr = ' On réalise une petite figure à main levée pour visualiser la situation :<br>'
          texteCorr += mathalea2d({ xmin: -1, ymin: -1, xmax: 12, ymax: 8, pixelsParCm: 20, mainlevee: true, amplitude: 0.5, scale: 0.7 }, objets)
          texteCorr += `L'aire du rectangle obtenu est donnée par la formule : $\\ell\\times L$ avec $\\ell$ la largeur du rectangle et $L$ sa longueur. <br>
                   Comme $\\ell=${d}$ et $L=x+${a}$, l'aire est donnée en fonction de $x$ par :  $ ${rienSi1(d)}\\times (x+${a})=${d}x+${d * a}$.<br>
        Puisque l'aire du rectangle est $${b}$ cm, on cherche $x$ tel que :   $${rienSi1(d)}x+${d * a}=${b}$.<br>
       $\\begin{aligned}
        ${rienSi1(d)}x+${d * a}&=${b}\\\\
        ${rienSi1(d)}x+${d * a}${miseEnEvidence(-d * a)}&=${b}${miseEnEvidence(-d * a)}\\\\
                ${rienSi1(d)}x&=${b - d * a}
        \\end{aligned}$<br>`
          if (d !== 1) {
            texteCorr += `${sp(18)}$\\begin{aligned}
          \\dfrac{${d}x}{${miseEnEvidence(d)}}&=\\dfrac{${b - d * a}}{${miseEnEvidence(d)}}\\\\
               x&=${texFractionReduite(b - d * a, d)}\\end{aligned}$<br>`
          } else { texteCorr += '' }
          texteCorr += ` La longueur $x$ du rectangle initial est  $${texFractionReduite(b - d * a, d)}$ cm.
        `
          break
        case 'typeE3':
          a = randint(1, 10)
          b = randint(a * a + 1, 100)
          A = point(0, 0, 'A', 'below')
          B = point(10, 0, 'B', 'below')
          C = point(0, 6, 'C')
          objets.push(segment(A, B), segment(B, C), segment(A, C), labelPoint(A, B, C), codageAngleDroit(B, A, C))
          objets.push(texteParPosition(`${texNombrec(a)}`, milieu(A, B).x + 0, milieu(A, B).y - 0.5, 'milieu', 'black', 1, 'middle', true),
            texteParPosition('x', milieu(A, C).x - 0.5, milieu(A, C).y, 'milieu', 'black', 1, 'middle', true))
          texte = ` Un triangle $ABC$ est rectangle en $A$. On a $AB= ${a}$ cm  et $AC= x$ cm.<br>
         Sachant que le carré de son hypoténuse est $${b}$, déterminer la valeur exacte de $x$. `
          texteCorr = ' On réalise une petite figure à main levée pour visualiser la situation :<br>'
          texteCorr += mathalea2d({ xmin: -1, ymin: -1, xmax: 12, ymax: 8, pixelsParCm: 20, mainlevee: true, amplitude: 0.5, scale: 0.7 }, objets)
          texteCorr += `Le carré de l'hypoténuse  est égal à $${b}$. On a donc $BC^2=${b}$.<br>
          Le triangle $ABC$ est rectangle en $A$, d'après le théorème de Pythagore :<br>
        $\\begin{aligned}
        AB^2+AC^2&=BC^2\\\\
        ${a * a}+x^2&=${b}\\\\
        ${a * a}+x^2${miseEnEvidence(-a * a)}&=${b} ${miseEnEvidence(-a * a)}\\\\
        x^2&=${b - a * a}\\\\
        x&=\\sqrt{${b - a * a}}${sp(10)}  \\text{car}${sp(2)} x>0
        \\end{aligned}$`

          if (b - a * a === 1 || b - a * a === 4 || b - a * a === 9 || b - a * a === 16 || b - a * a === 25 || b - a * a === 36 || b - a * a === 49 || b - a * a === 64 || b - a * a === 81 || b - a * a === 100) {
            texteCorr += `<br>
            ${sp(28)} $x=${Math.sqrt(b - a * a)}$<br>
         La valeur de $x$ cherchée est  $${Math.sqrt(b - a * a)}$.
         `
          } else {
            texteCorr += `<br>
         La valeur de $x$ cherchée est  $\\sqrt{${b - a * a}}$.
         `
          }
          break
        case 'typeE4':

          b = randint(1, 10)
          a = randint(b + 1, 15)

          M = point(0, 0, 'M', 'below')
          N = point(10, 0, 'N', 'below')
          P = point(0, 6, 'P')

          objets.push(segment(M, N), segment(N, P), segment(M, P), labelPoint(M, N, P), codageAngleDroit(N, M, P))
          objets.push(texteParPosition(`${texNombrec(a)}`, milieu(M, P).x - 0.5, milieu(M, P).y, 'milieu', 'black', 1, 'middle', true),
            texteParPosition('x', milieu(M, N).x + 0, milieu(M, N).y - 0.5, 'milieu', 'black', 1, 'middle', true),
            texteSurSegment(`$x+${texNombrec(b)}$`, P, N, 'black', 0.5))
          // texteParPosition(`$$x+$$${texNombrec(b)}`, milieu(P, N).x + 1, milieu(P, N).y, 0, 'black', 2, 'middle', true))
          texte = ` Un triangle $MNP$ est rectangle en $M$. On a $MP= ${a}$ cm  et $MN= x$ cm.<br>
             L'hypoténuse du triangle $MNP$ mesure  $${b}$ cm de plus que le côté $[MN]$.<br>
             Déterminer la valeur de $x$ sous la forme d'une fraction irréductible ou d'un nombre entier le cas échéant. `
          texteCorr = ' On réalise une petite figure à main levée pour visualiser la situation :<br>'
          texteCorr += mathalea2d({ xmin: -1, ymin: -1, xmax: 12, ymax: 8, pixelsParCm: 20, mainlevee: true, amplitude: 0.5, scale: 0.7 }, objets)
          texteCorr += `Le triangle $MNP$ est rectangle en $M$, d'après le théorème de Pythagore :<br>
            $\\begin{aligned}
            MN^2+MP^2&=PN^2\\\\
            x^2+${a}^2&=(x+${b})^2\\\\
            x^2+${a * a}&= x^2+2\\times x\\times ${b}+${b}^2\\\\
            x^2+${a * a}&= x^2+${2 * b}x+${b * b}\\\\
            ${a * a}+\\cancel{x^2}&=\\cancel{x^2}+${2 * b}x+${b * b} \\\\
            ${2 * b}x+${b * b}&=${a * a}\\\\
            ${2 * b}x+${b * b}${miseEnEvidence(-b * b)}&=${a * a}${miseEnEvidence(-b * b)}\\\\
            ${2 * b}x&=${a * a - b * b}\\\\
            \\dfrac{${2 * b}x}{${miseEnEvidence(2 * b)}}&=\\dfrac{${a * a - b * b}}{${miseEnEvidence(2 * b)}}\\\\
            x&=${texFractionReduite(a * a - b * b, 2 * b)}\\end{aligned}$<br>
             
       La valeur de $x$ cherchée est : $${texFractionReduite(a * a - b * b, 2 * b)}$.
       `

          break
        case 'typeE5':
          a = randint(1, 8)
          b = randint(a * a + 1, 100)

          texte = ` En augmentant le côté d'un carré de $${a}$ cm, son aire aumente de $${b}$ cm$^2$.<br>
      Quelle est la longueur du côté de ce carré ? <br>
      On donnera le résultat sous la forme d'une fraction irréductible ou d'un nombre entier le cas échéant.`
          texteCorr = `On note $x$ la longueur du côté du carré que l'on cherche.<br>
      La différence des aires entre les deux carrés est  $${b}$, on cherche $x$ tel que :   <br>
      $\\begin{aligned}
      (x+${a})^2-x^2&=${b}\\\\
      \\cancel{x^2}+ ${2 * a}x+${a}^2-\\cancel{x^2}&=${b}\\\\
       ${2 * a}x+${a * a}&=${b}\\\\
        ${2 * a}x+${a * a}${miseEnEvidence(-a * a)}&=${b}${miseEnEvidence(-a * a)}\\\\
         ${2 * a}x&=${b - a * a}\\\\
         \\dfrac{${2 * a}x}{${miseEnEvidence(2 * a)}}&=\\dfrac{${b - a * a}}{${miseEnEvidence(2 * a)}}\\\\
         x&=${texFractionReduite(b - a * a, 2 * a)}\\end{aligned}$
           <br>
           La longueur du côté du carré est  $${texFractionReduite(b - a * a, 2 * a)}$ cm.
 `

          break
        case 'typeE6':

          b = randint(1, 7) // petite base
          a = randint(b + 2, 14) // grande base
          d = (a - b) / 2
          e = randint(1, 10) * 2
          c = e * (a + b) / 2 // aire

          A = point(0, 0, 'A', 'below')
          H = point(9, 0, 'H', 'below')
          B = point(15, 0, 'B', 'below')
          C = point(15, 8, 'C')
          D = point(9, 8, 'D')
          E = point(0, -1, 'E')
          F = point(15, -1, 'F')

          objets.push(segment(A, D), segmentAvecExtremites(E, F), segment(A, B), segment(B, C), segment(D, C), segment(D, H), codageAngleDroit(A, B, C), codageAngleDroit(B, C, D), labelPoint(A, H, D, B, C), codageAngleDroit(B, H, D))
          objets.push(texteSurSegment(`${stringNombre(b)} cm`, D, C, 'black', +0.5), texteSurSegment(`${stringNombre(a)} cm`, E, F, 'black', -0.5), texteParPosition('x', milieu(B, C).x + 0.5, milieu(B, C).y, 'milieu', 'black', 1, 'middle', true))

          texte = ' $ABCD$ est un trapèze rectangle.<br> '

          texte += 'Le schéma ci-dessous n\'est pas à l\'échelle.<br>' + mathalea2d({ xmin: -1, ymin: -2, xmax: 16, ymax: 10, pixelsParCm: 20, scale: 1 }, objets)

          texte += `Sachant que l'aire de ce trapèze est $${c}$ cm$^2$ et en utilisant les données du graphique, déterminer la hauteur de ce trapèze.<br>
                    <br>`
          texteCorr = mathalea2d({ xmin: -1, ymin: -3, xmax: 16, ymax: 10, pixelsParCm: 20, scale: 0.7 }, objets)
          texteCorr += `<br>La  hauteur du trapèze est  $x$. Il est constitué du rectangle $HBCD$ et du triangle rectangle $AHD$. <br>
                    Son aire est donc la somme des aires de ces deux figures. <br>
                    $\\bullet~$ L' aire du rectangle $HBCD$ est : $${b}\\times x=${reduireAxPlusB(b, 0)}$.<br>
                    $\\bullet~$ L' aire de triangle rectangle $AHD$ est : $\\dfrac{(${a}-${b})\\times x}{2}=${reduireAxPlusB((a - b) / 2, 0)}$.
                    <br>
                    Puisque l'aire du trapèze est $${c}$ cm$^2$, $x$ est donc la solution de l'équation : $${reduireAxPlusB(b, 0)} + ${reduireAxPlusB((a - b) / 2, 0)}=${c}$.<br>
                    $\\begin{aligned}
                    ${reduireAxPlusB(b, 0)} + ${reduireAxPlusB((a - b) / 2, 0)}&=${c}\\\\
                    ${texNombrec(b + (a - b) / 2)}x&=${c}\\\\
                    \\dfrac{${texNombrec(b + d)}x}{${miseEnEvidence(texNombrec(b + d))}}&=\\dfrac{${c}}{${miseEnEvidence(texNombrec(b + d))}}\\\\
                    x&=${texFractionReduite(c, b + d)}
                    \\end{aligned}$<br>
                    La hauteur du trapèze est : $${texFractionReduite(c, b + d)}$ cm.`

          break
        case 'typeE7':

          a = randint(3, 8) // largeur rect
          b = randint(1, 6)// hauteur triang
          c = randint(1, 6) // valeur ajout à x
          e = randint(1, 20)
          d = (e * (2 * a + b) + 2 * a * c + c * b) / 2 // aire

          A = point(0, 0, 'A', 'below')
          H = point(5, 6, 'H', 'below')
          B = point(10, 0, 'B', 'below')
          C = point(10, 6, 'C')
          D = point(0, 6, 'D')
          E = point(5, 10, 'E')

          objets.push(segment(A, B), segment(B, C), segment(C, D), segment(A, D), segment(E, C), segment(E, D), segment(E, H), codageAngleDroit(E, H, C), labelPoint(A, H, D, B, C, E), codageSegments('//', 'blue', D, E, E, C))
          objets.push(texteParPosition(`${texNombrec(a)}`, milieu(B, C).x + 0.4, milieu(B, C).y, 'milieu', 'black', 1, 'middle', true),
            texteParPosition(`${texNombrec(b)}`, milieu(E, H).x + 0.4, milieu(E, H).y, 'milieu', 'black', 1, 'middle', true),
            texteParPosition(`x + ${texNombrec(c)}`, milieu(A, B).x + 0.4, milieu(A, B).y - 0.4, 'milieu', 'black', 1, 'middle', true))

          texte = ` La figure ci-dessous (qui n'est pas à l'échelle) est composée d'un rectangle $ABCD$ et d'un triangle isocèle $DEC$. <br>
        L'unité est le mètre.<br> ` +
        mathalea2d({ xmin: -1, ymin: -1, xmax: 12, ymax: 11, pixelsParCm: 20, scale: 1 }, objets)

          texte += `Sachant que l'aire de cette figure est $${texNombrec(d)}$ m$^2$ et en utilisant les données du graphique, déterminer la  valeur exacte de $x$.<br>
         <br>`
          texteCorr = mathalea2d({ xmin: -1, ymin: -1, xmax: 16, ymax: 11, pixelsParCm: 20, scale: 0.7 }, objets)
          texteCorr += `<br>La figure est  constituée du rectangle $ABCD$ et du triangle isocèle $DEC$.   <br>
        Son aire est donc la somme des aires de ces deux figures. <br>
        $\\bullet~$ L' aire du rectangle $ABCD$ est : $${a}\\times (x+${c})=${reduireAxPlusB(a, a * c)}$ ;<br>
        $\\bullet~$ L' aire de triangle isocèle $DEC$ est : $\\dfrac{${b}\\times(x +${c})}{2}=${texFractionReduite(b, 2)}(x+${c})=${reduireAxPlusB(b / 2, (b * c) / 2)}$.<br>
        L'aire de la figure étant $${texNombrec(d)}$ m$^2$, on cherche $x$ tel que : <br>
        $\\begin{aligned}
        (${reduireAxPlusB(a, a * c)})+(${reduireAxPlusB(b / 2, (b * c) / 2)})&=${texNombrec(d)}\\\\
        ${reduireAxPlusB(a, a * c)}+${reduireAxPlusB(b / 2, (b * c) / 2)}&=${texNombrec(d)}\\\\
        ${reduireAxPlusB(a + b / 2, a * c + (b * c) / 2)}&=${texNombrec(d)}\\\\
        ${reduireAxPlusB(a + b / 2, a * c + (b * c) / 2)}${miseEnEvidence(texNombrec(-a * c - (b * c) / 2))}&=${d}${miseEnEvidence(texNombrec(-a * c - (b * c) / 2))}\\\\
                ${reduireAxPlusB(a + b / 2, 0)}&=${reduireAxPlusB(0, d - a * c - (b * c) / 2)}\\\\
                \\dfrac{${reduireAxPlusB(a + b / 2, 0)}}{${miseEnEvidence(texNombrec(a + b / 2))}}&=\\dfrac{${texNombrec(d - a * c - (b * c) / 2)}}{${miseEnEvidence(texNombrec(a + b / 2))}}\\\\
                x&=${texFractionReduite((d - a * c - (b * c) / 2) * 10, (a + b / 2) * 10)}
                \\end{aligned}$<br> 
                La valeur de $x$ cherchée est donc : $ ${texFractionReduite((d - a * c - (b * c) / 2) * 10, (a + b / 2) * 10)}$.
                `

          break

        case 'typeE8':

          a = randint(10, 50) // longueur seg [AB]

          A = point(0, 0, 'A', 'below')
          B = point(10, 0, 'B', 'below')
          C = point(10, 6, 'C')
          D = point(4, 6, 'D')
          E = point(2, 3.46, 'E')
          M = point(4, 0, 'M', 'below')
          K = point(10, -1, 'K')
          L = point(0, -1, 'L')

          objets.push(segment(A, B), segment(A, E), segmentAvecExtremites(K, L), segment(E, M), segment(M, D), segment(B, C), segment(D, C), codageAngleDroit(B, M, D), codageAngleDroit(M, B, C), codageAngleDroit(B, C, D), codageAngleDroit(C, D, M), labelPoint(A, M, B, C, D, E), codageSegments('//', 'blue', A, E, E, M, A, M), codageSegments('/', 'blue', M, B, B, C, C, D, D, M))
          objets.push(texteParPosition('$x$', milieu(A, M).x, milieu(A, M).y - 0.3, 0, 'black', 2, 'middle', true), texteParPosition(`${texNombrec(a)}`, milieu(A, B).x, milieu(A, B).y - 1.5, 'milieu', 'black', 1, 'middle', true))

          texte = `$[AB]$ est un segment de longueur $${a}$ et $M$ est un point de ce segment.<br>
      Du même côté du segment $[AB]$, on trace le triangle équilatéral $AME$ et le carré $MBCD$.<br>
      On pose $AM=x$.<br>
     Déterminer la valeur de $x$ pour que le périmètre du triangle $AME$ soit égal à celui du carré $MBCD$.  `

          texteCorr = '<br>On réalise une figure pour visualiser la situation :<br>'
          texteCorr += mathalea2d({ xmin: -1, ymin: -3, xmax: 12, ymax: 8, pixelsParCm: 30, scale: 2 }, objets)

          texteCorr += ` Le triangle $AME$ est un triangle équilatéral de côté $x$, son périmètre est donc  $3x$.<br>
      
      Le carré $MBCD$ a pour côté $MB=${a}-x$. Son périmètre est donc : $4\\times (${a}-x)=${reduireAxPlusB(-4, 4 * a)} $.
      <br>
      On cherche $x$ tel que : <br>
      $\\begin{aligned}
      ${reduireAxPlusB(-4, 4 * a)}&=3x\\\\
      ${reduireAxPlusB(-4, 4 * a)} ${miseEnEvidence('-3\\textit{x}')}&=3x${miseEnEvidence('-3\\textit{x}')}\\\\
      ${reduireAxPlusB(-7, 4 * a)}&=0\\\\
      ${reduireAxPlusB(-7, 4 * a)}${miseEnEvidence(-4 * a)}&=0${miseEnEvidence(-4 * a)}\\\\
      \\dfrac{${reduireAxPlusB(-7, 0)}}{${miseEnEvidence('-7')}}&=\\dfrac{${reduireAxPlusB(0, -4 * a)}}{${miseEnEvidence('-7')}}\\\\
      x&=${texFractionReduite(-4 * a, -7)}
      \\end{aligned}$<br>
      Les deux périmètres sont égaux lorsque  : $x=${texFractionReduite(-4 * a, -7)}$.
      `
          break
      }
      if (this.listeQuestions.indexOf(texte) === -1) {
        // Si la question n'a jamais été posée, on en crée une autre
        this.listeQuestions.push(texte)
        this.listeCorrections.push(texteCorr)
        i++
      }
      cpt++
    }
    listeQuestionsToContenu(this)
  }
  // this.besoinFormulaireNumerique = ['Niveau de difficulté', 2,'1 : Facile\n2 : Difficile'];
}