Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Licence CC BY-NC-ND Thierry Parmentelat & Arnaud Legout Inria - UCA

Exercice - niveau basique

Fonction de divisibilité

L’exercice consiste à écrire une fonction baptisée divisible qui retourne une valeur booléenne, qui indique si un des deux arguments est divisible par l’autre.

Vous pouvez supposer les entrées a et b entiers et non nuls, mais pas forcément positifs.

# par exemple
from corrections.exo_divisible import exo_divisible
exo_divisible.example()
Loading...
def divisible(a, b):
    "<votre_code>"

Vous pouvez à présent tester votre code en évaluant ceci, qui écrira un message d’erreur si un des jeux de test ne donne pas le résultat attendu.

# tester votre code
exo_divisible.correction(divisible)
Loading...

Exercice - niveau basique

Fonction définie par morceaux

On veut définir en Python une fonction qui est définie par morceaux :

f:x{x5si x50si x[5,5]15x1si x5f: x \longrightarrow \left\{ \begin{array}{ll} -x - 5 & \mbox{si } x \leqslant -5 \\ 0 & \mbox{si } x \in [-5, 5] \\ \frac{1}{5}x -1 & \mbox{si } x \geqslant 5 \\ \end{array} \right.
# donc par exemple
from corrections.exo_morceaux import exo_morceaux
exo_morceaux.example()
The history saving thread hit an unexpected error (OperationalError('attempt to write a readonly database')).History will not be written to the database.
Loading...
# à vous de jouer

def morceaux(x):
    return 0 # "votre code"
# pour corriger votre code
exo_morceaux.correction(morceaux)
Loading...

Représentation graphique

L’exercice est terminé, mais nous allons maintenant voir ensemble comment vous pourriez visualiser votre fonction.

Voici ce qui est attendu comme courbe pour morceaux (image fixe) : graphe morceaux

En partant de votre code, vous pouvez produire votre propre courbe en utilisant numpy et matplotlib comme ceci :

# on importe les bibliothèques
import numpy as np
import matplotlib.pyplot as plt
# un échantillon des X entre -10 et 20
X = np.linspace(-10, 20)

# et les Y correspondants
Y = np.vectorize(morceaux)(X)
# on n'a plus qu'à dessiner
plt.plot(X, Y)
plt.show()
<Figure size 640x480 with 1 Axes>