π
<-
Chat plein-écran
[^]

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

Message non lude critor » 02 Mai 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: Tout sélectionner
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: Tout sélectionner
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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.7%
 
Messages: 41502
Images: 14734
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Retourner vers News Examens / Concours

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 90 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1577 utilisateurs:
>1565 invités
>7 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)