L'exercice n°3 concerné sur 5 points et donc à traiter en un maximum d'1 heure, commençait par une petite étude de fonction en partie A:
On retiendra juste de cette partie pour la suite que la fonction f est strictement croissante sur ]e-1;+∞[.
Et voici donc la partie B avec l'algorithme, sur la méthode des rectangles pour l'approximation d'une intégrale:
Question B)1)a)
On sait que l'algorithme est destiné à estimer l'intégrale par la méthode des rectangles.
En partant de l'initialisation U=V=0, à chaque itération U est incrémenté de
$mathjax$\frac{1}{n}f\left(1+\frac{k}{n}\right)$mathjax$
et V est incrémenté de $mathjax$\frac{1}{n}f\left(1+\frac{k+1}{n}\right)$mathjax$
.Or, comme e-1≤1, f est strictement croissante sur [1;2].
$mathjax$f\left(1+\frac{k}{n}\right)≤f\left(1+\frac{k+1}{n}\right)$mathjax$
et donc $mathjax$\frac{1}{n}f\left(1+\frac{k}{n}\right)≤\frac{1}{n}f\left(1+\frac{k+1}{n}\right)$mathjax$
.Ce qui implique à tout moment dans l'algorithme l'invariant U≤V.
U représente donc l'approximation de l'intégrale par les rectangles inférieurs, soit l'aire des rectangles hachurés deux fois.
V représente donc l'approximation de l'intégrale par les rectangles supérieurs, soit l'aire de tous les rectangles hachurés.
Question B)1)b)
Si l'on a parfaitement compris ce que faisait l'algorithme à la question précédente, la réponse est ici simple au sens où il suffit de faire un simple calcul que l'on retrouve si besoin en observant le graphe donné avec l'énoncé:
$mathjax$U=\frac{1}{4}\left(f(1)+f\left(\frac{5}{4}\right)+f\left(\frac{3}{2}\right)+f\left(\frac{7}{4}\right)\right)\approx0,4666$mathjax$
$mathjax$V=\frac{1}{4}\left(f\left(\frac{5}{4}\right)+f\left(\frac{3}{2}\right)+f\left(\frac{7}{4}\right)+f(2)\right)\approx0,8132$mathjax$
Si l'on n'a pas ces résultats ou si l'on en doute, il va donc falloir exécuter l'algorithme.
Notons que cet algorithme utilise une fonction f qu'il ne définit pas.
Lors de la traduction en un programme pour calculatrice graphique, il va falloir en tenir compte, et:
- soit remplacer toutes les occurrences de f par l'expression associée
- soit définir la fonction dans l'application de la calculatrice dédiée à cette tâche avant de lancer le programme
- soit définir la fonction au sein du programme
Pour définir une fonction dans un programme sur TI-76/82/83/84, nous allons utiliser l'instruction String>Equ( que l'on peut aller chercher dans la catalogue:
Nous y définirons Y1 en fonction de X. Mais le langage de programmation étant procédural et non fonctionnel, pour chaque calcul d'image il faudra donc affecter X avant d'évaluer Y1:
L'on confirme bien les résultats précédents.
Sur Casio Graph/fx-CG, l'utilisation d'une fonction définie dans le programme est assez similaire.
Sur Casio Classpad/fx-CP (ci-contre), nous avons vraiment la notion de fonction dans un programme, et la définition et l'utilisation n'en sont que bien plus naturelles.
Nous préciserons toutefois en début de programme que l'on souhaite travailler en écriture décimale avec 'SetDecimal'. Sans cela, la calculatrice utilisera le dernier mode de l'évaluateur de programmes, et affichera possiblement des valeurs exactes que l'on ne demande pas ici.
Mêmes compliments pour le langage de programmation fonctionnel de la TI-Nspire/89/92/Voyage.
Ici, nous devons effectuer le lancement du programme en validant avec sur les modèles formels, afin de bien obtenir des affichages en écriture décimale et non exacte:
Sur HP-39gII/Prime, il existe au moins trois façons de définir une fonction dans un programme. La plus simple, qui de plus a l'avantage de marcher sur les deux modèles me semble toutefois être la suivante:
Question B)1)c)
f(1)=1ln(1)=1×0=0
Or, f est strictement croissante sur [1;2] d'après B)1)a).
Donc, pour tout
$mathjax$x\in[1;2]$mathjax$
, f(x)≥f(1) soit f(x)≥0.Dans ces conditions,
$mathjax$A=\int_1^2f(x)dx$mathjax$
.L'encadrement de l'intégrale par la méthode des rectangles est donc aussi un encadrement de l'aire.
0,4666≤A≤0,8132
Voici maintenant la suite de l'exercice:
Question B)2)a)
$mathjax$\begin{align*}V_n-U_n&=\frac{1}{n}\left(f\left(1+\frac{1}{n}\right)+f\left(1+\frac{2}{n}\right)+...+f\left(1+\frac{n-1}{n}\right)+f(2)\right)-\frac{1}{n}\left(f(1)+f\left(1+\frac{1}{n}\right)+f\left(1+\frac{2}{n}\right)+...+f\left(1+\frac{n-1}{n}\right)\right)\\
&=\frac{1}{n}\left(f\left(1+\frac{1}{n}\right)+f\left(1+\frac{2}{n}\right)+...+f\left(1+\frac{n-1}{n}\right)+f(2)-f(1)-f\left(1+\frac{1}{n}\right)-f\left(1+\frac{2}{n}\right)-...-f\left(1+\frac{n-1}{n}\right)\right)\\
&=\frac{1}{n}\left(f(2)-f(1)\right)\\
&=\frac{1}{n}\left(2\ln(2)-1\ln(1)\right)\\
&=\frac{1}{n}\left(2\ln(2)-1×0\right)\\
&=\frac{1}{n}\left(2\ln(2)-0\right)\\
&=\frac{1}{n}\left(2\ln(2)\right)\\
&=\frac{2\ln(2)}{n}\end{align*}$mathjax$
&=\frac{1}{n}\left(f\left(1+\frac{1}{n}\right)+f\left(1+\frac{2}{n}\right)+...+f\left(1+\frac{n-1}{n}\right)+f(2)-f(1)-f\left(1+\frac{1}{n}\right)-f\left(1+\frac{2}{n}\right)-...-f\left(1+\frac{n-1}{n}\right)\right)\\
&=\frac{1}{n}\left(f(2)-f(1)\right)\\
&=\frac{1}{n}\left(2\ln(2)-1\ln(1)\right)\\
&=\frac{1}{n}\left(2\ln(2)-1×0\right)\\
&=\frac{1}{n}\left(2\ln(2)-0\right)\\
&=\frac{1}{n}\left(2\ln(2)\right)\\
&=\frac{2\ln(2)}{n}\end{align*}$mathjax$
Donc:
$mathjax$V_n-U_n<0,1\Leftrightarrow\frac{2\ln(2)}{n}<0,1\Leftrightarrow2\ln(2)<0,1n$mathjax$
car n≥0$mathjax$\Leftrightarrow\frac{2\ln(2)}{0,1}<n\Leftrightarrow n>\frac{2\ln(2)}{0,1}$mathjax$
Or,
$mathjax$\frac{2\ln(2)}{0,1}\approx 13,9$mathjax$
d'après la calculatrice.Donc n≥14.
Le plus petit entier n vérifiant la propriété est donc 14.
Question B)2)b)
Voici une modification possible de l'algorithme:
La boucle 'pour' permettant de calculer l'encadrement, pour rechercher un encadrement avec V-U<0,1, nous allons la répéter tant que cette condition n'est pas satisfaite (V-U≥0,1).
A chaque itération de cette boucle tant que, on incrémente donc n et réinitialise les variables U et V pour pouvoir faire le calcul.
Plus rien n'étant connu sur n, on l'initialise à 0.
Nous initialiserons de plus V à 1, astuce pour garantir que l'on passe au moins une fois dans la boucle tant que suivante (car V-U=1-0=1≥0,1).
- Code: Select all
Variables
k et n sont des entiers naturels
U, V sont des nombres réels
Initialisation
U prend la valeur 0
V prend la valeur 1 (*)
n prend la valeur 0 (*)
Traitement
[color=red]Tant que V-U≥0,1
U prend la valeur 0 (*)
V prend la valeur 0 (*)
n prend la valeur n+1 (*)
Pour k allant de 0 à n-1
Affecter à U la valeur
Affecter à V la valeur
Fin pour
Fin tant que (*)
Affichage
Afficher U
Afficher V
Ce n'était pas demandé, mais pour savoir si notre algorithme modifié faisait bien ce que l'on voulait, il était bienvenu de le programmer sur la calculatrice encore une fois. De plus, cela pourra permettre de vérifier la cohérence des résultats en fin d'exercice.
On va même en profiter pour rajouter l'affichage de N en fin de programme.
Voici donc des programmes pour TI-76/82/83/84, TI-Nspire/89/92/Voyage, Casio Graph/fx-CG, HP-39gII/Prime et Casio Classpad/fx-CP:
Les programmes se terminent sur calculatrice pour n=14 en fournissant 0,5870≤A≤0,6861, qui est bien une restriction de l'encadrement en B)1)c) d'amplitude inférieure à 0,1.
L'exercice n'est pas tout-à-fait terminé, mais pour les algorithmes, c'est bien fini.
Par rapport aux 'amusements' que nous avions habituellement sur les suites au BAC, c'est donc un algorithme bien plus difficile, surtout si on devait le programmer sur calculatrice, avec cette utilisation d'une fonction dans un programme, cas possiblement jamais rencontré auparavant. Merci d'ailleurs à Planete-Casio à ce sujet.
Si la programmation sur calculatrice pouvait facilement être évitée pour la première question d'algorithme où l'on pouvait aisément répondre autrement, c'était beaucoup moins le cas pour la deuxième question d'algorithme...
Au final, un exercice que je juge difficile de ce point de vue.
Téléchargement : Annales BAC S 2014 - sujets inédits 2013-2014