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'expression 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)
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 : 5/5

.128013(lbsSetxph-rd5f1uma"ov+7g/3=in k:)y *2Pc030h0a0b0n0x06080E0I060n08080w0o0b0x0d0o020z03080l0m0m0n0g0D02090p060l0Z0p0y030u0)0+0-0/0'0d0203120{150u120'0h0x0q0R0T0V0X0e0x0t0e061j0e0b0$030M07060a1e0U0W0o1i1k1m1k0b1s1u1q0b0g130b0e0R0=080d0n0y0X0G0o1w1g0o0j0O0a0y0n0m0a1q1P1R1W1y1Z1u1$1'0$040E0H0g0p0d0p080x0^0y0E0K1N0g0g0a0I1 0{1*0y130u1L2c1I1K1J1r0h1,0X1m0y1#1|1q1b1d0S1x2m0x2o0y0p2s1q0d25132a2c2G0(1Q202u1X2z0g0,060$0k292K0%2J1+2M1y2O2Q0$0G2U1R2c2D0a2c2s2f0h1K2k2Z0X0I2A1(132.142E2X2b2(302^0K2F2K2l0o0A0$0K0j31020E2 370y0j0$0t3d3g2?0o0#02053m2a3h0$0c3t363o3q0C0B3d0z0E3G3f3u3o3902250b0l0g0`0|2V3I3z1f1y0p0$0f3y2Y3W0X0m0x0$0v3d3U3$2v0o3Y020F3,3n3%0o0y3w3#2L3_3;0F3?3S2)3^3/3(2%3@3J3 0$0r493V463)020s4e3.1X404k3~3/3{023x432b3-4p4m4c4o3747020i3E0{332,162~0u2|2d2:0{2g4P0n1t4I4L1c2W4L0L0N0P02.
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)
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 : 5/5

.128013[(lbsS]etxph4rd.5f1uma"ov+wg,_/3=in k:)y 2Pc030j0c0d0q0C07090J0M070q09090B0r0d0C0f0r020E03090o0p0p0q0i0I020a0s070o0%0s0D030z0-0/0;0?0+0f0203160 190z160+0j0C0t0V0X0Z0#0g0C0w0g071n0g0d0)030Q08070c1i0Y0!0r1m1o1q1o0d1w1y1u0d0i170d0g0V0_090f0q0D0#0K0r1A1k0r0m0S0c0D0q0p0c1u1T1V1!1C1%1y1)1+0)040J0L0i0s0f0s090C0|0D0J0O1R0i0i0c0M230 1.0D170z1P2g1M1O1N1v0j1:0#1q0D1(201u1f1h0W1B2q0C2s0D0s2w1u0f29172e2g2K0,1U242y1#2D0i0:070)0n2d2O0*2N1/2Q1C2S2U0)0K2Y1V2!2e2p0r2(0q2V020A2,2f0+2/2%0#2=2@0h2`2.2O2:300)0l331a2I0 2w2j0j1O2o2~0r0M2E1,173e183c2M102Z033l0O2J353j0F0)0O0m330J2#2P1j2'0m0)0t2?0c0o0i093a2}3J0#0(02063T3z3V2;0)0m0}2b0C0}3!2$3$3X0x3F3H360)0e0y0p2B3-3I2z0r3:3=3U3 0D3^3`0q0e3}2:3X0H0G330E0J4h3G432R0)1J0c0q0o423#3 0s0)0B4r3.3 3X050b4f4i4j4s1#3B023(0i4x3~4l02493t2-4F4y1#0s0v0)3|4R2f4T4N2'080)0i1V0w0c4a3j3X3Z4!3y4U2'463{0~4=3?4/0)3;4=4$3@4P474Q2K523j4u020u4M2:3{2W4.3/0)4d4D4E4i4}3$45024n4p5h4t0)0k5u4O0q0f0f1(0j5y1C4:5F2 3'3)2c4|4k5G0)4;2M5O5J4P5I405j0H5l4h5o3 4I290d3Q4{575$4O5s4q4=0+0z3w0c2g2H5^3d1g3f2j2m2h0q1x5{0z3e5=0O0Q0S0902.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
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 : 5/5

.128013[(lbsS]etxph4rd.5f1uma"ov+wg,_/3=in k:)y 2Pc030j0c0d0q0C07090J0M070q09090B0r0d0C0f0r020E03090o0p0p0q0i0I020a0s070o0%0s0D030z0-0/0;0?0+0f0203160 190z160+0j0C0t0V0X0Z0#0g0C0w0g071n0g0d0)030Q08070c1i0Y0!0r1m1o1q1o0d1w1y1u0d0i170d0g0V0_090f0q0D0#0K0r1A1k0r0m0S0c0D0q0p0c1u1T1V1!1C1%1y1)1+0)040J0L0i0s0f0s090C0|0D0J0O1R0i0i0c0M230 1.0D170z1P2g1M1O1N1v0j1:0#1q0D1(201u1f1h0W1B2q0C2s0D0s2w1u0f29172e2g2K0,1U242y1#2D0i0:070)0n2d2O0*2N1/2Q1C2S2U0)0K2Y1V2!2e2p0r2(0q2V020A2,2f0+2/2%0#2=2@0h2`2.2O2:300)0l331a2I0 2w2j0j1O2o2~0r0M2E1,173e183c2M102Z033l0O2J353j0F0)0O0m330J2#2P1j2'0m0)0t2?0c0o0i093a2}3J0#0(02063T3z3V2;0)0m0}2b0C0}3!2$3$3X0x3F3H360)0e0y0p2B3-3I2z0r3:3=3U3 0D3^3`0q0e3}2:3X0H0G330E0J4h3G432R0)1J0c0q0o423#3 0s0)0B4r3.3 3X050b4f4i4j4s1#3B023(0i4x3~4l02493t2-4F4y1#0s0v0)3|4R2f4T4N2'080)0i1V0w0c4a3j3X3Z4!3y4U2'463{0~4=3?4/0)3;4=4$3@4P474Q2K523j4u020u4M2:3{2W4.3/0)4d4D4E4i4}3$45024n4p5h4t0)0k5u4O0q0f0f1(0j5y1C4:5F2 3'3)2c4|4k5G0)4;2M5O5J4P5I405j0H5l4h5o3 4I290d3Q4{575$4O5s4q4=0+0z3w0c2g2H5^3d1g3f2j2m2h0q1x5{0z3e5=0O0Q0S0902.
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)
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 : /∞

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)
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 : 5/5

