exercices/can/1e/can1F07.js

import Exercice from '../../Exercice.js'
import { choice, randint, ecritureAlgebrique, reduirePolynomeDegre3, reduireAxPlusB, rienSi1, ecritureParentheseSiNegatif, texNombre, simplificationDeFractionAvecEtapes } from '../../../modules/outils.js'
import Decimal from 'decimal.js'
import { fraction } from '../../../modules/fractions.js'
export const titre = 'Déterminer une équation de l’axe de symétrie d’une parabole'
export const interactifReady = true
export const interactifType = 'mathLive'
export const dateDePublication = '15/06/2022'

/**
 *
 * @author Gilles Mora
 * Référence can1F07
*/
export const uuid = '5b203'
export const ref = 'can1F07'
export default function AxeSymetrieParabole () {
  Exercice.call(this) // Héritage de la classe Exercice()
  this.typeExercice = 'simple' // Cette ligne est très importante pour faire faire un exercice simple !
  this.nbQuestions = 1
  // Dans un exercice simple, ne pas mettre de this.listeQuestions = [] ni de this.consigne
  this.formatChampTexte = 'largeur15 inline'
  this.nouvelleVersion = function () {
    let a, x1, x2, somme, moinsb, b, c, f, alpha, beta
    switch (choice([1, 2, 3])) {
      case 1:// forme factorisée
        a = randint(-9, 9, 0)
        x1 = randint(-9, 9)
        x2 = randint(-9, 9, [0, x1])
        somme = new Decimal(x1 + x2)
        if (x1 === 0) {
          this.question = `Soit $f$ la fonction définie sur $\\mathbb{R}$ par : 
      $f(x)=${rienSi1(a)}x(${reduireAxPlusB(1, -x2)})$. <br>
      
      `
        } else {
          this.question = `Soit $f$ la fonction définie sur $\\mathbb{R}$ par : 
      $f(x)=${rienSi1(a)}(${reduireAxPlusB(1, -x1)})(${reduireAxPlusB(1, -x2)})$. <br>
      
      `
        }

        this.question += 'Donner une équation de l\'axe de symétrie de la parabole représentant $f$.'

        this.correction = `$f$ est une fonction polynôme du second degré écrite sous forme factorisée $a(x-x_1)(x-x_2)$.<br>
    Les racines sont donc $x_1=${x1}$ et $x_2=${x2}$.<br>
    L'axe de symétrie a pour équation $x=\\dfrac{x_1+x_2}{2}$. <br>
    On obtient alors  $x=\\dfrac{${x1}+${ecritureParentheseSiNegatif(x2)}}{2}$, soit $x=\\dfrac{${x1 + x2}}{2}$ ou encore $x=${texNombre((x1 + x2) / 2, 1)}$. `
        if (x1 + x2 < 0) {
          this.reponse = [`x=${somme.div(2)}`, `x=\\dfrac{${somme}}{2}`, `x+\\dfrac{${-somme}}{2}=0`, `x+${-somme.div(2)}=0`]
        } else { this.reponse = [`x=${somme.div(2)}`, `x=\\dfrac{${somme}}{2}`, `x-\\dfrac{${somme}}{2}=0`, `x-${somme.div(2)}=0`] }
        break

      case 2:// forme développée
        a = randint(-3, 3, 0)
        b = randint(-9, 9)
        c = randint(-10, 10)
        moinsb = new Decimal(-b)
        f = fraction(-b, 2 * a)
        this.question = `Soit $f$ la fonction définie sur $\\mathbb{R}$ par : 
      $f(x)=${reduirePolynomeDegre3(0, a, b, c)}$. <br>
      
      `

        this.question += 'Donner une équation de l\'axe de symétrie de la parabole représentant $f$.'

        this.correction = `$f$ est une fonction polynôme du second degré écrite sous forme développée $ax^2+bx+c$.<br>
    Le sommet de la parabole a pour abscisse $-\\dfrac{b}{2a}$.<br>
        L'axe de symétrie a donc pour équation $x=-\\dfrac{b}{2a}$. <br>
    On obtient alors  $x=-\\dfrac{${b}}{2\\times ${ecritureParentheseSiNegatif(a)}}$, soit $x=\\dfrac{${-b}}{${2 * a}}${simplificationDeFractionAvecEtapes(-b, 2 * a)}$. `
        if (moinsb.div(2 * a) < 0) {
          this.reponse = [`x=${moinsb.div(2 * a)}`, `x=\\dfrac{${moinsb}}{${2 * a}}`,
          `x+${moinsb.div(-2 * a)}=0`, `x+\\dfrac{${moinsb}}{${-2 * a}}=0`, `x=${f}`, `x+${-f}=0`]
        } else {
          this.reponse = [`x=${moinsb.div(2 * a)}`, `x=\\dfrac{${moinsb}}{${2 * a}}`, `x-\\dfrac{${moinsb}}{${2 * a}}=0`,
         `x-${moinsb.div(2 * a)}=0`, `x=${f}`, `x-${f}=0`]
        }
        break

      case 3:// forme canonique
        a = randint(-9, 9, 0)
        alpha = randint(-9, 9)
        beta = randint(-10, 10)

        this.question = `Soit $f$ la fonction définie sur $\\mathbb{R}$ par : 
      $f(x)=${rienSi1(a)}(x${ecritureAlgebrique(-alpha)})^2${ecritureAlgebrique(beta)}$. <br>
      
      `

        this.question += 'Donner une équation de l\'axe de symétrie de la parabole représentant $f$.'

        this.correction = `$f$ est une fonction polynôme du second degré écrite sous forme canonique $a(x-\\alpha)^2+\\beta$.<br>
        L'axe de symétrie a pour équation $x=\\alpha$. <br>
    On obtient alors  $x=${alpha}$. `

        this.reponse = [`x=${alpha}`,
          `x${ecritureAlgebrique(-alpha)}=0`]
        break
    }
    this.canEnonce = this.question
    this.canReponseACompleter = ''
  }
}