import Exercice from '../Exercice.js'
import { listeQuestionsToContenu, numAlpha, randint } from '../../modules/outils.js'
import Trinome from '../../modules/Trinome.js'
import { mathalea2d } from '../../modules/2dGeneralites.js'
import { tableauDeVariation } from '../../modules/TableauDeVariation.js'
export const titre = 'Étude complète de paraboles'
export const interactifReady = false
export const dateDePublication = '27/10/2022'
/**
* Sommet, forme canonique et points d'intersection avec l'axe des abscisses
* @author Rémi Angot
*/
export const uuid = 'e6718'
export const ref = '1E12-2'
export default class EtudeParabole extends Exercice {
constructor () {
super()
this.nbQuestions = 1
this.nbQuestionsModifiable = false
}
nouvelleVersion () {
const a = randint(-4, 4, [-1, 0, 1])
// x1 + x2 doit être pair pour n'avoir que des nombres entiers dans les différentes formes
const x1 = randint(-5, 5, 0)
const x2 = x1 + 2 * randint(1, 4, -x1) // Pas de racines symétriques pour avoir un alpha non nul
const p = new Trinome()
p.defFormeFactorisee(a, x1, x2)
let question1 = `Dans le plan rapporté à un repère, on considère la parabole $(P)$ d'équation $y=${p.tex}$.`
question1 += `<br><br>${numAlpha(0)} Déterminer la forme canonique de $f(x) = ${p.tex}$.`
question1 += `<br><br>${numAlpha(1)} En déduire les coordonnées du sommet de la parabole et les variations de la fonction $f$ associée au polynôme $(P)$.`
let correction1 = `${numAlpha(0)} On cherche la forme canonique de $${p.tex}$ avec $a=${p.a.simplifie().texFraction}$, $b=${p.b.simplifie().texFraction}$ et $c=${p.c.simplifie().texFraction}$.`
correction1 += '<br><br> On sait que $f(x)(x-\\alpha)^2+\\beta$ avec $\\alpha = \\dfrac{-b}{2a}$ et $\\beta=f(\\alpha)$.'
correction1 += `<br><br> $\\alpha = \\dfrac{-b}{2a}=\\dfrac{${p.b.simplifie().oppose().texFraction}}{${p.a.multiplieEntier(2).simplifie().texFraction}}=${p.alpha.simplifie().texFraction}$`
correction1 += `<br><br> $\\beta = f(\\alpha) = f\\left(${p.alpha.simplifie().texFraction} \\right)=${p.texCalculImage(p.alpha.simplifie())}$`
correction1 += `<br><br> On a donc $f(x) = ${p.texFormeCanonique}$.`
correction1 += `<br><br>${numAlpha(1)} Le sommet de cette parabole a donc pour coordonnées $\\left(${p.alpha.simplifie().texFraction} \\,;\\, ${p.beta.simplifie().texFraction}\\right)$.`
correction1 += `<br><br>$f(x) = ${p.texFormeCanonique}$ avec $a ${p.a.s === 1 ? '>' : '<'} 0$ d'où le tableau de variations : `
let variations
if (a > 0) {
variations = ['Var', 30, '+/', 10, `-/$${p.beta.simplifie().texFraction}$`, 10, '+/']
} else {
variations = ['Var', 30, '-/', 10, `+/$${p.beta.simplifie().texFraction}$`, 10, '-/']
}
correction1 += '<br><br>' + mathalea2d({ xmin: -0.5, ymin: -5.1, xmax: 30, ymax: 0.1, scale: 0.5 }, tableauDeVariation({
tabInit: [
[
// Première colonne du tableau avec le format [chaine d'entête, hauteur de ligne, nombre de pixels de largeur estimée du texte pour le centrage]
['$x$', 2, 30], [`$${p.tex}$`, 2, 50]],
// Première ligne du tableau avec chaque antécédent suivi de son nombre de pixels de largeur estimée du texte pour le centrage
['$-\\infty$', 30, `${p.alpha}`, 30, '$+\\infty$', 30]
],
// tabLines ci-dessous contient les autres lignes du tableau.
tabLines: [variations],
colorBackground: '',
espcl: 3.5, // taille en cm entre deux antécédents
deltacl: 0.8, // distance entre la bordure et les premiers et derniers antécédents
lgt: 8, // taille de la première colonne en cm
hauteurLignes: [12, 25]
}))
p.defFormeFactorisee2(randint(-2, 2, [-1, 0, 1]), randint(-5, 5, 0), randint(-5, 5, 0), randint(-5, 5, 0), randint(-5, 5, 0))
const question2 = `La parabole d'équation $y = ${p.tex}$ coupe-t-elle l'axe des abscisses ? Si oui, déterminer les coordonnées de ce(s) point(s).`
let correction2 = `S'il existe un point d'intersection $M(x\\,;\\,y)$ entre la parabole et l'axe des abscisses alors $y=${p.tex} = 0$.`
correction2 += `<br><br>On calcule le discriminant de ce trinôme : $\\Delta = ${p.texCalculDiscriminantSansResultat}$.`
correction2 += `<br><br>$\\Delta = ${p.discriminant.simplifie().texFraction}$`
correction2 += '<br><br>$\\Delta$ est strictement positif donc cette équation admet deux solutions.'
correction2 += `<br><br>$${p.texCalculRacine1}$`
correction2 += `<br><br>$${p.texCalculRacine2}$`
correction2 += `<br><br>La parabole coupe donc l'axe des abscisses en deux points de coordonnées $\\left(${p.x1.simplifie().texFraction} \\,;\\, 0 \\right)$ et $\\left(${p.x2.simplifie().texFraction} \\,;\\, 0 \\right)$.`
this.listeQuestions = [question1, question2]
this.listeCorrections = [correction1, correction2]
listeQuestionsToContenu(this)
}
}