File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/can5a-2021-sEEDvPPN.js.map
{"version":3,"file":"can5a-2021-sEEDvPPN.js","sources":["../../src/exercices/can/5e/can5a-2021.js"],"sourcesContent":["import { codageAngle } from '../../../lib/2d/angles.js'\nimport { codageSegment } from '../../../lib/2d/codages.js'\nimport { milieu, point } from '../../../lib/2d/points.js'\nimport { droiteGraduee } from '../../../lib/2d/reperes.js'\nimport { segment } from '../../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint, texteParPosition } from '../../../lib/2d/textes.js'\nimport { choice, shuffle } from '../../../lib/outils/arrayOutils'\nimport { miseEnEvidence } from '../../../lib/outils/embellissements'\nimport { simplificationDeFractionAvecEtapes } from '../../../lib/outils/deprecatedFractions.js'\nimport { arrondi } from '../../../lib/outils/nombres'\nimport { sp } from '../../../lib/outils/outilString.js'\nimport { stringNombre, texNombre } from '../../../lib/outils/texNombre'\nimport Exercice from '../../deprecatedExercice.js'\nimport { mathalea2d } from '../../../modules/2dGeneralites.js'\nimport { fraction, obtenirListeFractionsIrreductibles } from '../../../modules/fractions.js'\nimport { min, round } from 'mathjs'\nimport { calculANePlusJamaisUtiliser, listeQuestionsToContenu, printlatex, randint } from '../../../modules/outils.js'\n\nimport { ajouteChampTexteMathLive } from '../../../lib/interactif/questionMathLive.js'\nimport { setReponse } from '../../../lib/interactif/gestionInteractif.js'\nimport { tableauColonneLigne } from '../../../lib/2d/tableau.js'\n\nexport const titre = 'CAN 5e sujet 2021'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n// Les exports suivants sont optionnels mais au moins la date de publication semble essentielle\nexport const dateDePublication = '30/03/2022' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\n// export const dateDeModifImportante = '24/10/2021' // Une date de modification importante au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\n\n/**\n * Description didactique de l'exercice\n * Gilles Mora\n * Référence\n */\n\nfunction compareNombres (a, b) {\n return a - b\n}\n\nexport const uuid = '339a1'\nexport const ref = 'can5a-2021'\nexport default function SujetCAN20215ieme () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.titre = titre\n this.interactifReady = interactifReady\n this.interactifType = interactifType\n this.nbQuestions = 30\n this.nbCols = 1\n this.nbColsCorr = 1\n this.comment = `Cet exercice fait partie des annales des Courses aux nombres.<br>\n Il est composé de 30 questions réparties de la façon suivante :<br>\n les 10 premières questions parfois communes à plusieurs niveaux font appels à des questions automatisées élémentaires et les 20 suivantes (qui ne sont pas rangées dans un ordre de difficulté) sont un peu plus « coûteuses » cognitivement.<br>\n Par défaut, les questions sont rangées dans le même ordre que le sujet officiel avec des données aléatoires. Ainsi, en cliquant sur « Nouvelles données », on obtient une nouvelle course aux nombres avec des données différentes.\n En choisissant un nombre de questions différents de 30, on fabrique une « mini » course aux nombres qui respecte la proportion de nombre de questions élémentaires par rapport aux autres.\n Par exemple, en choisissant 20 questions, la course aux nombres sera composée de 7 questions automatisées élémentaires choisies aléatoirement dans les 10 premières questions du sujet officiel puis de 13 autres questions choisies aléatoirement parmi les 20 autres questions du sujet officiel.`\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.listeCanEnonces = []\n this.listeCanReponsesACompleter = []\n const nbQ1 = min(round(this.nbQuestions * 8 / 30), 8) // Choisir d'un nb de questions de niveau 1 parmi les 7 possibles.\n const nbQ2 = min(this.nbQuestions - nbQ1, 22)\n const typeQuestionsDisponiblesNiv1 = shuffle([1, 2, 3, 4, 5, 6, 7, 8]).slice(-nbQ1).sort(compareNombres)\n const typeQuestionsDisponiblesNiv2 = shuffle([9, 10,\n 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,\n 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]).slice(-nbQ2).sort(compareNombres)\n const typeQuestionsDisponibles = (typeQuestionsDisponiblesNiv1.concat(typeQuestionsDisponiblesNiv2))\n const listeFractions13 = [[12, 5], [11, 5], [13, 5], [17, 5], [19, 5],\n [27, 5], [18, 5], [29, 5], [10, 3], [19, 3], [17, 3], [16, 3], [23, 3],\n [29, 3], [29, 7], [17, 7], [15, 7], [13, 7], [17, 7]]\n const listeFractions22 = [[1, 4], [3, 4], [1, 25], [2, 25], [3, 25],\n [4, 25], [1, 20], [3, 20], [7, 20], [5, 4]\n ]\n\n const listeFractions25 = [[8, 5, 2, 3], [3, 4, 4, 3], [7, 3, 5, 6], [7, 9, 11, 8],\n [11, 9, 7, 8], [1, 3, 7, 6], [11, 7, 12, 13]\n ]\n const listeFractions25B = [[2, 7, 3, 8], [8, 3, 13, 6], [9, 7, 5, 4], [4, 7, 5, 8],\n [11, 9, 4, 3], [1, 3, 6, 7], [11, 7, 9, 5]\n ]\n\n for (let i = 0, index = 0, nbChamps, texte, texteCorr, reponse, nombre, a1, b1, f, fraction1 = [], fraction2 = [], propositions, prix, choix, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, code1, code2, code3, code4, code5, code6, code7, code8, code9, code10, code11, code12, truc, a, b, c, d, e, m, p, k, A, B, C, D, E, F, G, H, I, J, K, L, xmin, xmax, ymin, ymax, objets, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n switch (typeQuestionsDisponibles[i]) {\n case 1:\n a = randint(4, 9)\n b = randint(4, 9)\n texte = `$${a} \\\\times ${b}=$ `\n texteCorr = `$${a} \\\\times ${b}=${a * b}$`\n reponse = a * b\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n\n break\n\n case 2:\n a = calculANePlusJamaisUtiliser(randint(6, 12) * 4)\n b = calculANePlusJamaisUtiliser(randint(6, 15) * 3)\n m = choice(['quart', 'tiers'])\n\n if (m === 'quart') {\n texte = `Le quart de $${a}$ est : `\n texteCorr = `Prendre le quart d'un nombre revient à le diviser par $4$.<br>\n Ainsi le quart de $${a}$ est : $${a}\\\\div 4 =${texNombre(a / 4)}$.`\n reponse = a / 4\n }\n if (m === 'tiers') {\n texte = `Le tiers de $${b}$ est : `\n texteCorr = `Prendre le tiers d'un nombre revient à le diviser par $3$.<br>\n Ainsi le tiers de $${b}$ est : $${b}\\\\div 3 =${texNombre(b / 3)}$.`\n reponse = b / 3\n }\n\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n break\n\n case 3:\n\n a = randint(101, 121)\n b = randint(21, 45)\n\n reponse = a - b\n texte = `$${a} - ${b}=$ `\n texteCorr = `$${a}-${b}=${a - b}$`\n reponse = calculANePlusJamaisUtiliser(a - b)\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n break\n\n case 4:\n\n a = calculANePlusJamaisUtiliser(randint(3, 9) + randint(1, 4) / 10)\n b = calculANePlusJamaisUtiliser(randint(1, 5) / 10 + randint(2, 9) / 100)\n texte = `$${texNombre(a)}+${texNombre(b)}=$ `\n texteCorr = `$${texNombre(a)}+${texNombre(b)}=${texNombre(a + b)}$ `\n reponse = calculANePlusJamaisUtiliser(a + b)\n\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n break\n\n case 5:\n a = randint(11, 18)\n b = randint(3, 5)\n c = a * b\n if (choice([true, false])) {\n texte = `Complète : <br>$${a}\\\\times .... =${c}$`\n texteCorr = `$${a}\\\\times ${miseEnEvidence(b)} =${c}$`\n } else {\n texte = `Complète :<br> $ .... \\\\times ${a}=${c}$`\n texteCorr = `$ ${miseEnEvidence(b)} \\\\times ${a}=${c}$`\n }\n reponse = b\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n break\n\n case 6:\n a = calculANePlusJamaisUtiliser(randint(1, 9) * 10 + randint(1, 9) + 0.9 + randint(1, 9) / 100)\n b = calculANePlusJamaisUtiliser(randint(1, 9) * 10 + randint(1, 9) / 10 + 0.09 + randint(1, 9) / 1000)\n\n if (choice([true, false])) {\n texte = `Quel nombre obtient-on si on ajoute un dixième à $${texNombre(a)}$ ?`\n texteCorr = `$1$ dixième $=0,1$, d'où $${texNombre(a)}+0,1 =${texNombre(a + 0.1)}$`\n reponse = arrondi(a + 0.1, 2)\n } else {\n texte = `Quel nombre obtient-on si on ajoute un centième à $${texNombre(b)}$ ?`\n texteCorr = `$1$ centième $=0,01$, d'où $${texNombre(b)}+0,01 =${texNombre(b + 0.01)}$`\n reponse = arrondi(b + 0.01, 3)\n }\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n break\n\n case 7:\n a = randint(1, 9)\n b = randint(1, 9, a)\n\n k = calculANePlusJamaisUtiliser(a * 100 + b * 10)\n d = choice([0.1, 0.01, 0.001])\n reponse = calculANePlusJamaisUtiliser(k * d)\n\n if (d === 0.1) {\n texte = `$${k}\\\\times ${texNombre(d)}=$`\n texteCorr = `$${k}\\\\times ${texNombre(d)}=${texNombre(reponse)}$`\n texteCorr += `<br>\n Multiplier par $0,1$ revient à diviser par $10$. <br>\n $${k}\\\\times ${texNombre(d)}=${k}\\\\div 10=${a}${b},\\\\underline{0}$.<br>\n `\n }\n if (d === 0.01) {\n texte = `$${k}\\\\times ${texNombre(d)}=$`\n texteCorr = `$${k}\\\\times ${texNombre(d)}=${texNombre(reponse)}$`\n texteCorr += ` <br> Multiplier par $0,01$ revient à diviser par $100$. <br>\n $${k}\\\\times ${texNombre(d)}=${k}\\\\div 100=${a},${b}\\\\underline{0}$.<br>\n `\n }\n if (d === 0.001) {\n texte = `$${k}\\\\times ${texNombre(d)}=$`\n texteCorr = `$${k}\\\\times ${texNombre(d)}=${texNombre(reponse)}$`\n texteCorr += `<br>\n Multiplier par $0,001$ revient à diviser par $1000$. <br>\n $${k}\\\\times ${texNombre(d)}=${k}\\\\div 1000=0,${a}${b}\\\\underline{0}$.<br>\n `\n }\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n break\n\n case 8:\n a = randint(2, 5)\n b = randint(2, 9)\n c = randint(2, 9)\n\n if (choice([true, false])) {\n reponse = calculANePlusJamaisUtiliser(a * 10000 + b * 100 + c * 10)\n texte = `$${texNombre(a)}\\\\times ${texNombre(10000)} + ${texNombre(b)}\\\\times 100 + ${texNombre(c)}\\\\times 10=$`\n texteCorr = `$${texNombre(a)}\\\\times ${texNombre(1000)} + ${texNombre(b)}\\\\times 100 + ${texNombre(c)}\\\\times 10 =\n ${texNombre(a * 10000)} + ${texNombre(b * 100)} + ${texNombre(c * 10)}=${texNombre(reponse)}$`\n } else {\n reponse = calculANePlusJamaisUtiliser(c * 10000 + b * 1000 + a * 10)\n texte = `$ ${texNombre(c)}\\\\times ${texNombre(10000)}+ ${texNombre(b)}\\\\times ${texNombre(1000)} + ${texNombre(a)}\\\\times 10 =$`\n texteCorr = `$ ${texNombre(c)}\\\\times ${texNombre(10000)}+ ${texNombre(b)}\\\\times ${texNombre(1000)} + ${texNombre(a)}\\\\times 10 =\n ${texNombre(c * 10000)}+ ${texNombre(b * 1000)} + ${texNombre(a * 10)} =${texNombre(reponse)}$`\n }\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n break\n\n case 9:\n a = randint(2, 6)\n prix = calculANePlusJamaisUtiliser(2 + randint(1, 3) / 10 + 0.05)\n k = randint(2, 4)\n reponse = arrondi(prix * k, 2)\n texte = `$${a}$ stylos identiques coûtent $${texNombre(prix)}$ €. <br>\n Combien coûtent $${k * a}$ de ces mêmes stylos ?\n `\n\n texteCorr = `$${a}$ stylos identiques coûtent $${texNombre(prix)}$ €, donc $${k * a}$\n de ces mêmes stylos coûtent $${k}$ fois plus, soit $${k}\\\\times ${texNombre(prix)}=${texNombre(k * prix)}$ €.`\n\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + ' €'\n }\n nbChamps = 1\n break\n\n case 10:\n\n a = randint(11, 24, 20)\n reponse = calculANePlusJamaisUtiliser(101 * a)\n texte = `$${a}\\\\times 101=$`\n texteCorr = `$${a}\\\\times 101 = ${101 * a}$<br>`\n\n texteCorr += `$${a}\\\\times 101 = ${a}\\\\times (100+1)=${a}\\\\times 100+${a}\\\\times 1=${a * 100}+${a}=${101 * a}$`\n\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n break\n\n case 11:\n choix = choice(['a', 'a', 'a', 'b'])\n if (choix === 'a') {\n a = randint(1, 5) * 10\n p = randint(2, 9, 5) * 10\n reponse = calculANePlusJamaisUtiliser(a * p / 100)\n texte = `$${p}\\\\%$ de $${a}= $`\n\n texteCorr = ` Prendre $${p}\\\\%$ de $${a}$ revient à prendre $${p / 10}\\\\times 10\\\\%$ de $${a}$.<br>\n Comme $10\\\\%$ de $${a}$ vaut $${a / 10}$ (pour prendre $10\\\\%$ d'une quantité, on la divise par $10$), alors\n $${p}\\\\%$ de $${a}=${p / 10}\\\\times ${a / 10}=${reponse}$.\n `\n } else {\n a = choice([10, 20, 40, 60, 120])\n p = 25\n reponse = calculANePlusJamaisUtiliser(a * p / 100)\n texte = `$${p}\\\\%$ de $${a}= $`\n\n texteCorr = ` Prendre $${p}\\\\%$ de $${a}$ revient à prendre le quart de $${a}$.<br>\n $\\\\dfrac{1}{4}$ de $${a}=\\\\dfrac{${a}}{4}=${texNombre(reponse)}$.\n `\n }\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n break\n\n case 12:\n a = randint(3, 12)\n b = randint(1, 6)\n c = randint(1, 6, b)\n reponse = a * b + a * c\n texte = `Le produit de $${a}$ par la somme de $${b}$ et de $${c}$ est égal à : `\n texteCorr = `Le produit de $${a}$ par la somme de $${b}$ et de $${c}$ est égal à : $${a}\\\\times \\\\underbrace{(${b}+${c})}_{\\\\text{Somme de } ${b} \\\\text{ et } ${c}}=${a}\\\\times ${b + c}=${a * b + a * c}$.`\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n break\n\n case 13:\n fraction1 = choice(listeFractions13)\n a = fraction(fraction1[0], fraction1[1])\n\n texte = `$${a.texFraction} =${Math.floor(fraction1[0] / fraction1[1])}+\\\\dfrac{?}{${fraction1[1]}}$<br>\n ? $ = $\n `\n texteCorr = ` $${a.texFraction} =\n \\\\dfrac{${Math.floor(fraction1[0] / fraction1[1])}\\\\times ${fraction1[1]}}{${fraction1[1]}}+\\\\dfrac{${fraction1[0] - Math.floor(fraction1[0] / fraction1[1]) * fraction1[1]}}{${fraction1[1]}}\n =\\\\dfrac{${Math.floor(fraction1[0] / fraction1[1]) * fraction1[1]}}{${fraction1[1]}}+\\\\dfrac{${fraction1[0] - Math.floor(fraction1[0] / fraction1[1]) * fraction1[1]}}{${fraction1[1]}}$ donc ?$=${fraction1[0] - Math.floor(fraction1[0] / fraction1[1]) * fraction1[1]}$.\n `\n reponse = fraction1[0] - Math.floor(fraction1[0] / fraction1[1]) * fraction1[1]\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n nbChamps = 1\n break\n\n case 14:\n choix = choice(['a', 'b', 'c'])\n if (choix === 'a') {\n a = randint(2, 6)\n A = point(0, 0)\n B = point(-1, 0)\n C = point(-1, -1)\n D = point(0, -1)\n E = point(0, -2)\n F = point(1, -2)\n G = point(1, -1)\n H = point(2, -1)\n I = point(2, 0)\n J = point(1, 0)\n K = point(1, 1)\n L = point(0, 1)\n s1 = segment(A, B)\n code1 = codageSegment(A, B, '|')\n s2 = segment(B, C)\n code2 = codageSegment(B, C, '|')\n s3 = segment(C, D)\n code3 = codageSegment(C, D, '|')\n s4 = segment(D, E)\n code4 = codageSegment(D, E, '|')\n s5 = segment(E, F)\n code5 = codageSegment(E, F, '|')\n s6 = segment(F, G)\n code6 = codageSegment(F, G, '|')\n s7 = segment(G, H)\n code7 = codageSegment(G, H, '|')\n s8 = segment(H, I)\n code8 = codageSegment(H, I, '|')\n s9 = segment(I, J)\n code9 = codageSegment(I, J, '|')\n s10 = segment(J, K)\n code10 = codageSegment(J, K, '|')\n s11 = segment(K, L)\n code11 = codageSegment(K, L, '|')\n s12 = segment(L, A)\n code12 = codageSegment(L, A, '|')\n xmin = -2\n ymin = -2.1\n xmax = 3\n ymax = 1.2\n objets = []\n objets.push(\n texteParPosition(`${stringNombre(a)} cm`, milieu(B, C).x - 0.5, milieu(B, C).y),\n s1, s2, s3, s4, s5, s6, code1, code2, code3, code4, code5, code6, s7, s8, s9, s10, s11, s12, code7, code8, code9, code10, code11, code12)\n reponse = 12 * a\n texte = 'Quel est le périmètre de cette figure ?<br>'\n texte += mathalea2d({\n xmin,\n ymin,\n xmax,\n ymax,\n pixelsParCm: 40,\n mainlevee: false,\n amplitude: 0.5,\n scale: 1.4,\n style: 'margin: auto'\n }, objets)\n texteCorr = `La figure est composée de $12$ segments de longueur $${a}$ cm.<br>\n Le périmètre de cette figure est donc : $12\\\\times\\\\times ${a}=${12 * a}$ cm. `\n }\n if (choix === 'b') {\n b = randint(6, 10)\n a = randint(1, 3)\n c = randint(4, 5)\n A = point(0.13, 0.5)\n B = point(1, 1)\n C = point(2, 1)\n D = point(3, 2)\n E = point(3, -1)\n F = point(2, 0)\n G = point(1, 0)\n s1 = segment(A, B)\n code1 = codageSegment(A, B, '||')\n s2 = segment(B, C)\n code2 = codageSegment(B, C, '||')\n s3 = segment(A, G)\n code3 = codageSegment(A, G, '||')\n s4 = segment(G, F)\n code4 = codageSegment(G, F, '||')\n s5 = segment(C, D)\n code5 = codageSegment(C, D, '|')\n s6 = segment(E, F)\n code6 = codageSegment(E, F, '|')\n xmin = -1\n ymin = -2\n xmax = 4\n ymax = 2.5\n objets = []\n objets.push(\n texteParPosition(`${stringNombre(a)} cm`, milieu(B, C).x, milieu(B, C).y + 0.3),\n texteParPosition(`${stringNombre(b)} cm`, milieu(D, E).x + 0.5, milieu(D, E).y),\n texteParPosition(`${stringNombre(c)} cm`, milieu(D, C).x - 0.3, milieu(D, C).y + 0.2),\n s1, s2, s3, s4, s5, s6, code1, code2, code3, code4, code5, code6, segment(D, E))\n reponse = 4 * a + 2 * c + b\n texte = 'Quel est le périmètre de cette figure ?<br>'\n texte += mathalea2d({\n xmin,\n ymin,\n xmax,\n ymax,\n pixelsParCm: 40,\n mainlevee: false,\n amplitude: 0.5,\n scale: 1.4,\n style: 'margin: auto'\n }, objets)\n texteCorr = `La figure est composée de $4$ segments de longueur $${a}$, de $2$ segments de longueur $${c}$ et d'un segment de longueur $${b}$.<br>\n Le périmètre de cette figure est donc : $4\\\\times ${a}+2\\\\times ${c}+${b}=${4 * a + 2 * c + b}$ cm. `\n }\n\n if (choix === 'c') {\n b = randint(7, 10)\n a = randint(4, 5)\n c = randint(1, 3)\n B = point(1, 1)\n C = point(2, 1)\n D = point(3, 2)\n E = point(3, -1)\n F = point(2, 0)\n G = point(1, 0)\n s1 = segment(B, G)\n code1 = codageSegment(B, G, '||')\n s2 = segment(B, C)\n code2 = codageSegment(B, C, '||')\n s4 = segment(G, F)\n code4 = codageSegment(G, F, '||')\n s5 = segment(C, D)\n code5 = codageSegment(C, D, '|')\n s6 = segment(E, F)\n code6 = codageSegment(E, F, '|')\n xmin = -1\n ymin = -2\n xmax = 4\n ymax = 2.5\n objets = []\n objets.push(\n texteParPosition(`${stringNombre(c)} cm`, milieu(B, C).x, milieu(B, C).y + 0.3),\n texteParPosition(`${stringNombre(b)} cm`, milieu(D, E).x + 0.4, milieu(D, E).y),\n texteParPosition(`${stringNombre(a)} cm`, milieu(D, C).x - 0.2, milieu(D, C).y + 0.2),\n s1, s2, s4, s5, s6, code1, code2, code4, code5, code6, segment(D, E))\n reponse = 3 * c + 2 * a + b\n texte = 'Quel est le périmètre de cette figure ?<br>'\n texte += mathalea2d({\n xmin,\n ymin,\n xmax,\n ymax,\n pixelsParCm: 40,\n mainlevee: false,\n amplitude: 0.5,\n scale: 1.4,\n style: 'margin: auto'\n }, objets)\n texteCorr = `La figure est composée de $3$ segments de longueur $${c}$, de $2$ segments de longueur $${a}$ et d'un segment de longueur $${b}$.<br>\n Le périmètre de cette figure est donc : $3\\\\times ${c}+2\\\\times ${a}+${b}=${3 * c + 2 * a + b}$ cm. `\n }\n\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += '$\\\\mathscr{P}=$'\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + 'cm'\n }\n nbChamps = 1\n break\n\n case 15:\n a = randint(2, 9)\n choix = choice(['a', 'b', 'c', 'd'])//\n if (choix === 'a') {\n reponse = a * 100\n texte = `$${a}$ dm$^2=$`\n texteCorr = `$1$ dm$^2= 100$ cm$^2$, donc $${a}$ dm$^2=${a}\\\\times 100$ cm$^2=${a * 100}$ cm$^2$.`\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + 'cm$^2$'\n } else {\n texte += ' $\\\\ldots$ cm$^2$'\n }\n }\n if (choix === 'b') {\n reponse = a / 100\n texte = `$${a}$ cm$^2=$`\n texteCorr = `$1$ cm$^2= 0,01$ dm$^2$, donc $${a}$ cm$^2=${a}\\\\times 0,01$ dm$^2=${texNombre(a / 100)}$ dm$^2$.`\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + 'dm$^2$'\n } else {\n texte += ' $\\\\ldots$ dm$^2$'\n }\n }\n if (choix === 'c') {\n reponse = a * 100\n texte = `$${a}$ m$^2=$`\n texteCorr = `$1$ m$^2= 100$ dm$^2$, donc $${a}$ m$^2=${a}\\\\times 100$ dm$^2=${a * 100}$ dm$^2$.`\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + 'dm$^2$'\n } else {\n texte += '$\\\\ldots$ dm$^2$'\n }\n }\n if (choix === 'd') {\n reponse = a / 100\n texte = `$${a}$ dm$^2=$`\n texteCorr = `$1$ dm$^2= 0,01$ m$^2$, donc $${a}$ dm$^2=${a}\\\\times 0,01$ m$^2=${texNombre(a / 100)}$ m$^2$.`\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + 'm$^2$'\n } else {\n texte += '$\\\\ldots$ m$^2$'\n }\n }\n\n nbChamps = 1\n break\n\n case 16:\n if (choice([true, false])) {\n a = randint(1, 4)// AB\n b = randint(5, 10)// AC\n c = randint(b - a, b - 1) + randint(1, 5) / 10// BC possible\n d = randint(1, b - a) - randint(1, 5) / 10// BC impossible\n e = randint(a + b + 1, 16)// BC impossible\n reponse = c\n propositions = shuffle([`$${texNombre(c)}$`, `$${texNombre(d)}$`, `$${texNombre(e)}$`])\n texte = `Dans le triangle $ABC$, on a $AB=${a}$ et $AC=${b}$. <br>\n Recopie la longueur possible de $[BC]$.<br>`\n\n texte += `${propositions[0]} ${sp(4)} ${propositions[1]} ${sp(4)} ${propositions[2]}`\n } else {\n a = randint(2, 4)// AB\n b = randint(5, 8)// AC\n c = randint(b + 1, a + b - 1)// BC possible\n d = randint(1, b - a) - randint(1, 5) / 10// BC impossible\n e = randint(a + b + 1, 16)// BC impossible\n reponse = c\n propositions = shuffle([`$${texNombre(c)}$`, `$${texNombre(d)}$`, `$${texNombre(e)}$`])\n texte = `Dans le triangle $ABC$, on a $AB=${a}$ et $AC=${b}$. <br>\n Recopie la longueur possible de $[BC]$.<br>`\n\n texte += `${propositions[0]} ${sp(4)} ${propositions[1]} ${sp(4)} ${propositions[2]}`\n }\n texteCorr = `Pour qu'un triangle soit constructible, il faut que la longueur du plus grand côté soit inférieure à la somme des deux autres.<br>\n Seule la longueur $${texNombre(c)}$ est possible pour $BC$. `\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n break\n\n case 17:\n a = randint(3, 6)\n b = choice([-1, -a + 1])\n reponse = fraction(b, a)// .simplifie()\n texte = 'Quelle est la fraction repérée par le point d’interrogation ?<br>' + mathalea2d({\n xmin: -2,\n ymin: -1,\n xmax: 8,\n ymax: 1.5,\n scale: 0.8,\n style: 'margin: auto'\n }, droiteGraduee({\n Unite: 3,\n Min: -1,\n Max: 1,\n x: 0,\n y: 0,\n thickSecDist: 1 / a,\n thickSec: true,\n thickoffset: 0,\n axeStyle: '|->',\n pointListe: [[b / a, '?']],\n labelPointTaille: 15,\n pointCouleur: 'blue',\n pointStyle: 'x',\n labelsPrincipaux: true,\n step1: 1,\n step2: 1\n }))\n texteCorr = `L'unité est divisée en $${a}$. Ainsi, le point d'interrogation est $\\\\dfrac{${b}}{${a}}$.`\n setReponse(this, index, reponse, { formatInteractif: 'fractionEgale' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n\n break\n\n case 18:\n if (choice([true, false])) {\n a = randint(-15, -7)\n b = randint(-9, -1) / 10\n c = randint(-9, -1) / 100\n nombre = a + b + c\n texte = `Donne un encadrement au dixième près du nombre $${texNombre(nombre)}$ :<br>`\n\n texteCorr = `Le chiffre des dixième est le premier chiffre après la virgule. <br>Ainsi : $${texNombre(a + b - 0.1)} \\\\leqslant ${texNombre(nombre)} \\\\leqslant ${texNombre(a + b)}$.`\n\n if (this.interactif) {\n setReponse(this, index, a + b - 0.1, { formatInteractif: 'calcul' })\n texte += ajouteChampTexteMathLive(this, index, 'largeur12 inline', { texteApres: sp(5) + ` $\\\\leqslant ${texNombre(nombre)} \\\\leqslant$` })\n setReponse(this, index + 1, a + b, { formatInteractif: 'calcul' })\n texte += ajouteChampTexteMathLive(this, index + 1, 'largeur12 inline')\n } else {\n texte += `$\\\\ldots \\\\leqslant ${texNombre(nombre)} \\\\leqslant \\\\ldots$`\n }\n } else {\n a = randint(-15, -7)\n b = randint(-9, -1) / 10\n c = randint(-9, -1) / 100\n d = randint(-9, -1) / 1000\n nombre = a + b + c + d\n texte = `Donne un encadrement au centième près du nombre $${texNombre(nombre)}$ :<br>`\n\n texteCorr = `Le chiffre des centième est le deuxième chiffre après la virgule. <br>Ainsi : $${texNombre(a + b + c - 0.01)} \\\\leqslant ${texNombre(nombre)} \\\\leqslant ${texNombre(a + b + c)}$.`\n\n if (this.interactif) {\n setReponse(this, index, a + b + c - 0.01, { formatInteractif: 'calcul' })\n texte += ajouteChampTexteMathLive(this, index, 'largeur12 inline', { texteApres: sp(5) + ` $\\\\leqslant ${texNombre(nombre)} \\\\leqslant$` })\n setReponse(this, index + 1, a + b + c, { formatInteractif: 'calcul' })\n texte += ajouteChampTexteMathLive(this, index + 1, 'largeur12 inline')\n } else {\n texte += `$\\\\ldots \\\\leqslant ${texNombre(nombre)} \\\\leqslant \\\\ldots$`\n }\n }\n nbChamps = 2\n break\n\n case 19:\n a = randint(3, 12)\n texte = `Une brioche est vendue $${a}$ €.<br>\n Quel est son prix si on bénéficie d'une remise de $10\\\\%$ ? `\n reponse = 0.9 * a\n texteCorr = `$10\\\\%$ de $${a}$ $=0,1\\\\times ${a}=${texNombre(0.1 * a)}$. <br>\n Le montant de la remise est $${texNombre(0.1 * a)}$ €. La brioche coûtera donc après remise : $${a}-${texNombre(0.1 * a)}=${texNombre(0.9 * a)}$ €.`\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + ' €'\n }\n nbChamps = 1\n break\n\n case 20:\n a = randint(7, 21)\n b = choice([45, 50, 55])\n c = choice([20, 30, 40, 50])\n\n texte = `Une montre affiche $${a}$ h $${b}$ min.<br>\n Quelle heure affichera-t-elle $1$ h $${c}$ plus tard ?`\n\n texteCorr = ` $${a}$ h $${b}$ min + $1$ h $${c}$ min est égal à $${a + 2}$ h $${b + c - 60}$ min.`\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'largeur12 inline', { texteApres: sp(5) + 'h' })\n setReponse(this, index, a + 2, { formatInteractif: 'calcul' })\n texte += ajouteChampTexteMathLive(this, index + 1, 'largeur12 inline', { texteApres: sp(5) + 'min' })\n setReponse(this, index + 1, b + c - 60, { formatInteractif: 'calcul' })\n }\n nbChamps = 2\n break\n\n case 21:\n if (choice([true, false])) {\n a = randint(2, 6)\n b = randint(2, 6)\n truc = randint(2, 5)\n c = a + b + truc\n texte = `VRAI/FAUX<br>\n L' égalité $${a}x+${b}=${c}$ est vérifiée pour $x=${truc}$.<br>`\n setReponse(this, index, ['F', 'f'], { formatInteractif: 'texte' })\n if (this.interactif) {\n texte += 'Pour VRAI, écrire V et pour FAUX : F'\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n } else {\n a = randint(2, 6)\n b = randint(2, 6)\n truc = randint(2, 5)\n c = b + a * truc\n texte = `VRAI/FAUX<br>\n L' égalité $${a}x+${b}=${c}$ est vérifiée pour $x=${truc}$.<br>`\n setReponse(this, index, ['V', 'v'], { formatInteractif: 'texte' })\n texteCorr = `Pour $x=${truc}$, $${a}x+${b}=${a}\\\\times ${truc}+${b}=${a * truc + b}$.`\n if (this.interactif) {\n texte += 'Pour VRAI, écrire V et pour FAUX : F'\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n }\n nbChamps = 1\n break\n\n case 22:\n fraction2 = choice(listeFractions22)\n a = fraction(fraction2[0], fraction2[1])\n\n texte = `Complète $${a.texFraction} =\\\\dfrac{...}{100}$`\n\n texteCorr = ` Le dénominateur de $${a.texFraction}$ est multiplié par $${100 / fraction2[1]}$.<br>\n Il faut donc multiplier le numérateur par $${100 / fraction2[1]}$. On obtient : $${fraction2[0]}\\\\times ${100 / fraction2[1]}=${fraction2[0] * 100 / fraction2[1]}$.`\n reponse = fraction2[0] * 100 / fraction2[1]\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += '<br>$ \\\\ldots=$'\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n break\n\n case 23:\n a = randint(-99, -81, -90)\n b = choice([-80, -70, -60, -50, -40, -30])\n\n if (choice([true, false])) {\n texte = `\n $${a}-(${b})=$ `\n reponse = a - b\n texteCorr = ` $${a}-(${b})=${a}+${-b}=${a - b}$`\n } else {\n texte = `\n $${b}-(${a})=$ `\n reponse = b - a\n texteCorr = ` $${b}-(${a})=${b}+${-a}=${b - a}$`\n }\n\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$'\n }\n\n nbChamps = 1\n break\n\n case 24:\n if (choice([true, false])) {\n a = choice([100, 110, 120])\n b = choice([10, 15, 20])\n A = point(0, 0)\n B = point(6, 0)\n C = point(4, 2)\n s1 = segment(A, B)\n s2 = segment(A, C)\n s3 = segment(B, C)\n\n xmin = -1\n ymin = -1\n xmax = 6.5\n ymax = 2.5\n objets = []\n objets.push(\n texteParPosition(`${stringNombre(a)}°`, 3.8, 0.8),\n texteParPosition(`${stringNombre(b)}°`, 1.2, 0.25),\n texteParPosition('?', 5.3, 0.3),\n s1, s2, s3, codageAngle(B, C, A, 0.8, '|'), codageAngle(C, A, B, 0.8, '||'))\n } else {\n a = choice([100, 110, 120])\n b = choice([45, 50, 55])\n A = point(0, 0)\n B = point(6, 0)\n C = point(2, 2)\n s1 = segment(A, B)\n s2 = segment(A, C)\n s3 = segment(B, C)\n\n xmin = -1\n ymin = -1\n xmax = 6.5\n ymax = 2.5\n objets = []\n objets.push(\n texteParPosition(`${stringNombre(a)}°`, 2.1, 0.8),\n texteParPosition(`${stringNombre(b)}°`, 1.2, 0.25),\n texteParPosition('?', 5, 0.3),\n s1, s2, s3, codageAngle(B, C, A, 0.8, '|'), codageAngle(C, A, B, 0.8, '||'))\n }\n reponse = 180 - a - b\n texte = 'On donne la figure suivante :<br>'\n texte += mathalea2d({\n xmin,\n ymin,\n xmax,\n ymax,\n pixelsParCm: 40,\n mainlevee: false,\n amplitude: 0.5,\n scale: 1.3,\n style: 'margin: auto'\n }, objets)\n texte += ' <br>? $=$'\n texteCorr = `Dans un triangle, la somme des angles vaut $180°$.<br>\n ?$=180-${a}-${b}=${180 - a - b}°$.`\n\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + '°'\n } else {\n texte += ' $\\\\ldots °$'\n }\n\n nbChamps = 1\n break\n\n case 25:\n fraction1 = choice(listeFractions25)\n fraction2 = choice(listeFractions25B)\n if (choice([true, false])) {\n a = fraction(fraction1[0], fraction1[1])\n b = fraction(fraction1[2], fraction1[3])\n if (this.interactif) {\n texte = ''\n } else {\n texte = ' Complète avec $<$, $>$ ou $=$ :<br>'\n }\n texte += `$${a.texFraction} ...... ${b.texFraction}$`\n texteCorr = 'Une des deux fractions est un nombre supérieur à $1$ (numérateur plus grand que dénominateur) et l\\'autre un nombre inférieur à $1$. La plus grande est donc celle qui a le numérateur plus grand que le dénominateur.'\n } else {\n a = fraction(fraction2[0], fraction2[1])\n a1 = fraction(fraction2[0] * fraction2[3], fraction2[1] * fraction2[3])\n b = fraction(fraction2[2], fraction2[3])\n b1 = fraction(fraction2[2] * fraction2[1], fraction2[3] * fraction2[1])\n if (this.interactif) {\n texte = ''\n } else {\n texte = ' Complète avec $<$, $>$ ou $=$ :<br>'\n }\n texte += `$${a.texFraction} ...... ${b.texFraction}$`\n texteCorr = `En écrivant les deux fractions avec le même dénominateur, on obtient : <br>\n $${a.texFraction}=${a1.texFraction}$ et $${b.texFraction}=${b1.texFraction}$. On en déduit que la plus grande est celle qui a le plus grand numérateur.`\n }\n if (a > b) {\n setReponse(this, index, '>', { formatInteractif: 'texte' })\n } else {\n setReponse(this, index, '<', { formatInteractif: 'texte' })\n }\n if (this.interactif) {\n texte += '<br>Indique le symbole qui convient : $<$, $>$ ou $=$'\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n break\n\n case 26:\n choix = choice(['a', 'b'])//, 'b', 'c', 'd'\n if (choix === 'a') {\n a = randint(1, 5)\n b = randint(5, 9)\n c = randint(1, 5)\n d = randint(1, 5)\n e = randint(3, 8)\n f = randint(1, 5)\n texte = 'Quelle est la proportion d\\'élèves ayant obtenu une note supérieure ou égale à $14$ ?<br>'\n texte += tableauColonneLigne(['\\\\text{Note}', '7', '8', '10', '12', '14', '16'], ['\\\\text{Effectif}'], [a, b, c, d, e, f])\n texteCorr = `$${e}+${f}=${e + f}$ élèves ont une note supérieure ou égale à $14$.<br>\n Le nombre total d'élève est : $${a}+${b}+${c}+${d}+${e}+${f}=${a + b + c + d + e + f}$.<br>\n La proportion d'élèves ayant obtenu une note supérieure ou égale à $14$ est donc : $\\\\dfrac{${e + f}}{${a + b + c + d + e + f}}$<br>\n La fraction simplifiée (ou la valeur décimale exacte) sont d'autres réponses correctes.`\n reponse = fraction(e + f, a + b + c + d + e + f)\n }\n if (choix === 'b') {\n a = randint(1, 5)\n b = randint(5, 9)\n c = randint(1, 5)\n d = randint(1, 5)\n e = randint(3, 8)\n f = randint(1, 5)\n texte = 'Quelle est la proportion d\\'élèves ayant obtenu une note inférieure ou égale à $10$ ?<br>'\n texte += tableauColonneLigne(['\\\\text{Note}', '7', '8', '10', '12', '14', '16'], ['\\\\text{Effectif}'], [a, b, c, d, e, f])\n texteCorr = `$${a}+${b}+${c}=${a + b + c}$ élèves ont une note inférieure ou égale à $10$.<br>\n Le nombre total d'élève est : $${a}+${b}+${c}+${d}+${e}+${f}=${a + b + c + d + e + f}$.<br>\n La proportion d'élèves ayant obtenu une note inféreire ou égale à $10$ est donc : $\\\\dfrac{${a + b + c}}{${a + b + c + d + e + f}}$<br>\n La fraction simplifiée (ou la valeur décimale exacte) sont d'autres réponses correctes.`\n reponse = fraction(a + b + c, a + b + c + d + e + f)\n }\n setReponse(this, index, reponse, { formatInteractif: 'fractionEgale' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n break\n\n case 27:\n\n a = randint(1, 4) * 3\n b = randint(9, 15) * 3\n A = point(0, 0, 'A', 'left')\n E = point(3, -1, 'E', 'below')\n D = point(4.73, 0, 'D', 'right')\n C = point(3, 1, 'C', 'above')\n reponse = (b - 2 * a) / 2\n s1 = segment(A, E)\n code1 = codageSegment(A, E, '||')\n s2 = segment(A, C)\n code2 = codageSegment(A, C, '||')\n s3 = segment(C, E)\n code3 = codageSegment(C, E, '|')\n s4 = segment(C, D)\n code4 = codageSegment(C, D, '|')\n s5 = segment(E, D)\n code5 = codageSegment(E, D, '|')\n xmin = -1\n ymin = -1.5\n xmax = 5.5\n ymax = 1.5\n objets = []\n if (a > (b - 2 * a) / 2) {\n objets.push(\n texteParPosition(`${stringNombre(a)} cm`, milieu(A, C).x, milieu(A, C).y + 0.5),\n s1, s2, s3, s4, s5, code1, code2, code3, code4, code5, labelPoint(A, C, D, E))\n texte = `Le périmètre du quadrilatère $AEDC$ est égal à $${b}$ cm.<br>\n `\n texte += mathalea2d({\n xmin,\n ymin,\n xmax,\n ymax,\n pixelsParCm: 40,\n mainlevee: false,\n amplitude: 0.5,\n scale: 1.3,\n style: 'margin: auto'\n }, objets)\n texteCorr = ` Le quadrilatère est composé de $2$ segments de $${a}$ cm et de deux autres segments de même longueur.<br>\n Ainsi, $CD=(${b}-2\\\\times ${a})\\\\div 2=${texNombre((b - 2 * a) / 2)}$ `\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += '<br>$CD=$'\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + 'cm'\n } else {\n texte += '<br>$CD=\\\\ldots$ cm'\n }\n } else {\n objets.push(texteParPosition(`${stringNombre(a)} cm`, milieu(D, C).x, milieu(D, C).y + 0.4),\n s1, s2, s3, s4, s5, code1, code2, code3, code4, code5, labelPoint(A, C, D, E))\n texte = `Le périmètre du quadrilatère $AEDC$ est égal à $${b}$ cm.<br>\n `\n texte += mathalea2d({\n xmin,\n ymin,\n xmax,\n ymax,\n pixelsParCm: 40,\n mainlevee: false,\n amplitude: 0.5,\n scale: 1,\n style: 'margin: auto'\n }, objets)\n texteCorr = ` Le quadrilatère est composé de $2$ segments de $${a}$ cm et de deux autres segments de même longueur.<br>\n Ainsi, $AE=(${b}-2\\\\times ${a})\\\\div 2=${texNombre((b - 2 * a) / 2)}$ `\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += '<br>$AE=$'\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + 'cm'\n } else {\n texte += '<br>$AE=\\\\ldots$ cm'\n }\n }\n\n nbChamps = 1\n break\n\n case 28:\n a = choice(obtenirListeFractionsIrreductibles())\n c = choice([2, 4])\n b = fraction(1, a.d * c)\n if (choice([true, false])) {\n texte = `Complète : <br>$${a.texFraction} + ${b.texFraction}=$`\n texteCorr = ` $${a.texFraction} + ${b.texFraction}\n =\\\\dfrac{${a.n}\\\\times ${c}}{${a.d}\\\\times ${c}}+ ${b.texFraction}\n =${a.reduire(c).texFraction} + ${b.texFraction}\n =\\\\dfrac{${a.n * c}+${b.n}}{${b.d}}\n =\\\\dfrac{${a.n * c + b.n}}{${b.d}}${simplificationDeFractionAvecEtapes(a.n * c + b.n, b.d)}$`\n } else {\n texte = `Complète : <br>$ ${b.texFraction}+${a.texFraction}=$`\n texteCorr = ` $ ${b.texFraction}+${a.texFraction}\n = ${b.texFraction}+\\\\dfrac{${a.n}\\\\times ${c}}{${a.d}\\\\times ${c}}\n =${b.texFraction}+${a.reduire(c).texFraction}\n =\\\\dfrac{${b.n}+${a.n * c}}{${b.d}}\n =\\\\dfrac{${b.n + a.n * c}}{${b.d}}${simplificationDeFractionAvecEtapes(a.n * c + b.n, b.d)}$`\n }\n\n reponse = a.sommeFraction(b)\n setReponse(this, index, reponse, { formatInteractif: 'fractionEgale' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n } else {\n texte += '$\\\\ldots$ '\n }\n nbChamps = 1\n break\n\n case 29:\n\n a = randint(2, 9)\n b = randint(2, 9)\n c = randint(2, 9)\n d = randint(2, 9)\n texte = `Simplifie l'expression : <br>\n $${a}a+${b}+${c}a+${d}$`\n texteCorr = ` $${a}a+${b}+${c}a+${d}=${a}a+${c}a+${b}+${d}=${a + c}a+${b + d}$`\n reponse = printlatex(`${a + c}*a+(${b + d})`)\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15')\n }\n nbChamps = 1\n break\n\n case 30:\n if (choice([true, false])) {\n a = randint(1, 4) * 4\n\n texte = `Chaque face d'un cube a pour périmètre $${a}$ cm.<br>\n Quel est le volume de ce cube ?`\n texteCorr = `La longueur de l'arête du cube est $${a}\\\\div 4=${a / 4}$.<br>\n Le volume du cube est donc $${a / 4}^3=${a ** 3 / 64}$ cm$^3$.`\n reponse = (a / 4) ** 3\n } else {\n a = randint(1, 4)\n\n texte = `Chaque face d'un cube a pour aire $${a ** 2}$ cm$^2$.<br>\n Quel est le volume de ce cube ?`\n texteCorr = `La longueur de l'arête du cube est $${a}$.<br>\n Le volume du cube est donc $${a}^3=${a ** 3}$ cm$^3$.`\n reponse = a ** 3\n }\n setReponse(this, index, reponse, { formatInteractif: 'calcul' })\n if (this.interactif) {\n texte += ajouteChampTexteMathLive(this, index, 'inline largeur15') + 'cm$^3$'\n }\n nbChamps = 1\n break\n }\n\n if (this.listeQuestions.indexOf(texte) === -1) { // Si la question n'a jamais été posée, on en créé une autre\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n index += nbChamps\n }\n cpt++\n }\n listeQuestionsToContenu(this)\n }\n}\n"],"names":["titre","interactifReady","interactifType","dateDePublication","compareNombres","a","b","uuid","ref","SujetCAN20215ieme","Exercice","nbQ1","min","round","nbQ2","typeQuestionsDisponiblesNiv1","shuffle","typeQuestionsDisponiblesNiv2","typeQuestionsDisponibles","listeFractions13","listeFractions22","listeFractions25","listeFractions25B","i","index","nbChamps","texte","texteCorr","reponse","nombre","a1","b1","f","fraction1","fraction2","propositions","prix","choix","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","code1","code2","code3","code4","code5","code6","code7","code8","code9","code10","code11","code12","truc","c","d","e","m","p","k","A","B","C","D","E","F","G","H","I","J","K","L","xmin","xmax","ymin","ymax","objets","cpt","randint","setReponse","ajouteChampTexteMathLive","calculANePlusJamaisUtiliser","choice","texNombre","miseEnEvidence","arrondi","fraction","point","segment","codageSegment","texteParPosition","stringNombre","milieu","mathalea2d","sp","droiteGraduee","codageAngle","tableauColonneLigne","labelPoint","obtenirListeFractionsIrreductibles","simplificationDeFractionAvecEtapes","printlatex","listeQuestionsToContenu"],"mappings":"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"}