exercices/techno1/techno1P8.js

import Exercice from '../Exercice.js'
import { listeQuestionsToContenu, combinaisonListes, randint, texNombre, texteGras } from '../../modules/outils.js'
import { min } from 'mathjs'
export const titre = 'Union et Intersection de proportions'

// Les exports suivants sont optionnels mais au moins la date de publication semble essentielle
export const dateDePublication = '26/06/2022' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag
export const dateDeModifImportante = '24/10/2021' // Une date de modification importante au format 'jj/mm/aaaa' pour affichage temporaire d'un tag

/**
 * Description didactique de l'exercice
 * @author Stéphane Guyon
 * Référence
*/
export const uuid = '1aad3'
export const ref = 'techno1P8'
export default class nomExercice extends Exercice {
  constructor () {
    super()
    this.titre = titre
    this.consigne = ''
    this.nbQuestions = 1 // Nombre de questions par défaut
    this.nbCols = 2 // Uniquement pour la sortie LaTeX
    this.nbColsCorr = 2 // Uniquement pour la sortie LaTeX
    this.video = '' // Id YouTube ou url
  }

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

    const typeQuestionsDisponibles = ['type1', 'type2'] // On créé 3 types de questions

    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, effectif, belote, tarot, inter, union, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) { // Boucle principale où i+1 correspond au numéro de la question
      switch (listeTypeQuestions[i]) { // Suivant le type de question, le contenu sera différent
        case 'type1':
          effectif = randint(22, 80)
          belote = randint(10, effectif - 10)
          tarot = randint(10, effectif - 10)
          inter = randint(3, min(belote, tarot) - 1)
          union = belote + tarot - inter
          texte = `Dans un club du 3ème age comprenant $${effectif}$ personnes, $${belote}$ jouent à la belote régulièrement,
          $${tarot}$ jouent au tarot et $${inter}$ d'entre eux pratiquent chacun des
          deux jeux de cartes. <br>
         Quelle est la proportion de personnes du club qui jouent  au tarot ${texteGras('ou')} à la belote?` // Le LateX entre deux symboles $, les variables dans des ${ }
          texteCorr = `On note :<br>
          $\\quad\\bullet\\quad p_T$ la proportion de personnes du club qui jouent au tarot.<br>
          $\\quad\\bullet\\quad p_B$ la proportion de personnes du club qui jouent à la belote.<br>
          $\\quad\\bullet\\quad p_{T\\cup B}$ la proportion de personnes du club qui jouent au tarot ${texteGras('ou')} à la belote.<br>
          $\\quad\\bullet\\quad p_{T\\cap B}$ la proportion de personnes du club qui jouent au tarot ${texteGras('et')} à la belote.<br>
        La population de référence est l'ensemble des membres du club, son effectif est $${effectif}$.<br>
        <br>D'après le cours, pour calculer la proportion d'une sous-population dans une population, on calcule :<br>
        <br>$p=\\dfrac{\\text{effectif de la sous-population}}{\\text{effectif de la population de référence}}$<br>
        <br>On a donc :  $p_T=\\dfrac{${tarot}}{${effectif}}\\quad;\\quad p_B=\\dfrac{${belote}}{${effectif}} \\quad;\\quad p_{T\\cap B}=\\dfrac{${inter}}{${effectif}}$<br>
          On sait que  $p_{T\\cup B} = p_T + p_B -  p_{T\\cap B}$.<br>
         Ce qui revient, en appliquant les données de l'énoncé, à écrire :<br>
         $p_{T\\cup B} = \\dfrac{${tarot}}{${effectif}} +\\dfrac{${belote}}{${effectif}}-\\dfrac{${inter}}{${effectif}}=\\dfrac{${union}}{${effectif}} \\approx ${texNombre(union / effectif, 2)}$<br>
         Il y a donc environ $${texNombre(100 * union / effectif, 0)}\\%$ de personnes du club qui jouent à la belote et au tarot dans ce club.<br>
         `
          break
        case 'type2':
          effectif = randint(22, 80)
          belote = randint(10, effectif - 10)
          tarot = randint(10, effectif - 10)
          inter = randint(3, min(belote, tarot) - 1)
          union = belote + tarot - inter
          texte = `Dans un club du 3ème age comprenant $${effectif}$ personnes, $${belote}$ jouent à la belote régulièrement,
          $${tarot}$ jouent au tarot et $${union}$ d'entre eux pratiquent au moins un des
          deux jeux de cartes. <br>
         Quelle est la proportion de personnes du club qui jouent au tarot ${texteGras('et')} à la belote ?` // Le LateX entre deux symboles $, les variables dans des ${ }
          texteCorr = `On note :<br>
          $\\quad\\bullet\\quad p_T$ la proportion de personnes du club qui jouent au tarot.<br>
          $\\quad\\bullet\\quad p_B$ la proportion de personnes du club qui jouent à la belote.<br>
          $\\quad\\bullet\\quad p_{T\\cup B}$ la proportion de personnes du club qui jouent au tarot ${texteGras('ou')} à la belote.<br>
          $\\quad\\bullet\\quad p_{T\\cap B}$ la proportion de personnes du club qui jouent au tarot ${texteGras('et')} à la belote.<br>
        La population de référence est l'ensemble des membres du club, son effectif est $${effectif}$.<br>
       <br>
        D'après le cours, pour calculer la proportion d'une sous-population dans une population, on calcule :<br>
        <br>$p=\\dfrac{\\text{effectif de la sous-population}}{\\text{effectif de la population de référence}}$<br>
        <br>On a donc :  $p_T=\\dfrac{${tarot}}{${effectif}}\\quad ; \\quad p_B=\\dfrac{${belote}}{${effectif}}\\quad ; \\quad p_{T\\cup B}=\\dfrac{${union}}{${effectif}}$<br>
         On note 
         On sait que  $p_{T\\cup B} = p_T + p_B -  p_{T\\cap B}$.<br>
         Ce qui revient, en appliquant les données de l'énoncé, à écrire :
         $ \\dfrac{${union}}{${effectif}}= \\dfrac{${tarot}}{${effectif}} +\\dfrac{${belote}}{${effectif}} - p_{T\\cap B}$<br>
         $p_{T\\cap B}=\\dfrac{${tarot}}{${effectif}} +\\dfrac{${belote}}{${effectif}}-\\dfrac{${union}}{${effectif}} =\\dfrac{${inter}}{${effectif}} \\approx ${texNombre(inter / effectif, 2)}$<br>
         Il y a donc environ $${texNombre(100 * inter / effectif, 0)}\\%$ de personnes du club qui jouent à la belote et au tarot dans ce club.<br>
         `
          break
      }
      // Si la question n'a jamais été posée, on l'enregistre
      if (this.questionJamaisPosee(i, texte)) { // <- laisser le i et ajouter toutes les variables qui rendent les exercices différents (par exemple a, b, c et d)
        this.listeQuestions.push(texte)
        this.listeCorrections.push(texteCorr)
        i++
      }
      cpt++
    }
    listeQuestionsToContenu(this) // On envoie l'exercice à la fonction de mise en page
  }
}