MPSI - Lyc´ee Chrestien de Troyes
TP 1
Prise en main et premi`eres fonctions dans le langage Python
Rappels
On rappelle qu’on utilise ici le logiciel Pyzo qui permet d’interpr´eter le langage Python :
On fera donc attention `a chaque fois :
1. `a bien d´efinir nos fonctions dans la fenˆetre d’´edition,
2. puis une fois interpr´et´ee par le logiciel, `a les appeler dans la console interactive.
Exercice 1.1 On consid`ere la fonction fd´efinie par f(x) = ax2+bx +cavec (a, b, c)∈R3, a 6=
0. On note Cfla parabole associ´ee.
1. D´eterminer les coordonn´es (xS, yS) du sommet de la parabole qu’on notera S.
2. Dans le langage Python, construire la fonction sommet qui pour tout triplet (a, b, c) renvoie
les coordonn´ees de S.
3. Construire la fonction representation qui pour tout (a, b, c, h)∈R4renvoie la courbe
repr´esentative de la fonction fsur l’intervalle [xS−h, xS+h].
4. En utilisant une structure conditionnelle, modifier le programme pr´ec´edent de sorte que :
•si aest nul, le programme affiche le texte ”attention, ce n’est pas un polynˆome du
second degr´e”,
•sinon, le programme renvoie le graphe.
Exercice 1.2 On d´efinit la fonction fpar f(x) = 2x2−5x+ 3
x−2.
1. Pr´eciser son domaine de d´efinition, puis d´eterminer les limites aux bornes du domaine de
d´efinition.
2. Dans le langage Python, construire la fonction f.
3. Construire la fonction courbe qui pour tout couple (a, b) donn´e, renvoie la repr´esentation
graphique de fsur l’intervalle [a, b].
4. En d´eduire que Cfposs`ede une asymptotique oblique dont on devinera l’´equation
graphiquement.
5. Prouver alors rigoureusement votre r´esultat.
Exercice 1.3 1. Dans la console interactive, rentrer les instructions suivantes :
L=[k**2 for k in range(0,10)] ; max(L); min(L); sum(L); len(L)
puis pr´eciser l’int´erˆet de ces commandes.
2. Dans le langage Python, construire alors la fonction etendue qui pour toute liste donn´ee
Lrenvoie la diff´erence entre le plus grand et le plus petit terme de la liste.
3. De la mˆeme fa¸con, construire la fonction moyenne qui renvoie la moyenne des valeurs
prises dans L.
4. Pour finir, construire la fonction bool´eenne test qui pour tout couple (L, a) donn´e, teste
si la liste Lconstitu´ee de nombres r´eels ne poss`ede pas de plus grand ´el´ement que a∈R,
c’est `a dire :
•la fonction renvoie True si aest sup´erieur aux ´el´ements de L,
•sinon elle renvoie False.
Exercice 1.4 On note fune fonction continue sur le segment [a, b].
1. En utilisant la commande linspace, construire dans le langage Python, la fonction sup
qui pour tout triplet (f, a, b) renvoie la valeur supx∈[a,b]|f(x)|.
2. Tester votre programme avec la fonction sin sur [0, π] et pour laquelle vous modifierez le
nombre de points dans votre programme. Que remarquez-vous ?
Exercice 1.5 On consid`ere un polynˆome du second degr´e `a coefficients r´eels d´efini par p(x) =
ax2+bx +c.
1. Pr´eciser l’expression des racines de pen fonction de ∆ le discriminant associ´e. On se
placera d’abord dans R, puis dans C.
2. En utilisant une structure conditionnelle, construire dans le langage Python, le programme
solution qui pour tout triplet (a, b, c) donn´e, renvoie les racines r´eelles de p.
3. Modifier alors le programme pr´ec´edent afin que celui-ci renvoie les racines de p,
´eventuellement complexes. On fera attention : dans le langage Python, les nombres com-
plexes s’´ecriront a+b∗j, avec (a, b)∈R2.
Exercice 1.6 On se place dans le plan muni d’un rep`ere orthonorm´e et on consid`ere Det D0
deux droites distinctes d’´equations r´eduites :
y=ax +bet y=a0x+b0
1. D´eterminer une condition n´ecessaire et suffisante pour que ces droites soient s´ecantes, puis
dans ce cas, pr´eciser les coordonn´ees de I, le point d’intersection de ces droites.
1