File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/6D12-eQysVg7x.js.map
{"version":3,"file":"6D12-eQysVg7x.js","sources":["../../src/exercices/6e/6D12.js"],"sourcesContent":["import { combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { minToHoraire, minToHour } from '../../lib/outils/dateEtHoraires.js'\nimport { prenom, prenomF } from '../../lib/outils/Personne.js'\nimport Exercice from '../Exercice.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { context } from '../../modules/context.js'\nimport Hms from '../../modules/Hms'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\nimport { texteEnCouleurEtGras } from '../../lib/outils/embellissements'\n\nexport const titre = 'Calculate durations or determine a schedule'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n\nexport const dateDeModifImportante = '09/10/2023' // Correction détaillée\n\n/**\n * Problèmes où il faut calculer la durée d'un évènement ou un horaire.\n * Paramétrage possible :\n * * 1 : calculs de durées\n * * 2 : calculer l'heure de début\n * * 3 : calculer l'heure de fin\n * * 4 : mélange des 3 types précédents\n * @author Rémi Angot\n */\nexport const uuid = 'e960d'\nexport const ref = '6D12'\nexport default function CalculsDeDureesOuHoraires () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.consigne = ''\n this.sup = 4\n this.spacing = 2\n this.nbQuestions = 3\n this.nbCols = 1\n this.nbColsCorr = 1\n this.spacingCorr = 2\n\n this.nouvelleVersion = function () {\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = []\n const typeDeContexte = combinaisonListes(\n [1, 2, 3, 4, 5],\n this.nbQuestions\n )\n let typesDeQuestions // 1 : calcul de durées // 2 : calcul de l'start time // 3: calculation of'horaire de fin // 4 : mélange\n\n if (this.sup < 4) {\n // only level 1 questions or only level 2 questions\n typesDeQuestions = combinaisonListes([this.sup], this.nbQuestions)\n } else {\n // a balanced mix of questions\n typesDeQuestions = combinaisonListes([1, 2, 3], this.nbQuestions)\n }\n\n for (let i = 0, d1, h1, m1, d2, h2, m2, d, h, m, texte, texteCorr, texteInteractif, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n // d1: start time (h1 hours m1 min)\n // d2: end time (h2 hours m2 min)\n // d: duration\n if (typeDeContexte[i] === 1) {\n h1 = randint(20, 22)\n m1 = randint(35, 58)\n d1 = h1 * 60 + m1\n h2 = h1 + 2\n m2 = randint(1, m1 - 1) // pour s'ensure that'il y a une retenue dans d2-d1\n d2 = h2 * 60 + m2\n d = d2 - d1\n d1 = minToHoraire(d1)\n d2 = minToHoraire(d2)\n h = parseInt(d / 60)\n m = d % 60\n d = minToHour(d)\n if (typesDeQuestions[i] === 1) {\n texte = `The broadcast of a film begins at ${d1} and ends at ${d2}. How long was this movie?`\n texteCorr = `${d1}$~\\\\xrightarrow{+${60 - m1}~\\\\text{min}}${(h1 + 1) % 24}~\\\\text{h} \\\\xrightarrow{+${(h2 - h1 - 1) % 24}~\\\\text{h}~${m2}~\\\\min}${h2 % 24}~\\\\text {h}~${m2}~\\\\text{min}$`\n texteCorr += `<br>${d2} $-$ ${d1} = ${d}`\n texteCorr += '<br>'\n texteCorr += `The film lasts ${texteEnCouleurEtGras(d)}.`\n texteInteractif = 'The film lasts'\n setReponse(this, i, Hms.fromString(d), { formatInteractif: 'hms' })\n } else if (typesDeQuestions[i] === 2) {\n texte = `A film lasts ${d} and begins at ${d1}. What time will it end?`\n texteCorr = `${d1} + ${d} = ${h1 + h} h ${m1 + m} min`\n if (m1 + m > 59) texteCorr += ` = ${d2}`\n texteCorr += '<br>'\n texteCorr += `The film will end at ${texteEnCouleurEtGras(d2)}.`\n texteInteractif = 'The film will end at'\n setReponse(this, i, Hms.fromString(d2), { formatInteractif: 'hms' })\n } else if (typesDeQuestions[i] === 3) {\n texte = `A ${d} film ends at ${d2}. What time did it start?`\n texteCorr = `$${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}`\n if (h > 0) texteCorr += `\\\\xrightarrow{-${h}~\\\\text{h}} ${h2 - h}~\\\\text{h}~${m2}~\\\\text{min}`\n texteCorr += `\\\\xrightarrow{-${m2}~\\\\text{min}} ${(h2 - h) % 24}~\\\\text{h} \\\\xrightarrow{-${Math.abs(m - m2)}~\\\\text{min}} ${h1}~\\\\text{h}~${m1}~\\\\text {min}$`\n texteCorr += `<br>${d2} $-$ ${d} = ${d1}`\n texteCorr += '<br>'\n texteCorr += `The film started at ${texteEnCouleurEtGras(d1)}.`\n texteInteractif = 'The film started'\n setReponse(this, i, Hms.fromString(d1), { formatInteractif: 'hms' })\n }\n } else if (typeDeContexte[i] === 2) {\n h1 = randint(20, 23)\n m1 = randint(35, 58)\n d1 = h1 * 60 + m1\n h2 = h1 + 1\n m2 = randint(1, m1) // pour s'ensure that'il y a une retenue dans d2-d1\n d2 = h2 * 60 + m2\n d = d2 - d1\n while (d < 27 || d > 75 || d === 60) {\n h1 = randint(20, 23)\n m1 = randint(35, 58)\n d1 = h1 * 60 + m1\n h2 = h1 + 2\n m2 = randint(1, m1) // pour s'ensure that'il y a une retenue dans d2-d1\n d2 = h2 * 60 + m2\n d = d2 - d1\n }\n d1 = minToHoraire(d1)\n d2 = minToHoraire(d2)\n h = parseInt(d / 60)\n m = d % 60\n d = minToHour(d)\n\n if (typesDeQuestions[i] === 1) {\n texte = `On his favorite streaming service, ${prenom()} starts watching a series at ${d1} and it ends at ${d2}. How long did the episode last?`\n texteCorr = `${d1}$~\\\\xrightarrow{+${60 - m1}~\\\\text{min}}${(h1 + 1) % 24}~\\\\text{h} \\\\xrightarrow{+${((h2 - h1 - 1) > 0) ? `${(h2 - h1 - 1) % 24}~\\\\text{h}` : ''}~${m2}~\\\\min}${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}$`\n texteCorr += `<br>${d2} $-$ ${d1} = ${d}`\n texteCorr += '<br>'\n texteCorr += `The series lasted ${texteEnCouleurEtGras(d)}.`\n setReponse(this, i, Hms.fromString(d), { formatInteractif: 'hms' })\n texteInteractif = 'The series lasted'\n } else if (typesDeQuestions[i] === 2) {\n texte = `${prenom()} turns his computer on to ${d1} to watch a series of ${d}. What time will the series end?`\n texteCorr = `${d1} + ${d} = ${h1 + h} h ${m1 + m} min`\n if (m1 + m > 59) texteCorr += ` = ${d2}`\n texteCorr += '<br>'\n texteCorr += `The series will end at ${texteEnCouleurEtGras(d2)}.`\n setReponse(this, i, Hms.fromString(d2), { formatInteractif: 'hms' })\n texteInteractif = 'The series will end at'\n } else if (typesDeQuestions[i] === 3) {\n texte = `${prenom()} finishes watching a series from ${d} to ${d2}. What time did the series start?`\n texteCorr = `$${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}`\n if (h > 0) texteCorr += `\\\\xrightarrow{-${h}~\\\\text{h}} ${h2 - h}~\\\\text{h}~${m2}~\\\\text{min}`\n texteCorr += `\\\\xrightarrow{-${m2}~\\\\text{min}} ${(h2 - h) % 24}~\\\\text{h} \\\\xrightarrow{-${Math.abs(m - m2)}~\\\\text{min}} ${h1}~\\\\text{h}~${m1}~\\\\text {min}$`\n texteCorr += `<br>${d2} $-$ ${d} = ${d1}`\n texteCorr += '<br>'\n texteCorr += `The series started at ${texteEnCouleurEtGras(d1)}.`\n setReponse(this, i, Hms.fromString(d1), { formatInteractif: 'hms' })\n texteInteractif = 'The series began'\n }\n } else if (typeDeContexte[i] === 3) {\n h1 = randint(8, 21)\n m1 = randint(1, 58)\n d1 = h1 * 60 + m1\n h2 = h1 + randint(1, 2)\n m2 = randint(1, 59) // pas forcément de retenue dans d2-d1\n d2 = h2 * 60 + m2\n d = d2 - d1\n d1 = minToHoraire(d1)\n d2 = minToHoraire(d2)\n h = parseInt(d / 60)\n m = d % 60\n d = minToHour(d)\n\n if (typesDeQuestions[i] === 1) {\n texte = `A television program is broadcast from ${d1} to ${d2}. How long does it last?`\n texteCorr = `${d1}$~\\\\xrightarrow{+${60 - m1}~\\\\text{min}}${(h1 + 1) % 24}~\\\\text{h} \\\\xrightarrow{+${((h2 - h1 - 1) > 0) ? `${(h2 - h1 - 1) % 24}~\\\\text{h}` : ''}~${m2}~\\\\min}${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}$`\n texteCorr += `<br>${d2} $-$ ${d1} = ${d}`\n texteCorr += '<br>'\n texteCorr += `The broadcast lasts ${texteEnCouleurEtGras(d)}.`\n setReponse(this, i, Hms.fromString(d), { formatInteractif: 'hms' })\n texteInteractif = 'The show lasts'\n } else if (typesDeQuestions[i] === 2) {\n texte = `A ${d} television broadcast begins at ${d1}. What time will it end?`\n texteCorr = `${d1} + ${d} = ${h1 + h} h ${m1 + m} min`\n if (m1 + m > 59) texteCorr += ` = ${d2}`\n texteCorr += '<br>'\n texteCorr += `The broadcast will end at ${texteEnCouleurEtGras(d2)}.`\n setReponse(this, i, Hms.fromString(d2), { formatInteractif: 'hms' })\n texteInteractif = 'The show will end at'\n } else if (typesDeQuestions[i] === 3) {\n texte = `At ${d2}, ${prenom()} finishes watching a ${d} broadcast. What time did the show start?`\n texteCorr = `$${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}`\n if (h > 0) texteCorr += `\\\\xrightarrow{-${h}~\\\\text{h}} ${h2 - h}~\\\\text{h}~${m2}~\\\\text{min}`\n texteCorr += `\\\\xrightarrow{-${m2}~\\\\text{min}} ${(h2 - h) % 24}~\\\\text{h} \\\\xrightarrow{-${Math.abs(m - m2)}~\\\\text{min}} ${h1}~\\\\text{h}~${m1}~\\\\text {min}$`\n texteCorr += `<br>${d2} $-$ ${d} = ${d1}`\n texteCorr += '<br>'\n texteCorr += `The broadcast started at ${texteEnCouleurEtGras(d1)}.`\n setReponse(this, i, Hms.fromString(d1), { formatInteractif: 'hms' })\n texteInteractif = 'The show started at'\n }\n } else if (typeDeContexte[i] === 4) {\n h1 = randint(13, 16)\n m1 = randint(1, 58)\n d1 = h1 * 60 + m1\n h2 = h1 + randint(1, 2)\n m2 = randint(1, 58) // pas forcément de retenue dans d2-d1\n d2 = h2 * 60 + m2\n d = d2 - d1\n while (d < 27 || d > 75 || d === 60) {\n h1 = randint(13, 16)\n m1 = randint(35, 58)\n d1 = h1 * 60 + m1\n h2 = h1 + randint(1, 2)\n m2 = randint(1, m1) // pour s'ensure that'il y a une retenue dans d2-d1\n d2 = h2 * 60 + m2\n d = d2 - d1\n }\n d1 = minToHoraire(d1)\n d2 = minToHoraire(d2)\n h = parseInt(d / 60)\n m = d % 60\n d = minToHour(d)\n\n if (typesDeQuestions[i] === 1) {\n texte = `A dad watches his daughter's gymnastics competition from ${d1} to ${d2}. How long is this competition?`\n texteCorr = `${d1}$~\\\\xrightarrow{+${60 - m1}~\\\\text{min}}${(h1 + 1) % 24}~\\\\text{h} \\\\xrightarrow{+${((h2 - h1 - 1) > 0) ? `${(h2 - h1 - 1) % 24}~\\\\text{h}` : ''}~${m2}~\\\\min}${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}$`\n texteCorr += `<br>${d2} $-$ ${d1} = ${d}`\n texteCorr += '<br>'\n texteCorr += `The competition lasts ${texteEnCouleurEtGras(d)}.`\n setReponse(this, i, Hms.fromString(d), { formatInteractif: 'hms' })\n texteInteractif = 'The competition lasts'\n } else if (typesDeQuestions[i] === 2) {\n texte = `A gymnastics competition begins at ${d1} and lasts ${d}. What time will it be finished?`\n texteCorr = `${d1} + ${d} = ${h1 + h} h ${m1 + m} min`\n if (m1 + m > 59) texteCorr += ` = ${d2}`\n texteCorr += '<br>'\n texteCorr += `The competition will end at ${texteEnCouleurEtGras(d2)}.`\n setReponse(this, i, Hms.fromString(d2), { formatInteractif: 'hms' })\n texteInteractif = 'The competition will end at'\n } else if (typesDeQuestions[i] === 3) {\n texte = `A gymnastics competition that ends at ${d2} lasted ${d}. What time did it start?`\n texteCorr = `$${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}`\n if (h > 0) texteCorr += `\\\\xrightarrow{-${h}~\\\\text{h}} ${h2 - h}~\\\\text{h}~${m2}~\\\\text{min}`\n texteCorr += `\\\\xrightarrow{-${m2}~\\\\text{min}} ${(h2 - h) % 24}~\\\\text{h} \\\\xrightarrow{-${Math.abs(m - m2)}~\\\\text{min}} ${h1}~\\\\text{h}~${m1}~\\\\text {min}$`\n texteCorr += `<br>${d2} $-$ ${d} = ${d1}`\n texteCorr += '<br>'\n texteCorr += `The competition started at ${texteEnCouleurEtGras(d1)}.`\n setReponse(this, i, Hms.fromString(d1), { formatInteractif: 'hms' })\n texteInteractif = 'The competition began'\n }\n } else if (typeDeContexte[i] === 5) {\n h1 = randint(8, 15)\n m1 = randint(25, 58)\n d1 = h1 * 60 + m1\n h2 = h1 + randint(2, 5)\n m2 = randint(1, m1) // pour s'ensure that'il y a une retenue dans d2-d1\n d2 = h2 * 60 + m2\n d = d2 - d1\n while (d < 27 || d > 75 || d === 60) {\n h1 = randint(20, 23)\n m1 = randint(35, 58)\n d1 = h1 * 60 + m1\n h2 = h1 + 2\n m2 = randint(1, m1) // pour s'ensure that'il y a une retenue dans d2-d1\n d2 = h2 * 60 + m2\n d = d2 - d1\n }\n d1 = minToHoraire(d1)\n d2 = minToHoraire(d2)\n h = parseInt(d / 60)\n m = d % 60\n d = minToHour(d)\n\n if (typesDeQuestions[i] === 1) {\n texte = `A train leaves at ${d1} and arrives at its destination at ${d2}. How long is the journey?`\n texteCorr = `${d1}$~\\\\xrightarrow{+${60 - m1}~\\\\text{min}}${(h1 + 1) % 24}~\\\\text{h} \\\\xrightarrow{+${((h2 - h1 - 1) > 0) ? `${(h2 - h1 - 1) % 24}~\\\\text{h}` : ''}~${m2}~\\\\min}${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}$`\n texteCorr += `<br>${d2} $-$ ${d1} = ${d}`\n texteCorr += '<br>'\n texteCorr += `The journey takes ${texteEnCouleurEtGras(d)}.`\n setReponse(this, i, Hms.fromString(d), { formatInteractif: 'hms' })\n texteInteractif = 'The trip lasts'\n } else if (typesDeQuestions[i] === 2) {\n const prenom = prenomF()\n texte = `${prenom} boards the train at ${d1} for a journey that must last ${d}. What time will she arrive?`\n texteCorr = `${d1} + ${d} = ${h1 + h} h ${m1 + m} min`\n if (m1 + m > 59) texteCorr += ` = ${d2}`\n texteCorr += '<br>'\n texteCorr += `${prenom} will arrive at ${texteEnCouleurEtGras(d2)}.`\n setReponse(this, i, Hms.fromString(d2), { formatInteractif: 'hms' })\n texteInteractif = `${prenom} will arrive at`\n } else if (typesDeQuestions[i] === 3) {\n texte = `A train arrives at the station at ${d2} after a ${d} journey. What time did the trip start?`\n texteCorr = `$${h2 % 24}~\\\\text{h}~${m2}~\\\\text{min}`\n if (h > 0) texteCorr += `\\\\xrightarrow{-${h}~\\\\text{h}} ${h2 - h}~\\\\text{h}~${m2}~\\\\text{min}`\n texteCorr += `\\\\xrightarrow{-${m2}~\\\\text{min}} ${(h2 - h) % 24}~\\\\text{h} \\\\xrightarrow{-${Math.abs(m - m2)}~\\\\text{min}} ${h1}~\\\\text{h}~${m1}~\\\\text {min}$`\n texteCorr += `<br>${d2} $-$ ${d} = ${d1}`\n texteCorr += '<br>'\n texteCorr += `The journey began at ${texteEnCouleurEtGras(d1)}.`\n setReponse(this, i, Hms.fromString(d1), { formatInteractif: 'hms' })\n texteInteractif = 'The journey began'\n }\n }\n if (context.isAmc) {\n this.autoCorrection[i] =\n {\n enonce: 'In each of the boxes, show an approach or a calculation and respond with a sentence.<br>',\n enonceAvant: false,\n enonceAvantUneFois: true,\n melange: false,\n propositions: [\n {\n type: 'AMCOpen',\n propositions: [\n {\n texte: ' ',\n statut: 3, // (ici c'is the number of lines of the frame for the answer of the'élève sur AMC)\n feedback: '',\n enonce: texte + '<br>', // EE : ce champ est facultatif et fonctionnel qu'in hybrid mode (in normal mode, there is no point)\n sanscadre: false // EE : ce champ est facultatif et permet (si true) de cacher le cadre et les lignes acceptant la réponse de l'élève\n }\n ]\n }\n ]\n }\n }\n if (this.interactif) {\n texte += '<br><br>'\n texte += ajouteChampTexteMathLive(this, i, 'keyboardHms inline', { texteAvant: texteInteractif + ' :' })\n }\n\n if (this.questionJamaisPosee(i, texte)) {\n // If the question has never been asked, we create another one\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenu(this)\n }\n this.besoinFormulaireNumerique = [\n 'Difficulty level',\n 4,\n '1: Calculation of durations\\n2: Calculation of the end time\\n3: Calculation of the start time\\n4: Mixture'\n ]\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","dateDeModifImportante","uuid","ref","CalculsDeDureesOuHoraires","Exercice","typeDeContexte","combinaisonListes","typesDeQuestions","i","d1","h1","m1","d2","h2","m2","d","m","texte","texteCorr","texteInteractif","cpt","randint","minToHoraire","minToHour","texteEnCouleurEtGras","setReponse","Hms","prenom","prenomF","context","ajouteChampTexteMathLive","listeQuestionsToContenu"],"mappings":"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"}