π
<-

Correction algo Olympiades Académiques 2013 1èreS Mayotte

Toutes les news concernant les examens (BAC, DNB, etc.) et concours scolaires

Correction algo Olympiades Académiques 2013 1èreS Mayotte

Unread postby critor » 02 May 2013, 23:46

Après les algorithmes des Académies d'Aix-Marseille et Besançon dans deux news précédentes, regardons ce soir ensemble l'algorithme tombé en exercice 4 aux Olympiades Académiques de Mathématiques de Première S 2013, dans l'Académie de Mayotte cette fois-ci.



Il s'agit donc d'étudier les déplacements d'une cible chaque seconde entre trois positions 1, 2, 3 selon les règles suivantes:
  • la cible commence en 1
  • de 1 et de 3, la cible va en 2
  • de 2, la cible va en 1 ou 3 de façon équiprobable

L'on peut représenter cette situation à l'aide d'un graphe probabiliste:
Image


Selon le graphe en partant de 1, après un nombre impair de secondes/déplacements, on est forcément en 2.
Après un nombre pair non nul de déplacements, on se retrouve de façon équiprobable, soit en 1, soit en 3.



Question A)1) 1/2
Question A)2)a) 0
Question A)2)b) 1
Question A)3)a) 1/2
Question A)3)b) 0



Question A)4) 0
Image

Notons que cet algorithme est fort mal écrit - avec une fonction EntAlea() qui n'est ni du langage naturel ni du langage mathématique, des parenthèses pour des affichages et des points virgule de séparation de paramètres ou de ponctuation d'instructions.
Un excellent exemple de ce qu'il ne faut pas faire au BAC! :bj:
Cela ressemble fortement à un langage de programmation car il y a des contraintes de syntaxe et l'auteur en aurait donc rapidement traduit les instructions en français, ce qui justement n'est pas un algorithme.


Les trous à compléter dans l'algorithme correspondent simplement aux cas étudiés ci-dessus.
On peut donc les compléter de la façon suivante:
Code: Select all
Variables: n entier
Début
   Entrer n
   Si n est impair alors
      Afficher "Cible à position 2"
   sinon
      Si EntAlea(0,1)=0 alors
         Afficher "Cible à position 1"
      sinon
         Afficher "Cible à position 3"
      FinSi
   FinSi
Fin


L'on vérifie aisément le fonctionnement correct de l'algorithme en le traduisant en un programme pour notre calculatrice.

Le test de parité de N peut utiliser la fonction partie entière afin de vérifier si N est divisible par 2 ou non.

Voici un programme pour TI-82 à TI-84:
ImageImage


En voici maintenant un pour Casio Graph/Prizm:
ImageImageImage


Et enfin maintenant, voici une version TI-Nspire:
ImageImage




Image

Encore un 'algorithme' assez mal écrit pour les mêmes raisons que le précédent, d'autant plus qu'il y a deux instructions 'Si' mais un seul 'FinSi'.

Cette fois-ci on utilise une boucle "pour i=... à n faire".
n étant le nombre de déplacements de la cible, nous allons mettre "pour i=1 à n faire" afin de passer exactement n fois dans la boucle.

La cible va en 2 lorsque qu'elle est en 1 ou 3.
Nous complétons donc l'instruction conditionnelle avec "Si C=2 ou C=3".

Enfin, nous avons des affectations de C avec 2 et 1, la dernière affectation correspond donc forcément par élimination à 3, et nous mettons "Sinon C←3".

Voici l'algorithme:
Code: Select all
Variables: n, C, i entiers
Début
   Entrer n
   C←1
   Pour i=1 à n faire
      Si C=1 ou C=3 alors
         C←2
      sinon
         Si EntAlea(0,1)=0 alors
            C←1
         sinon
            C←3
         FinSi
      FinSi
   FinPour
   Afficher "la cible est en position", C
Fin


L'on vérifie encore une fois que l'algorithme est bon en testant sur calculatrice.

Voici un programme traduisant cet algorithme pour TI-82 à TI-84:
ImageImage


Voici maintenant une version pour Casio Graph/Prizm:
ImageImageImage


Et voici enfin une version TI-Nspire:
ImageImage




Au final, quelles sont les différences entre ces deux algorithmes?

L'algorithme n°1 n'utilise aucune boucle. Il utilise simplement les règles de probabilité établies dans les questions précédentes.
Il s'exécute donc en un temps constant sur machine, quelle que soit la valeur de n. On dit que sa complexité est en o(1).

L'algorithme n°2 par contre a une toute autre approche et simule réellement à l'aide d'une boucle 'pour' la totalité des n déplacements de la cible.
C'est donc un algorithme linéaire de complexité en o(n), dont le temps d'exécution sur machine sera proportionnel à n.

En complexité, l'algorithme 1 serait donc meilleur et la simulation complète effectuée de l'algorithme n°2 serait inutile dans le contexte de ce qu'il doit renvoyer dans cet exercice.

Notons toutefois un petit bémol, avec le cas particulier n=0 interdit par l'énoncé.
Après 0 déplacement, la cible est par définition en position 1, la position d'origine.
L'algorithme n°2 qui simule tous les détails des déplacements est parfaitement d'accord avec ça.
Mais l'algorithme n°1 se plante une fois sur deux, en nous expliquant que la cible est en position 3 au temps 0, ce qui est impossible! :o
Image




Lien:
Olympiades Académiques de Mathématiques 2013 - 1ère (Mayotte)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41988
Images: 15895
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Return to News Examens / Concours

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
856 utilisateurs:
>841 invités
>7 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)