HEX
Server: Apache
System: Linux vps.mmtprep.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
User: mmtprep (1001)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/3S21-LaKJZFKB.js.map
{"version":3,"file":"3S21-LaKJZFKB.js","sources":["../../src/exercices/3e/3S21.js"],"sourcesContent":["import { choice, combinaisonListesSansChangerOrdre, shuffle } from '../../lib/outils/arrayOutils'\nimport { rangeMinMax } from '../../lib/outils/nombres.js'\nimport { numAlpha, premiereLettreEnMajuscule } from '../../lib/outils/outilString.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { contraindreValeur, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { fraction } from '../../modules/fractions.js'\nimport { Arbre } from '../../modules/arbres.js'\n\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { context } from '../../modules/context.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\nimport { tableauColonneLigne } from '../../lib/2d/tableau.js'\n\nexport const titre = 'Expérience aléatoire à deux épreuves'\nexport const dateDePublication = '15/01/2022'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n\n/**\n * On doit calculer la probabilité qu'un événement se réalise après une expérience aléatoire à deux épreuves\n * @author Jean-Claude Lhote\n * Référence 3S21\n */\nexport const uuid = '76230'\nexport const ref = '3S21'\nexport default function CalculProbaExperience2Epreuves3e () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n\n  this.besoinFormulaireTexte = ['Type de question', '1 : Deux épreuves\\n2 : Deux épreuves avec Remise\\n3 : Deux épreuves sans remise\\n4 : Mélange']\n  this.sup = 1\n  this.tailleDiaporama = 1\n  this.nbQuestions = 1\n  this.spacing = context.isHtml ? 2 : 1.5\n  this.spacingCorr = context.isHtml ? 2 : 1.5\n  this.nouvelleVersion = function () {\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = []\n    let QuestionsDisponibles = []\n\n    if (!this.sup) { // Si aucune liste n'est saisie\n      QuestionsDisponibles = rangeMinMax(1, 3)\n    } else {\n      if (typeof (this.sup) === 'number') { // Si c'est un nombre c'est que le nombre a été saisi dans la barre d'adresses\n        QuestionsDisponibles[0] = contraindreValeur(1, 3, this.sup, 2)\n      } else {\n        QuestionsDisponibles = this.sup.split('-')// Sinon on créé un tableau à partir des valeurs séparées par des -\n        for (let i = 0; i < QuestionsDisponibles.length; i++) { // on a un tableau avec des strings : ['1', '1', '2']\n          QuestionsDisponibles[i] = contraindreValeur(1, 3, parseInt(QuestionsDisponibles[i]), 2) // parseInt en fait un tableau d'entiers\n        }\n        this.nbQuestions = Math.max(this.nbQuestions, QuestionsDisponibles.length)\n      }\n    }\n    QuestionsDisponibles = combinaisonListesSansChangerOrdre(QuestionsDisponibles, this.nbQuestions)\n    for (let i = 0, cpt = 0, NoQuestion = 0, question; i < this.nbQuestions && cpt < 50;) {\n      switch (QuestionsDisponibles[i]) {\n        case 1:\n          question = unePieceDeuxUrnes(this, NoQuestion, true, false, true)\n          break\n        case 2:\n          question = urneDeuxTiragesAvecRemise(this, NoQuestion, true, false, true)\n          break\n        case 3:\n          question = urneDeuxTiragesSansRemise(this, NoQuestion, true, false, true)\n          break\n      }\n\n      if (this.questionJamaisPosee(i, ...question.alea)) {\n        this.listeQuestions.push(question.texte)\n        this.listeCorrections.push(question.texteCorr)\n        NoQuestion = question.NoQuestion\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n}\n\n// On Tire à pile ou face pour choisir une urne puis on tire une boule.\nfunction unePieceDeuxUrnes (exercice, NoQuestion, sup, sup2, sup3) {\n  const p = []\n  const choix1 = randint(0, 2)\n  const choix2 = randint(0, 2, choix1)\n  let nombres1, nombres2, n1, n2, urne1, urne2, texte, texteCorr\n  if (!sup3) {\n    nombres1 = choice([[1, 2, 3], [1, 1, 2], [1, 2, 2], [1, 1, 3]])\n    nombres2 = choice([[1, 2, 3], [1, 1, 2], [1, 2, 2], [1, 1, 3]])\n  } else {\n    nombres1 = [1, 2, 3]\n    nombres2 = [1, 2, 3]\n  }\n  const B = ['B', 'R', 'V']\n  const boules = ['bleue', 'rouge', 'verte']\n  do {\n    n1 = shuffle(nombres1)\n    n2 = shuffle(nombres2)\n  } while (n1[0] === n2[0] && n1[1] === n2[1])\n  const card1 = n1[0] + n1[1] + n1[2]\n  const card2 = n2[0] + n2[1] + n2[2]\n  if (sup2) {\n    urne1 = new Arbre({\n      racine: false,\n      rationnel: true,\n      nom: 'Pile',\n      proba: fraction(0.5),\n      visible: true,\n      alter: '',\n      enfants: []\n    })\n    urne2 = new Arbre({\n      racine: false,\n      rationnel: true,\n      nom: 'Face',\n      proba: fraction(0.5),\n      visible: true,\n      alter: '',\n      enfants: []\n    })\n    for (let j = 0; j < 3; j++) {\n      urne1.enfants.push(new Arbre({ nom: B[j], proba: fraction(n1[j], card1), rationnel: true, visible: true }))\n    }\n    for (let j = 0; j < 3; j++) {\n      urne2.enfants.push(new Arbre({ nom: B[j], proba: fraction(n2[j], card2), rationnel: true, visible: true }))\n    }\n  } else {\n    urne1 = new Arbre({\n      racine: false,\n      rationnel: true,\n      nom: 'Pile',\n      proba: fraction(0.5),\n      visible: false,\n      alter: '',\n      enfants: []\n    })\n    urne2 = new Arbre({\n      racine: false,\n      rationnel: true,\n      nom: 'Face',\n      proba: fraction(0.5),\n      visible: false,\n      alter: '',\n      enfants: []\n    })\n    for (let j = 0; j < 3; j++) {\n      for (let b = 0; b < n1[j]; b++) {\n        urne1.enfants.push(new Arbre({ nom: B[j], proba: fraction(1, card1), rationnel: true, visible: false }))\n      }\n    }\n    for (let j = 0; j < 3; j++) {\n      for (let b = 0; b < n2[j]; b++) {\n        urne2.enfants.push(new Arbre({ nom: B[j], proba: fraction(1, card2), rationnel: true, visible: false }))\n      }\n    }\n  }\n\n  // On définit l'arbre complet\n  const omega = new Arbre({\n    racine: true,\n    rationnel: true,\n    nom: '',\n    proba: 1,\n    visible: false,\n    alter: '',\n    enfants: [\n      urne1,\n      urne2\n    ]\n  })\n\n  omega.setTailles() // On calcule les tailles des arbres.\n  const objets = omega.represente(0, 11, 0, sup2 ? 2.5 : 1.2, false, -1, 6) // On crée l'arbre complet echelle 1.4 feuilles verticales sens gauche-droite\n  for (let j = 0; j < 3; j++) {\n    p[j] = omega.getProba(B[j], true) // on calcule P(C) décimale.\n  }\n  texte = 'On lance une pièce équilibrée.<br>'\n  texte += 'Si la pièce tombe sur «Pile», on tire une boule dans une urne contenant '\n  for (let j = 0; j < 2; j++) {\n    texte += `${n1[j]} boule${n1[j] > 1 ? 's' : ''} ${boules[j]}${n1[j] > 1 ? 's' : ''}, `\n  }\n  texte += ` et ${n1[2]} boule${n1[2] > 1 ? 's' : ''} ${boules[2]}${n1[2] > 1 ? 's' : ''}.<br>`\n  texte += 'Si la pièce tombe sur «Face», on tire une boule dans une urne contenant '\n  for (let j = 0; j < 2; j++) {\n    texte += `${n2[j]} boule${n2[j] > 1 ? 's' : ''} ${boules[j]}${n2[j] > 1 ? 's' : ''}, `\n  }\n  texte += ` et ${n2[2]} boule${n2[2] > 1 ? 's' : ''} ${boules[2]}${n2[2] > 1 ? 's' : ''}.<br>`\n  texte += sup ? 'On a représenté l\\'expérience par l\\'arbre ci-dessous :<br>' : ''\n  texte += sup ? mathalea2d({ xmin: -0.1, xmax: 16, ymin: 0, ymax: 12, zoom: 1.3, scale: 0.5 }, ...objets) + '<br>' : ''\n  texte += `Légende : ${B[0]} = ${boules[0]} ; ${B[1]} = ${boules[1]} ; ${B[2]} = ${boules[2]}<br>`\n  let q = 0\n  if (!exercice.interactif && !context.isAmc) {\n    texte += `${numAlpha(q)} Construire un tableau à double entrée des issues de cette expérience aléatoire.<br>`\n    q++\n  }\n  const pileOuFace = choice(['Pile', 'Face'])\n  const nbBouleC = pileOuFace === 'Pile' ? n1[choix1] : n2[choix1]\n  const card = pileOuFace === 'Pile' ? card1 : card2\n  const proba1 = fraction(nbBouleC, card)\n  const proba2 = fraction(n1[choix2] + n2[choix2], card1 + card2)\n  const urne = pileOuFace === 'Pile' ? 'première' : 'deuxième'\n  texte += `${numAlpha(q)} On vient de faire «${pileOuFace}». Donner la probabilité d'obtenir une boule ${boules[choix1]}.` + ajouteChampTexteMathLive(exercice, NoQuestion, 'largeur15 inline') + '<br>'\n  q++\n  texte += `${numAlpha(q)} On recommence l'expérience au début. Donner la probabilité d'obtenir une boule ${boules[choix2]}.` + ajouteChampTexteMathLive(exercice, NoQuestion + 1, 'largeur15 inline') + '<br>'\n  q++\n  const ligneEnt = ['\\\\text{Pièce \\\\textbackslash Boules}']\n  const colonneEnt = ['\\\\text{Pile}', '\\\\text{Face}']\n  const contenu = []\n  for (let i = 0; i < 3; i++) {\n    ligneEnt.push(boules[i])\n    contenu.push(n1[i])\n  }\n  for (let i = 0; i < 3; i++) {\n    contenu.push(n2[i])\n  }\n\n  const tableau = tableauColonneLigne(ligneEnt, colonneEnt, contenu)\n  q = 0\n  texteCorr = ''\n  if (!exercice.interactif && !context.isAmc) {\n    texteCorr += `${numAlpha(q)} L'issue «Pile-${boules[0]}» peut être obtenue de ${n1[0]} façon${n1[0] > 1 ? 's' : ''} et l'issue «Pile-${boules[1]}» peut être obtenue de ${n1[1]} façon${n1[1] > 1 ? 's' : ''}.<br>`\n    texteCorr += 'Voici un tableau à double entrée qui représente toutes les issues de cette expérience.<br><br>'\n    q++\n  }\n  texteCorr += tableau + '<br><br>'\n  texteCorr += `${numAlpha(q)} Comme on a fait ${pileOuFace}», on va tirer une boule dans la ${urne} urne où il y a ${nbBouleC} boule${nbBouleC > 1 ? 's' : ''} ${boules[choix1]}${nbBouleC > 1 ? 's' : ''} sur ${card} boules.<br>`\n  if (!context.isAmc) setReponse(exercice, NoQuestion, proba1, { formatInteractif: 'fractionEgale' })\n  q++\n  texteCorr += `La probabilité de cet événement est donc de $${proba1.texFraction}${!proba1.estIrreductible ? '=' + proba1.texFractionSimplifiee : ''}$.<br>`\n  texteCorr += `${numAlpha(q)} Il y a équiprobabilité entre toutes les issues du tableau car, d'une part, la pièce est équilibrée et, d'autre part, chaque urne contient 6 boules.<br>`\n  texteCorr += `Il y a ${n1[choix2] + n2[choix2]} issues avec une boule ${boules[choix2]} sur ${card1 + card2} issues en tout. La probabilité de cet événement est donc de $${proba2.texFraction}${!proba2.estIrreductible ? '=' + proba2.texFractionSimplifiee : ''}$.<br>`\n  if (!context.isAmc) setReponse(exercice, NoQuestion + 1, proba2, { formatInteractif: 'fractionEgale' })\n\n  return { texte, texteCorr, alea: [...n1, ...n2], NoQuestion: NoQuestion + 2 }\n}\n\n// On tire deux boules dans une urne avec remise\nfunction urneDeuxTiragesAvecRemise (exercice, NoQuestion, sup, sup2) { // tirage dans une urne avec remise\n  const [b1Color, b2Color] = shuffle(['bleue', 'rouge', 'verte', 'orange', 'noire', 'jaune']).splice(0, 2)\n\n  const b1Char = premiereLettreEnMajuscule(b1Color.charAt(0))\n  const b2Char = premiereLettreEnMajuscule(b2Color.charAt(0))\n  const nbBoule1 = randint(1, 3)\n  const nbBoule2 = nbBoule1 === 1 ? randint(2, 4) : randint(1, 3, nbBoule1)\n  const ligneEnt = ['\\\\text{Tirage1\\\\textbackslash Tirage2}']\n  const colonneEnt = []\n  const contenu = []\n  const card = nbBoule1 + nbBoule2\n  const tirage1 = []\n  for (let i = 0; i < nbBoule1; i++) {\n    tirage1.push(new Arbre({\n      nom: `${b1Char}`,\n      rationnel: true,\n      proba: fraction(1, card),\n      visible: false,\n      alter: '',\n      enfant: [],\n      racine: false\n    }))\n    for (let j = 0; j < nbBoule1; j++) {\n      tirage1[i].enfants.push(new Arbre({\n        nom: `${b1Char} `,\n        rationnel: true,\n        proba: fraction(1, card),\n        visible: false,\n        alter: '',\n        enfant: [],\n        racine: false\n      }))\n    }\n    for (let j = 0; j < nbBoule2; j++) {\n      tirage1[i].enfants.push(new Arbre({\n        nom: `${b2Char}`,\n        rationnel: true,\n        proba: fraction(1, card),\n        visible: false,\n        alter: '',\n        enfant: [],\n        racine: false\n      }))\n    }\n  }\n\n  for (let i = 0; i < nbBoule2; i++) {\n    tirage1.push(new Arbre({\n      nom: `${b2Char}`,\n      rationnel: true,\n      proba: fraction(1, card),\n      visible: false,\n      alter: '',\n      enfant: [],\n      racine: false\n    }))\n    for (let j = 0; j < nbBoule1; j++) {\n      tirage1[i + nbBoule1].enfants.push(new Arbre({\n        nom: `${b1Char} `,\n        rationnel: true,\n        proba: fraction(1, card),\n        visible: false,\n        alter: '',\n        enfant: [],\n        racine: false\n      }))\n    }\n    for (let j = 0; j < nbBoule2; j++) {\n      tirage1[i + nbBoule1].enfants.push(new Arbre({\n        nom: `${b2Char} `,\n        rationnel: true,\n        proba: fraction(1, card),\n        visible: false,\n        alter: '',\n        enfant: [],\n        racine: false\n      }))\n    }\n  }\n  const omega = new Arbre({\n    nom: '',\n    rationnel: true,\n    proba: 1,\n    visible: false,\n    alter: '',\n    enfants: tirage1,\n    racine: true\n  })\n\n  for (let i = 0; i < 2; i++) {\n    ligneEnt.push(`${i === 0 ? '\\\\text{' + b1Color + '}' : '\\\\text{' + b2Color + '}'}`)\n    colonneEnt.push(`${i === 0 ? '\\\\text{' + b1Color + '}' : '\\\\text{' + b2Color + '}'}`)\n    for (let j = 0; j < 2; j++) {\n      contenu.push((i === 0 ? nbBoule1 : nbBoule2) * (j === 0 ? nbBoule1 : nbBoule2))\n    }\n  }\n  const tableau = tableauColonneLigne(ligneEnt, colonneEnt, contenu)\n\n  omega.setTailles() // On calcule les tailles des arbres.\n  const objets = omega.represente(0, 12, 0, sup2 ? 2.5 : 1.6, false, -1, 6) // On crée l'arbre complet echelle 1.4 feuilles verticales sens gauche-droite\n  const choix = choice([[nbBoule1, b1Color, b1Char], [nbBoule2, b2Color, b2Char]])\n  const probaChoix = fraction(choix[0] ** 2, card ** 2)\n  const proba1 = fraction(nbBoule1 ** 2, card ** 2)\n  const proba2 = fraction(nbBoule2 ** 2, card ** 2)\n  const proba1et2 = proba1.sommeFraction(proba2)\n  const proba3 = fraction(nbBoule1 * nbBoule2, card ** 2)\n  const proba4 = proba3.multiplieEntier(2)\n  let texte = `Dans une urne, il y a ${nbBoule1} boule${nbBoule1 > 1 ? 's' : ''} ${b1Color}${nbBoule1 > 1 && b1Char !== 'O' ? 's' : ''} et ${nbBoule2} boule${nbBoule2 > 1 ? 's' : ''} ${b2Color}${nbBoule2 > 1 && b2Char !== 'O' ? 's' : ''} indiscernables au toucher.<br>`\n  texte += 'On tire successivement et avec remise deux boules.<br>'\n  texte += `${numAlpha(0)} Déterminer la probabilité d'obtenir deux boules ${choix[1]}${choix[2] !== 'O' ? 's' : ''}.` + ajouteChampTexteMathLive(exercice, NoQuestion, 'largeur10 inline') + '<br>'\n  texte += `${numAlpha(1)} Déterminer la probabilité d'obtenir deux boules de la même couleur.` + ajouteChampTexteMathLive(exercice, NoQuestion + 1, 'largeur10 inline') + '<br>'\n  texte += `${numAlpha(2)} Déterminer la probabilité d'obtenir deux boules de couleurs différentes.` + ajouteChampTexteMathLive(exercice, NoQuestion + 2, 'largeur10 inline') + '<br>'\n  let texteCorr = `L'issue «${b1Color}-${b1Color}» peut être obtenue de ${contenu[0]} façon${contenu[0] > 1 ? 's' : ''} et l'issue «${b1Color}-${b2Color}» peut être obtenue de ${contenu[1]} façon${contenu[1] > 1 ? 's' : ''}.<br>`\n  texteCorr += 'Voici un tableau à double entrée qui représente toutes les issues de cette expérience.<br><br>'\n  texteCorr += tableau + '<br><br>'\n  texteCorr += 'On peut aussi présenter les deux épreuves sous la forme d\\'un arbre de dénombrement :<br>'\n  texteCorr += mathalea2d({\n    xmin: 0,\n    xmax: card * 8.5,\n    ymin: 0,\n    ymax: 13,\n    zoom: 0.8,\n    scale: 9 / card / card\n  }, ...objets) + '<br>'\n  texteCorr += `Légende : ${b1Char} = ${b1Color} et ${b2Char} = ${b2Color}.<br>`\n  texteCorr += `${numAlpha(0)} L'événement «obtenir deux boules ${choix[1]}${choix[2] !== 'O' ? 's' : ''}» est réalisé par l'issue {${choix[2] + choix[2]}}.`\n  texteCorr += ` On comptabilise ${choix[0] ** 2} issues {${choix[2] + choix[2]}} sur ${card ** 2} issues en tout.<br>`\n  texteCorr += `La probabilité de cet événement est donc de $${probaChoix.texFraction}${!probaChoix.estIrreductible ? '=' + probaChoix.texFractionSimplifiee : ''}$.<br>`\n  texteCorr += `${numAlpha(1)} L'événement «obtenir deux boules de la même couleur» est réalisé par les issues {${b1Char + b1Char}, ${b2Char + b2Char}}.`\n  texteCorr += ` On comptabilise ${nbBoule1 ** 2} issues {${b1Char + b1Char}} et   ${nbBoule2 ** 2} issues {${b2Char + b2Char}} sur ${card ** 2} issues en tout.<br>`\n  texteCorr += `La probabilité de cet événement est donc de $${proba1.texFraction}+${proba2.texFraction}`\n  texteCorr += `=${proba1et2.texFraction}${!proba1et2.estIrreductible ? '=' + proba1et2.texFractionSimplifiee : ''}$.<br>`\n\n  texteCorr += `${numAlpha(2)} L'événement «obtenir deux boules de couleurs différentes» est réalisé par les issues {${b1Char + b2Char}, ${b2Char + b1Char}}.`\n  texteCorr += ` On comptabilise ${nbBoule1 * nbBoule2} issues {${b1Char + b2Char}} et autant d'issues {${b2Char + b1Char}} sur ${card ** 2} issues en tout.<br>`\n  texteCorr += `La probabilité de cet événement est donc de $2\\\\times ${proba3.texFraction}=${proba4.texFraction}${!proba4.estIrreductible ? '=' + proba4.texFractionSimplifiee : ''}$.<br>`\n  texteCorr += `Une autre façon de faire est de considérer que c'est l'événement contraire de «obtenir deux boules de la même couleur» dont on a calculé la probabilité à la question ${numAlpha(1)}.<br>`\n  texteCorr += `On peut donc calculer la probabilité de cet événement en calculant : $1 -${proba1et2.texFractionSimplifiee} = ${proba1et2.entierMoinsFraction(1).texFractionSimplifiee}$.`\n  if (!context.isAmc) setReponse(exercice, NoQuestion, probaChoix, { formatInteractif: 'fractionEgale' })\n  if (!context.isAmc) setReponse(exercice, NoQuestion + 1, proba1et2, { formatInteractif: 'fractionEgale' })\n  if (!context.isAmc) setReponse(exercice, NoQuestion + 2, proba4, { formatInteractif: 'fractionEgale' })\n\n  return { texte, texteCorr, alea: [nbBoule1, nbBoule2, b1Char, b2Char], NoQuestion: NoQuestion + 3 }\n}\n\n// On tire deux boules dans une urne sans remise\nfunction urneDeuxTiragesSansRemise (exercice, NoQuestion, sup, sup2) { // tirage dans une urne avec remise\n  const [b1Color, b2Color] = shuffle(['bleue', 'rouge', 'verte', 'orange', 'noire', 'jaune']).splice(0, 2)\n\n  const b1Char = premiereLettreEnMajuscule(b1Color.charAt(0))\n  const b2Char = premiereLettreEnMajuscule(b2Color.charAt(0))\n  const nbBoule1 = randint(2, 3)\n  const nbBoule2 = randint(2, 3, nbBoule1)\n  const ligneEnt = ['\\\\text{Tirage1\\\\textbackslash Tirage2}']\n  const colonneEnt = []\n  const contenu = []\n  const card = nbBoule1 + nbBoule2\n  const tirage1 = []\n  for (let i = 0; i < nbBoule1; i++) {\n    tirage1.push(new Arbre({\n      nom: `${b1Char}`,\n      rationnel: true,\n      proba: fraction(1, card),\n      visible: false,\n      alter: '',\n      enfant: [],\n      racine: false\n    }))\n    for (let j = 0; j < nbBoule1 - 1; j++) {\n      tirage1[i].enfants.push(new Arbre({\n        nom: `${b1Char} `,\n        rationnel: true,\n        proba: fraction(1, card),\n        visible: false,\n        alter: '',\n        enfant: [],\n        racine: false\n      }))\n    }\n    for (let j = 0; j < nbBoule2; j++) {\n      tirage1[i].enfants.push(new Arbre({\n        nom: `${b2Char}`,\n        rationnel: true,\n        proba: fraction(1, card),\n        visible: false,\n        alter: '',\n        enfant: [],\n        racine: false\n      }))\n    }\n  }\n\n  for (let i = 0; i < nbBoule2; i++) {\n    tirage1.push(new Arbre({\n      nom: `${b2Char}`,\n      rationnel: true,\n      proba: fraction(1, card),\n      visible: false,\n      alter: '',\n      enfant: [],\n      racine: false\n    }))\n    for (let j = 0; j < nbBoule1; j++) {\n      tirage1[i + nbBoule1].enfants.push(new Arbre({\n        nom: `${b1Char} `,\n        rationnel: true,\n        proba: fraction(1, card),\n        visible: false,\n        alter: '',\n        enfant: [],\n        racine: false\n      }))\n    }\n    for (let j = 0; j < nbBoule2 - 1; j++) {\n      tirage1[i + nbBoule1].enfants.push(new Arbre({\n        nom: `${b2Char} `,\n        rationnel: true,\n        proba: fraction(1, card),\n        visible: false,\n        alter: '',\n        enfant: [],\n        racine: false\n      }))\n    }\n  }\n  const omega = new Arbre({\n    nom: '',\n    rationnel: true,\n    proba: 1,\n    visible: false,\n    alter: '',\n    enfants: tirage1,\n    racine: true\n  })\n\n  for (let i = 0; i < 2; i++) {\n    ligneEnt.push(`${i === 0 ? '\\\\text{' + b1Color + '}' : '\\\\text{' + b2Color + '}'}`)\n    colonneEnt.push(`${i === 0 ? '\\\\text{' + b1Color + '}' : '\\\\text{' + b2Color + '}'}`)\n    for (let j = 0; j < 2; j++) {\n      contenu.push(i === 0 ? (j === 0 ? (nbBoule1 - 1) * nbBoule1 : nbBoule1 * nbBoule2) : (j === 0 ? nbBoule1 * nbBoule2 : nbBoule2 * (nbBoule2 - 1)))\n    }\n  }\n\n  const tableau = tableauColonneLigne(ligneEnt, colonneEnt, contenu)\n\n  omega.setTailles() // On calcule les tailles des arbres.\n  const objets = omega.represente(0, 12, 0, sup2 ? 2.5 : 1.6, false, -1, 6) // On crée l'arbre complet echelle 1.4 feuilles verticales sens gauche-droite\n  const choix = choice([[nbBoule1, b1Color, b1Char], [nbBoule2, b2Color, b2Char]])\n  const probaChoix = fraction(choix[0] ** 2 - choix[0], card ** 2 - card)\n  const proba1 = fraction(nbBoule1 ** 2 - nbBoule1, card ** 2 - card)\n  const proba2 = fraction(nbBoule2 ** 2 - nbBoule2, card ** 2 - card)\n  const proba1et2 = proba1.sommeFraction(proba2)\n  const proba3 = fraction(nbBoule1 * nbBoule2, card ** 2 - card)\n  const proba4 = proba3.multiplieEntier(2)\n  let texte = `Dans une urne, il y a ${nbBoule1} boule${nbBoule1 > 1 ? 's' : ''} ${b1Color}${nbBoule1 > 1 && b1Char !== 'O' ? 's' : ''} et ${nbBoule2} boule${nbBoule2 > 1 ? 's' : ''} ${b2Color}${nbBoule2 > 1 && b2Char !== 'O' ? 's' : ''} indiscernables au toucher.<br>`\n  texte += 'On tire successivement et sans remise deux boules.<br>'\n  texte += `${numAlpha(0)} Déterminer la probabilité d'obtenir deux boules ${choix[1]}${choix[2] !== 'O' ? 's' : ''}.` + ajouteChampTexteMathLive(exercice, NoQuestion, 'largeur10 inline') + '<br>'\n  texte += `${numAlpha(1)} Déterminer la probabilité d'obtenir deux boules de la même couleur.` + ajouteChampTexteMathLive(exercice, NoQuestion + 1, 'largeur10 inline') + '<br>'\n  texte += `${numAlpha(2)} Déterminer la probabilité d'obtenir deux boules de couleurs différentes.` + ajouteChampTexteMathLive(exercice, NoQuestion + 2, 'largeur10 inline') + '<br>'\n  let texteCorr = `L'issue «${b1Color}-${b1Color}» peut être obtenue de ${contenu[0]} façon${contenu[0] > 1 ? 's' : ''} et l'issue «${b1Color}-${b2Color}» peut être obtenue de ${contenu[1]} façon${contenu[1] > 1 ? 's' : ''}.<br>`\n  texteCorr += 'On a représenté les issues de l\\'expérience par le tableau ci-dessous :<br><br>'\n  texteCorr += tableau + '<br><br>'\n  texteCorr += 'On peut aussi présenter les issues sous la forme d\\'un arbre de dénombrement :<br>'\n  texteCorr += mathalea2d({\n    xmin: 0,\n    xmax: card * 8.5,\n    ymin: 0,\n    ymax: 13,\n    zoom: 0.8,\n    scale: 9 / card / card\n  }, ...objets) + '<br>'\n  texteCorr += `Légende : ${b1Char} = ${b1Color} et ${b2Char} = ${b2Color}.<br>`\n  texteCorr += `${numAlpha(0)} L'événement «obtenir deux boules ${choix[1]}${choix[2] !== 'O' ? 's' : ''}» est réalisé par l'issue {${choix[2] + choix[2]}}.`\n  texteCorr += ` On comptabilise ${choix[0] ** 2 - choix[0]} issues {${choix[2] + choix[2]}} sur ${card ** 2 - card} issues en tout.<br>`\n  texteCorr += `La probabilité de cet événement est donc de $${probaChoix.texFraction}${!probaChoix.estIrreductible ? '=' + probaChoix.texFractionSimplifiee : ''}$.<br>`\n  texteCorr += `${numAlpha(1)} L'événement «obtenir deux boules de la même couleur» est réalisé par les issues {${b1Char + b1Char}, ${b2Char + b2Char}}.`\n  texteCorr += ` On comptabilise ${nbBoule1 ** 2 - nbBoule1} issues {${b1Char + b1Char}} et   ${nbBoule2 ** 2 - nbBoule2} issues {${b2Char + b2Char}} sur ${card ** 2 - card} issues en tout.<br>`\n  texteCorr += `La probabilité de cet événement est donc de $${proba1.texFraction}+${proba2.texFraction}`\n  texteCorr += `=${proba1et2.texFraction}${!proba1et2.estIrreductible ? '=' + proba1et2.texFractionSimplifiee : ''}$.<br>`\n\n  texteCorr += `${numAlpha(2)} L'événement «obtenir deux boules de couleurs différentes» est réalisé par les issues {${b1Char + b2Char}, ${b2Char + b1Char}}.`\n  texteCorr += ` On comptabilise ${nbBoule1 * nbBoule2} issues {${b1Char + b2Char}} et autant d'issues {${b2Char + b1Char}} sur ${card ** 2 - card} issues en tout.<br>`\n  texteCorr += `La probabilité de cet événement est donc de $2\\\\times ${proba3.texFraction}=${proba4.texFraction}${!proba4.estIrreductible ? '=' + proba4.texFractionSimplifiee : ''}$.<br>`\n  texteCorr += `Une autre façon de faire est de considérer que c'est l'événement contraire de «obtenir deux boules de la même couleur» dont on a calculé la probabilité à la question ${numAlpha(1)}.<br>`\n  texteCorr += `On peut donc calculer la probabilité de cet événement en calculant : $1 -${proba1et2.texFractionSimplifiee} = ${proba4.texFractionSimplifiee}$.`\n  if (!context.isAmc) setReponse(exercice, NoQuestion, probaChoix, { formatInteractif: 'fractionEgale' })\n  if (!context.isAmc) setReponse(exercice, NoQuestion + 1, proba1et2, { formatInteractif: 'fractionEgale' })\n  if (!context.isAmc) setReponse(exercice, NoQuestion + 2, proba4, { formatInteractif: 'fractionEgale' })\n  return { texte, texteCorr, alea: [nbBoule1, nbBoule2, b1Char, b2Char], NoQuestion: NoQuestion + 3 }\n}\n"],"names":["titre","dateDePublication","interactifReady","interactifType","uuid","ref","CalculProbaExperience2Epreuves3e","Exercice","context","QuestionsDisponibles","rangeMinMax","contraindreValeur","i","combinaisonListesSansChangerOrdre","cpt","NoQuestion","question","unePieceDeuxUrnes","urneDeuxTiragesAvecRemise","urneDeuxTiragesSansRemise","listeQuestionsToContenu","exercice","sup","sup2","sup3","choix1","randint","choix2","nombres1","nombres2","n1","n2","urne1","urne2","texte","texteCorr","choice","B","boules","shuffle","card1","card2","Arbre","fraction","j","b","omega","objets","mathalea2d","q","numAlpha","pileOuFace","nbBouleC","card","proba1","proba2","urne","ajouteChampTexteMathLive","ligneEnt","colonneEnt","contenu","tableau","tableauColonneLigne","setReponse","b1Color","b2Color","b1Char","premiereLettreEnMajuscule","b2Char","nbBoule1","nbBoule2","tirage1","choix","probaChoix","proba1et2","proba3","proba4"],"mappings":"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"}