L'exercice de spécialité du sujet de Maths du BAC S 2013 tombé ce matin pour les candidats des lycées français des Centres Etrangers
(Europe/Afrique) comportaire donc un algorithme.
Le voici:
Question A)1)Cet algorithme est censé lister le nombre d'oiseaux vivant sur deux îles chaque année.
Pour une fois on nous donne donc un algorithme faux et on nous demande de le corriger.
Voyons déjà ce qui ne va pas en le tapant sur notre calculatrice TI-Nspire ou TI-89/92/VOyage200:
En fait le programme traduisant l'algorithme comporte plusieurs problèmes:
- P1: il n'affiche que les populations d'oiseaux initiales en 2013 et ne les liste donc pas pour les années suivantes
- P2: il se s'arrête jamais
Les mêmes problèmes sont constatables en traduisant l'algorithme pour un autre modèle comme une TI-76, TI-82 à TI-84 ou encore Casio Graph/Prizm:
Le problème P1 est en effet normal.
Il n'y a qu'un seul groupe d'instructions de sortie pour i, a et b, et il se situe avant la boucle.
Il n'est donc exécuté qu'une seule fois et ne produit l'affichage que d'un seul triplet.
Il nous faut rajouter un groupe d'instructions de sortie similaires dans la boucle.
Je propose donc la modification suivante:
- Code: Select all
Lire n
Affecter à a la valeur 20
Affecter à b la valeur 10
Affecter à i la valeur 2013
Afficher i
Afficher a
Afficher b
Tant que i<n faire
Affecter à c la valeur 0,8a+0,3b
Affecter à b la valeur 0,2a+0,7b
Affecter à a la valeur c
Afficher i
Afficher a
Afficher b
Fin du Tant que
Cette fois-ci nous avons bien plusieurs affichages, mais le programme modifié ne se termine toujours pas sur notre TI-Nspire:
Même constat sur les TI-76/82-84 et Casio Graph/Prizm:
Reste donc maintenant à régler le problème P2 de cet algorithme qui ne se termine pas.
Etant construit autour d'une boucle 'Tant que', cela veut dire que la boucle est infinie, c'est-à-dire que la condition de poursuite i<n reste éternellement vraie.
Et en effet, il n'y a au sein de cette boucle aucune affectation pouvant modifier les valeurs de i ou n.
i étant initialisé à 2013, il s'agit de l'année affichée à chaque fois.
Et en effet, on constate ci-dessus sur TI-Nspire que le programme n'affiche que des 2013, bien que les populations d'oiseaux varient.
Il manque donc tout simplement à incrémenter la variable i avant l'affichage de la boucle, afin que l'affichage des populations puisse être correct et que la boucle puisse se terminer lorsque i aura atteint la valeur n saisie
(2020).
Je propose:
- Code: Select all
Lire n
Affecter à a la valeur 20
Affecter à b la valeur 10
Affecter à i la valeur 2013
Afficher i
Afficher a
Afficher b
Tant que i<n faire
Affecter à c la valeur 0,8a+0,3b
Affecter à b la valeur 0,2a+0,7b
Affecter à a la valeur c
Affecter à i la valeur i+1
Afficher i
Afficher a
Afficher b
Fin du Tant que
Et cette fois-ci, ça marche sur tous les modèles et on peut constater la production d'un affichage conforme à celui qui est gentiment donné par la question 2!
Question A)2)Au vu des valeurs listées, on conjecture que:
- la suite an est strictement décroissante
- la suite bn est strictement croissante
- la suite an converge vers 18
- la suite bn converge vers 12
Lien:BAC S 2013: Annales des sujets inédits toutes matières et corrigés