Soient \(a\) et \(b\) deux nombres réels (\(a < b\)) et \(f\) une fonction continue telle que l'on ait \(f(x)\ge0\) sur \(\left[a~;~b\right]\). On appelle \(C_f\) la représentation graphique de \(f\) dans un repère orthonormé.
On cherche à calculer une valeur approchée de l'aire du domaine situé entre :
l'axe des abscisses ;
la courbe \(C_f\) ;
les droites d'équations \(x=a\) et \(x=b\).
La figure ci-dessous (à gauche) illustre le problème avec :
Il est clair que plus le nombre de subdivisions est important, plus la valeur calculée est proche de la valeur exacte de l'aire cherchée.
Écrire la fonction aire qui prend en paramètres les entiers a et b ainsi que l'entier n strictement positif et renvoie la valeur approchée renvoyée par la méthode des rectangles décrite utilisant \(n\) rectangles.
assert ?
Le mot clé assert est utilisé en Python afin de vérifier que des propositions sont vraies.
Ainsi, l'instruction assert3+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.
La vidéo ne s'affiche pas... ?
Il peut arriver que les vidéos ne s'affichent pas sur des navigateurs basés sur Chrome, ou si un ad-blocker est activé sur le navaigateur. Essayer avec un autre navigateur si vous êtes dans ce cas (FireFox, typiquement), ou désactivez l'ad-blocker.
Comparaison de nombres flottants
Lorsqu'on écrit a = x ou x est un nombre réel, la valeur de a enregistrée en machine est une valeur approchée de x (quelques fois la valeur exacte).
Cette valeur approchée a la forme d'un nombre flottant (le type float en Python). En conséquence, alors que des calculs et des comparaisons peuvent être effectués de manière exacte sur des réels, ils ne le sont que de manière approchée sur leur représentation en machine.
On peut donc obtenir par exemple, avec a = x et b = y, l'expression a == b évaluée à True alors que x et y sont différents.
C'est pourquoi les tests ne vérifient pas l'égalité des résultats et des valeurs attendues mais leur proximité.
Ainsi, on peut vérifier que \(\sqrt{2} \approx 1,414214\) en faisantassertabs(1.414214-sqrt(2))<1e-6. Ce test vérifie que les deux valeurs sont proches à \(10^{-6}\) près.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)