La correction de l'ensemble du sujet par Cours-Sowan est téléchargeable ci-dessous.
En ce qui nous concerne, détaillons la correction de la partie algorithmique:
On nous demande donc de réaliser une version synthétique de la trace de l'algorithme, en donnant à chaque étape de la boucle les valeurs de deux variables et d'un test.
L'on peut obtenir très facilement une telle trace à la calculatrice, en insérant une instruction de sortie.
Nous mettrons donc cet affichage en fin de boucle afin de bien obtenir les états consécutifs à l'exécution de la boucle, l'énoncé faisant cadeau de la colonne des états d'avant le démarrage de la boucle qui ne sera donc pas affichée ici.
Notons que l'on demande à ce que la valeur de U soit arrondie à l'unité. Selon la calculatrice utilisée, il est même possible d'obtenir ce résultat directement.
Notons enfin que nombre de calculatrices afficheront 1 pour un test vrai, et 0 pour un test faux.
Voici les programmes pour les TI-76/82/83/84 selon que votre calculatrice fonctionne en anglais ou en français:
D'où la réponse:
U | 81751602 | 81571748 | 81392291 | 81213228 | 81034558 |
N | 0 | 1 | 2 | 3 | 4 |
Test U>S | Vrai | Vrai | Vrai | Vrai | Faux |
On obtient en sortie la dernière valeur de N, c'est-à-dire 4.
Si vous avez une TI-Nspire, un programme équivalent serait celui-ci:
Sauf que la calculatrice décide ici toute d'afficher en notation scientifique avec 6 chiffres significatifs, ce qui nous fait perdre les chiffres des dizaines et unités exigés par l'énoncé.
Pour corriger cela il nous suffit d'accéder aux réglages avec ou encore selon le clavier, et d'y remplacer "Float 6" par "Float 8" ou encore "Float":
Sur les Casio Graph/fx-CG, il n'existe pas à ma connaissance de fonction pour arrondir, juste pour tronquer ce qui n'est pas la même chose. Nous devrons donc arrondir lors de la recopie. Voici le programme:
Voici le programme pour HP-39gII/Prime:
Enfin, pour les possesseurs de Casio Classpad/fx-CP:
Le SetDecimal au départ désactive le moteur de calcul formel. Sans cela, tout nombre utilisé par le programme sera automatiquement passé sous forme exacte si il ne l'était pas déjà, ce qui donnerait des fractions peu esthétiques et inutiles ici.
En dehors d'une instruction ou boucle conditionnelle, une relation que l'on souhaite utiliser en tant que test doit être imbriquée dans une instruction 'judge()'. Sans cela, la relation est considérée comme une équation. Voir dans les commentaires pour davantage d'informations sur les spécificités de la Classpad.
Téléchargements :