Autour du second degré (1)

Cette page regroupe différents exercices simples sur les polynômes du second degré.

On rappelle qu'une fonction polynôme du second degré est une fonction définie pour tout nombre réel \(x\) par :

\[x \mapsto ax^2 + bx + c\]

dans laquelle \(a\), \(b\) et \(c\) sont des nombres réels avec \(a\) non nul.

Les exercices sont tous indépendants et peuvent être traités dans un ordre quelconque.

assert ?

Le mot clé assert est utilisé en Python afin de vérifier que des propositions sont vraies.

Ainsi, l'instruction assert 3 + 5*7 == 38 permet de vérifier que l'expression 3 + 5*7 est bien évaluée à 38.

Si c'est le cas, le programme continue de se dérouler normalement. Dans le cas contraire, le programme est interrompu et une erreur est signalée.

Définir la fonction

Le code contenu dans l'éditeur ci-dessous définit la fonction \(f:x\mapsto 5x^2-9x+3\).

Ajouter en dessous le code définissant la fonction \(g:x\mapsto -3x^2+7x+5\).

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 10/10

.128013*+ xlyg/vS)iucbtf4w9oe5Psad=(7h2-3n:1kmpr050B0w0q0A0m0f0z0d0o0f0A0z0z0C010q0m0O010406050z0n0N0N0A0P0g040k0v0f0n0*0v0J050i0;0?0^0`0/0O04131a051d0i1d1f1a0/0B0m0j0Y0!0$0(0F0m0h0F0f1t0F0q0-050T0p0f0w1o0#0%011s1u1w1u0q1C1E1A0q0p0v0B0`1B0P1b0q0F0Y0}0z0O0A0J0(0G011G1q010r0V0w0J0A0N0w1A1(1*1/1I1=1E1^1`0-0a0d0y0P0v0O0v0z0m100J0d0R1$0P0P0w0o2f131}0J1b0i1!2s0q1Y1X1Z0B1 0(1w0J1@2c1A1l1n0Z1H2C0m2E0J1U1m1A0O2l1b2q2s2W0:1)2g2K1:2P0P0@0f0-0L2p2!0.2Z1~2$1I2(2*0-0G2.1*2:2q2B012^0A2+040I2|2r0/2 2?0(32340s372~2!303d0-0x3g1c2U132I2v0B2z300o1U1{1b3r1e3p2Y142/053w0R2V3i3b010M0-0R0r3n3a1p1I0t0-0d3R3K3T3c0r0-3Q3E2}2;2#3!010,040D3Y2=3-0J0-0e3=3,2L3.0-0l0K3g060d443X3S3}3N042l0q0n0P123)2r463Z3}0N0m3l3g4i3?3}0v0-0b4o3+3j3_3{304s040b4u4g3J4q1:4l2`4v471:4B0H4L4j4I4m040u4Q4H1I4B4E2W4p3|2%4y4F4$4A0-0c4W4%1I4J3542394R1I493P4z3L3V043X4F4w3L0J3$040h4}3-3/3;524M2@4)2Y5e0(3/4042454+3L494b4d4f4#533-4O594k4T364*5v4r4t4/4x043`5d4_0(4Z4!3F5i014=2{5C5Q4B4.5U5L5R4T0E5G3L4Z5%3@5g2/5o5w4-5*5z4n4F0/0i3H0w2s2T5{3q1m3s2v2x2t1T1V2v0A1D5~0i3r5^0R0T0V0z04.
Tableau de valeurs

On souhaite dans cet exercice calculer les images de certains nombres par une fonction \(f\).

On considère donc une fonction \(f\) définie dans le corps du programme ainsi qu'une fonction valeurs qui prend en paramètres :

  • la fonction dont on souhaite calculer les valeurs ;
  • deux nombres entiers x_min et x_max.

La fonction valeurs renvoie la liste des images par la fonction passée en argument des entiers compris entre \(x_{min}\) et \(x_{max}\) (inclus l'un et l'autre).

On garantit que \(x_{min} \leqslant x_{max}\) et que la fonction polynôme a des coefficients entiers.

Exemples
>>> def f(x):
...     return x**2
>>> valeurs(f, 0, 1)  # images de 0 et 1 par x ↦ x^2
[0, 1]
>>> valeurs(f, 0, 3)  # images de 0, 1, 2 et 3 par x ↦ x^2
[0, 1, 4, 9]

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 10/10

.128013*]+ xl6[yg/vS)iucbtf48woe5P.sa_d=(7h2,3n:1kmpr050G0z0t0E0p0g0D0e0r0g0E0D0D0H010t0p0T010406050D0q0S0S0E0U0j040n0y0g0q0/0y0O050l0_0{0}0 0@0T04181f051i0l1i1k1f0@0G0p0m0%0)0+0-0K0p0k0K0g1y0K0t0=050Y0s0g0z1t0*0,011x1z1B1z0t1H1J1F0t0s0y0G0 1G0U1g0t0K0%120D0T0E0O0-0L011L1v010u0!0z0O0E0S0z1F1-1/1@1N1`1J1}1 0=0a0e0B0U0y0T0y0D0p150O0e0W1+0U0U0z0r2k18220O1g0l1)2x0t1%1$1(0G240-1B0O1|2h1F1q1s0(1M2H0p2J0O1Z1r1F0T2q1g2v2x2#0^1.2l2P1^2U0U0|0g0=0Q2u2)0?2(232+1N2-2/0=0L2?1/2^2v2G012}0E2:040N312w0@342{0-37390v3c332)353i0=0A3l3e3n3g360y2.380=0h3s2_2*1u2|3x2~040J3C3f3F3h3H3z040w3l1h2Z182N2A0G2E350r1Z201g3X1j3V2%192@053$0W2!3u3N010R0=0W0u3T3M2Q010x0=0e3~3@400O0u0=3}3.323D350;040I452`3^0O0=0f4j3E404g0o0P3s0e4w443 1^3`042q0t0q0U174c2w4y462,4n4p350y0=0b0b4O3v0S0p2 3s3t4k404B3|4U3^4204444I3?4#2,49040m380z4F0D4)4r0=4i4.4e3v4m040u162s0p164|1^4g0M3l4K4:2|4n0F4W4H2%4z1N5c5e514l5i0|4o505n0-4s4u4.064x5f4q4M041U0z0E0q5q5x014Q040H5M4L5o0=0i0c4v4x5r4$4a3x5S5g3h4N4.5E4P4+2S5(5F2|0s0=0U1/0k0z5a5U4h5}5*040f5j5:5w5T5y0=5d5,5!5G635u5;4P0=0d6g4V4X042=665)015z5Y5D4w6c5h5H0E1I5J5L6p5=0-5P0C60360=0E0T0T1|0G6I4g4 5m676J54562t6D4f4~6I535v6T6q4s0o6t5-3v4B4D4F5l2@6.5s6y6A5K3C0l3;0z2x2Y703W1r3Y2A2C2y1Y1!2A6z1J2x3X0@0l0W0Y0!0D04.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 10/10

.128013*]+ xl6[yg/vS)iucbtf48woe5P.sa_d=(7h2,3n:1kmpr050G0z0t0E0p0g0D0e0r0g0E0D0D0H010t0p0T010406050D0q0S0S0E0U0j040n0y0g0q0/0y0O050l0_0{0}0 0@0T04181f051i0l1i1k1f0@0G0p0m0%0)0+0-0K0p0k0K0g1y0K0t0=050Y0s0g0z1t0*0,011x1z1B1z0t1H1J1F0t0s0y0G0 1G0U1g0t0K0%120D0T0E0O0-0L011L1v010u0!0z0O0E0S0z1F1-1/1@1N1`1J1}1 0=0a0e0B0U0y0T0y0D0p150O0e0W1+0U0U0z0r2k18220O1g0l1)2x0t1%1$1(0G240-1B0O1|2h1F1q1s0(1M2H0p2J0O1Z1r1F0T2q1g2v2x2#0^1.2l2P1^2U0U0|0g0=0Q2u2)0?2(232+1N2-2/0=0L2?1/2^2v2G012}0E2:040N312w0@342{0-37390v3c332)353i0=0A3l3e3n3g360y2.380=0h3s2_2*1u2|3x2~040J3C3f3F3h3H3z040w3l1h2Z182N2A0G2E350r1Z201g3X1j3V2%192@053$0W2!3u3N010R0=0W0u3T3M2Q010x0=0e3~3@400O0u0=3}3.323D350;040I452`3^0O0=0f4j3E404g0o0P3s0e4w443 1^3`042q0t0q0U174c2w4y462,4n4p350y0=0b0b4O3v0S0p2 3s3t4k404B3|4U3^4204444I3?4#2,49040m380z4F0D4)4r0=4i4.4e3v4m040u162s0p164|1^4g0M3l4K4:2|4n0F4W4H2%4z1N5c5e514l5i0|4o505n0-4s4u4.064x5f4q4M041U0z0E0q5q5x014Q040H5M4L5o0=0i0c4v4x5r4$4a3x5S5g3h4N4.5E4P4+2S5(5F2|0s0=0U1/0k0z5a5U4h5}5*040f5j5:5w5T5y0=5d5,5!5G635u5;4P0=0d6g4V4X042=665)015z5Y5D4w6c5h5H0E1I5J5L6p5=0-5P0C60360=0E0T0T1|0G6I4g4 5m676J54562t6D4f4~6I535v6T6q4s0o6t5-3v4B4D4F5l2@6.5s6y6A5K3C0l3;0z2x2Y703W1r3Y2A2C2y1Y1!2A6z1J2x3X0@0l0W0Y0!0D04.
Représenter la fonction

On souhaite dans cet exercice représenter graphiquement une fonction définie dans le corps du programme.

Pour cela on fournit la fonction dessine qui prend en paramètre une liste points contenant des couples de nombres correspondants aux points à placer dans le graphe et construit la représentation graphique correspondante.

Cette fonction est déjà importée dans l'éditeur. Vous pouvez directement l'utiliser.

Compléter la fonction graphique qui prend en paramètres la fonction à représenter ainsi que trois entiers a, b et n. Cette fonction représente la fonction passée en paramètre en construisant n de ses points dont les abscisses sont uniformément réparties entre a et b.

Cette fonction ne renvoie rien et votre code ne sera donc pas testé. Assurez-vous néanmoins d'obtenir des graphiques correspondants à vos attentes.

On garantit que a est strictement inférieur à b et que n est strictement positif.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Votre courbe sera ici

Sommet de la parabole

La représentation graphique d'une fonction du second degré est une parabole.

Si \(h\) est la fonction définie sur \(\mathbb{R}\) par \(h(x)=ax^2+bx+c\), le sommet de cette parabole a pour coordonnées \(\left(-\dfrac{b}{2a}~;~h\left(-\dfrac{b}{2a}\right)\right)\).

Écrire la fonction sommet qui prend en paramètres les valeurs des coefficients \(a\), \(b\) et \(c\) et renvoie les coordonnées du sommet de la représentation graphique de la fonction \(x\mapsto ax^2+bx+c\).

On rappelle qu'il est garanti que \(a\) est non nul.

Exemples
>>> sommet(1, 0, 0)
(0.0, 0.0)
>>> sommet(1, -8, 3)
(4.0, -13.0)

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 10/10

.128013*+ xlyg/vS)iucbtf4woePsad=(h2,-3n:1kmpr050z0v0q0y0m0f0x0d0o0f0y0x0x0A010q0m0M010406050x0n0L0L0y0N0g040k0u0f0n0(0u0H050i0/0;0?0^0-0M041118051b0i1b1d180-0z0m0j0W0Y0!0$0C0m0h0C0f1r0C0q0+050R0p0f0v1m0Z0#011q1s1u1s0q1A1C1y0q0p0u0z0^1z0N190q0C0W0{0x0M0y0H0$0D011E1o010r0T0v0H0y0L0v1y1$1(1-1G1:1C1?1^0+0a0d0w0N0u0M0u0x0m0~0H0d0P1!0N0N0v0o2d111{0H190i1Y2q0q1W1V1X0z1}0$1u0H1=2a1y1j1l0X1F2A0m2C0H1S1k1y0M2j192o2q2U0.1%2e2I1.2N0N0=0f0+0J2n2Y0,2X1|2!1G2$2(0+0D2,1(2.2o2z012?0y2)040G2`2p0-2}2;0$30320s352q2R0v2q2G2t0z2x2~0o1S1_193j1c2S2/2p3e053o0P2T2Y2~0K0+0P0r3x381n1G0t0+0d3I3C392 0r0+0x0u0;0Q3P2:3K0$0*040B3Z2Z3#2 0+0y3*2~3%0E3e3O3J2J3-040p3:3R3=3@3v2~0H0+0o3~3,3%0l0I3e060d4e3^3Q3,44040e413_1.0u0+0A4m4h3`4p040F473`4j3}122-4g3!4u0+0i4s4F1.3%3)4C2{423R0L0m2^4J3+4G040b4V433.4y4L0+0l4c4f4E4W2#0+0g4!3R4v4r4O2p4-4#043/4_044{4?0+4Z4 514i0+4l4 4Q3,4v0b542W4n1G4S4U555b4X0c4=573|5p4X5f4D5m4/4k5s4o0+5o5l5h3a454+4f5w1G3E042j0q0n0N105D4t4(3(4%2=585W3$0+3?5S4K5X044;5a5E01494c113z3h1a3u0i3s2r3l112u2t1R1T2t0y1B5?5_1k2.5_0Q0S0U04.
Variations

Les fonctions du second degré n'admettent que deux types de variations. Elles peuvent être :

  • décroissantes sur \(\left]-\infty~;~-\dfrac{b}{2a}\right]\) puis croissantes sur \(\left[-\dfrac{b}{2a}~;~+\infty\right[\);

  • croissantes sur \(\left]-\infty~;~-\dfrac{b}{2a}\right]\) puis décroissantes sur \(\left[-\dfrac{b}{2a}~;~+\infty\right[\).

Variations possibles

Écrire la fonction variations qui prend en paramètres les valeurs des coefficients \(a\), \(b\) et \(c\) et renvoie :

  • "v" si la fonction est décroissante puis croissante ;

  • "^" si la fonction est croissante puis décroissante.

Exemples
>>> variations(1, 0, 0)
'v'
>>> variations(-1, -8, 3)
'^'

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 10/10

.128013; lyg/vS)iucbtf4w0oe5Psad=(^h2,3n:1kmpr050z0u0o0y0k0d0x0c0m0d0y0x0x0A010o0k0M010406050x0l0L0L0y0N0e040i0t0d0l0(0t0H050g0/0;0?0^0-0M041118051b0g1b1d180-0z0k0h0W0Y0!0$0D0k0f0D0d1r0D0o0+050R0n0d0u1m0Z0#011q1s1u1s0o1A1C1y0o0n0t0z0^1z0N190o0D0W0{0x0M0y0H0$0E011E1o010p0T0u0H0y0L0u1y1$1(1-1G1:1C1?1^0+0a0c0w0N0t0M0t0x0k0~0H0c0P1!0N0N0u0m2d111{0H190g1Y2q0o1W1V1X0z1}0$1u0H1=2a1y1j1l0X1F2A0k2C0H1S1k1y0M2j192o2q2U0.1%2e2I1.2N0N0=0d0+0J2n2Y0,2X1|2!1G2$2(0+0E2,1(2.2o2z012?0y2)040G2`2p0-2}2;0$30320q352|2Y2~3b0+0v3e1a2S112G2t0z2x2~0m1S1_193p1c3n2W122-053u0P2T3g39010K0+0P0p3l381n1G0r0+0c3P3I3R3a0p0+0h0?0k0y2d0x3W2:3Y010*040B3,2Z3.0H0+0y3?2~3:0F3e3V3Q2J2 0+0n3|3J3~402/3@433_040m473.3:0j0I3e060c4o413X433L040k3O3C2{4q3-4d3`4a421.0t0+020d0o0b4D4r1.0L0k0+0s4h433:4l4x364p4Z4z4c1.4t2j0o0l0N104X044#2~0x1+04010C014m4Z4b2~4t0u0U0u4T1.4V4{4!4o4}3J4(0Q4+4-2U4:3J4=0+010h4`4.0-0g3F0u2q2R5r3o1k3q2t2v2r1R1T2t0y1B5u0g3p5o0P0R0T0x04.