exercices/can/2e/can2F02.js

import Exercice from '../../Exercice.js'
import {
  randint, ecritureParentheseSiNegatif,
  ecritureAlgebrique, texteEnCouleur, texFractionReduite, reduireAxPlusB, simplificationDeFractionAvecEtapes, texFraction
} from '../../../modules/outils.js'
export const titre = 'Calculer une image avec un quotient'
export const interactifReady = true
export const interactifType = 'mathLive'

/**
 * Modèle d'exercice très simple pour la course aux nombres
 * @author Gilles Mora
 * Référence can2F02
 * Date de publication septembre 2021
*/
export const uuid = '8b3a9'
export const ref = 'can2F02'
export default function CalculImageQuotient () {
  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.formatChampTexte = 'largeur15 inline'
  this.nbQuestions = 1
  this.tailleDiaporama = 2
  // Dans un exercice simple, ne pas mettre de this.listeQuestions = [] ni de this.consigne

  this.nouvelleVersion = function () {
    let a, c

    a = randint(1, 5)
    const b = randint(-5, 5, 0)
    c = randint(1, 5)
    const d = randint(-5, 5, [0, b])
    const x = randint(-3, 3, 0)
    while (c * x + d === 0) {
      c = randint(1, 5)
    }
    while (a * x + b === 0) {
      a = randint(1, 5)
    }
    const e = a * x + b
    const f = c * x + d
    const expression = `\\dfrac{${reduireAxPlusB(a, b)}}{${reduireAxPlusB(c, d)}}`
    this.reponse = texFractionReduite(a * x + b, c * x + d)
    this.question = `On considère la fonction $f$ définie par $f(x)= ${expression}$. <br>

        Calculer $f(${x})$ sous la forme d'une fraction irréductible ou d'un entier le cas échéant.`
    if (a === 1 & c === 1) {
      this.correction = `$f(${x})=\\dfrac{${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(b)}}{${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(d)}}
          =${texFractionReduite(e, f)}$.<br>
          `
      this.correction += texteEnCouleur(` Mentalement : <br>
          On calcule  le numérateur et le dénominateur pour $x=${x}$, soit 
           $ ${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(b)}=${a * x + b}$ et $ ${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(d)}=${c * x + d}$.<br>
           On obtient le quotient que l'on simplifie éventuellement : $${texFraction(e, f)}${simplificationDeFractionAvecEtapes(e, f)}$.
    `)
    }
    if (a === 1 & c !== 1) {
      this.correction = `$f(${x})=\\dfrac{${x}${ecritureAlgebrique(b)}}{${c}\\times${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(d)}}
          =${texFractionReduite(e, f)}$.<br>
          `
      this.correction += texteEnCouleur(` Mentalement : <br>
          On calcule  le numérateur et le dénominateur pour $x=${x}$, soit 
           $ ${x}${ecritureAlgebrique(b)}=${a * x + b}$ et $${c}\\times ${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(d)}=${c * x + d}$.<br>
           On obtient le quotient que l'on simplifie éventuellement : $${texFraction(e, f)}${simplificationDeFractionAvecEtapes(e, f)}$.
    `)
    }
    if (a !== 1 & c === 1) {
      this.correction = `$f(${x})=\\dfrac{${a}\\times${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(b)}}{${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(d)}}
          =${texFractionReduite(e, f)}$.<br>
          `
      this.correction += texteEnCouleur(` Mentalement : <br>
          On calcule  le numérateur et le dénominateur pour $x=${x}$, soit 
           $${a}\\times ${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(b)}=${a * x + b}$ et $ ${x}${ecritureAlgebrique(d)}=${c * x + d}$.<br>
           On obtient le quotient que l'on simplifie éventuellement : $${texFraction(e, f)}${simplificationDeFractionAvecEtapes(e, f)}$.
    `)
    }
    if (a !== 1 & c !== 1) {
      this.correction = `$f(${x})=\\dfrac{${a}\\times${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(b)}}{${c}\\times${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(d)}}
          =${texFractionReduite(e, f)}$.<br>
          `
      this.correction += texteEnCouleur(` Mentalement : <br>
          On calcule  le numérateur et le dénominateur pour $x=${x}$, soit 
           $${a}\\times ${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(b)}=${a * x + b}$ et $${c}\\times ${ecritureParentheseSiNegatif(x)}${ecritureAlgebrique(d)}=${c * x + d}$.<br>
           On obtient le quotient que l'on simplifie éventuellement : $${texFraction(e, f)}${simplificationDeFractionAvecEtapes(e, f)}$.
    `)
    }
    this.canEnonce = this.question// 'Compléter'
    this.canReponseACompleter = ''
  }
}