.128013(lbsSetxph4rd-f1uma"ov+g,/3=in k:)y *2Pc030h0a0b0n0x06080E0I060n08080w0o0b0x0d0o020z03080l0m0m0n0g0D02090p060l0Z0p0y030u0)0+0-0/0'0d0203120{150u120'0h0x0q0R0T0V0X0e0x0s0e061j0e0b0$030M07060a1e0U0W0o1i1k1m1k0b1s1u1q0b0g130b0e0R0=080d0n0y0X0G0o1w1g0o0j0O0a0y0n0m0a1q1P1R1W1y1Z1u1$1'0$040E0H0g0p0d0p080x0^0y0E0K1N0g0g0a0I1 0{1*0y130u1L2c1I1K1J1r0h1,0X1m0y1#1|1q1b1d0S1x2m0x2o0y0p2s1q0d25132a2c2G0(1Q202u1X2z0g0,060$0k292K0%2J1+2M1y2O2Q0$0G2U1R2W2a2l0o2#0n2R020v2(2b0'2+2Z0X2.2:0f2?2c2D0a2c2s2f0h1K2k2`0o0I2A1(1334142E2X2b2 033b0K2F2K2,0A0$0K0j2 0E3i2,0y0j0$080p0+0L3k2_1f1y0#02053G3p390y0$0n3N2Y3I0X3K0t3v3x3P0$073T2L3V0o3X3Z3H2v2-0$0I3'2,3K0C0B2 0z0E3|3w3-2N0$0c3,3O3)0p0$0w433U3.46020i3=3#023%0|2V3~444b0$0u493(3.3K3M4j2)3!3)0m0x2%4q2,4c0F4C4g3S4v3j3 3J0$0C3`3}4l4a40020D4G45474W3.3Q024I2G4R4r1X4E4Z4T424J3o4S1y4E4F4/4x3.4z4B4/4(4D0$0r4,2!3$520X4+4}4_4-550o4c51584L2{3:4P3}591y3r02250b0l0g0`5f4m1X4t4f3)4#4.2I5g3*0$3Y5u4;5h4U5y4s4N3`0{3m32163h0u3f2d360{2g5Y0n1t5R5U1c2W5U0L0N0P02.
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)
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 : 5/5

.128013(lbsS^etph4rd;5f10uma"ovg,/3=in k:)y q2Pc030h0b0c0p0y06080F0J060p08080x0q0c0y0d0q020A03080n0o0o0p0g0E02090r060n0!0r0z030v0*0,0.0:0(0d0203130|160v130(0h0y0s0S0U0W0Y0e0y0t0e061k0e0c0%030N07060b1f0V0X0q1j1l1n1l0c1t1v1r0c0g140c0e0S0?080d0p0z0Y0H0q1x1h0q0k0P0b0z0p0o0b1r1Q1S1X1z1!1v1%1(0%040F0I0g0r0d0r080y0_0z0F0L1O0g0g0b0J200|1+0z140v1M2d1J1L1K1s0h1-0Y1n0z1$1}1r1c1e0T1y2n0y2p0z0r2t1r0d26142b2d2H0)1R212v1Y2A0g0-060%0l2a2L0'2K1,2N1z2P2R0%0H2V1S2X2b2m0q2$0p2S020w2)2c0(2,2!0Y2/2;0f2@2+2L2-2}0%0j30172F0|2t2g0h1L2l2{0q0J2B1)143b15392J0}2W033i0L2G323g0B0%0L0k300F2Y2M1g2#0k0%0s0.0y0p2008372`3G0Y0$02053Q3w3S2.0%0p3X2Z3Z3U0u3C3E330%073%3F2w0q3)3+3R3=0z0%0J3:2-3U0D0C300A0F453D3_1Y3y020y3B3q2*473Y3`3#3^4h1Y0r0%00060c0i4k3'3=0o0y0%0m3~3g3U424e2^464G4g4u490%260c0n0g0{4E024I3;1Y081V02000G0n0r4r0a4Z4#4r434G3,3x0%0b0Q0b4A3(0%4D2H444H454-3Z4a4M4O4Q2H4T2-4W4o4!4$0i0s4(5a430|3t0b2d2E5i3a1d3c2g2j2e0p1u5l0v3b0(5v0M0O0Q02.