clé des codes barres

Bonjour à tous

Je vous écris car j'aurais besoin d'un coup de main sur un exo de spe maths

Voici l'énoncé :
Le code upc utilise des nombres de 13 chiffres pour désigner un produit de consommation. Les 12 premiers chiffres désignent le produit, le treizieme est une clé de contrôle déstinée à détecter une erreur dans l'un des 12 premiers chiffres. La clé est calculée de telle sorte que si le nombre s'écrit a(1)a(2)....a(n), (a(1)=a indice 1) alors

3*(somme de i=1 à 6 de a(2i)) + somme de i=0 à 6 de a(2i+1) congrue à 0 modulo 10

1) Calculer la clé associée au nombre de 12 chiffres : 325039017681
2) Découper un code barre, le coler et vérifier sa clé
3) Montrer que si un seul chiffre est erroné, l'erreur est détectée.
4) On suppose que lors de la lecture optique deux chiffres consécutifs
a(2k-1) et a(2k) sont permutés
a) Montrer que pour que l'erreur ne soit pas détecté il faut et il suffit que 3*(a(2k))+a(2k-1) congru à 3*(a(2k-1))+ a(2k) modulo 10
b) Prouver que cette condition équivaut à a(2k-1) congru à a(2k) modulo 5
c) En déduire qu'une erreur de ce type n'est pas détectée une fois sur 10

J'ai fait la question 1), 2), 4)b), 4)c)
Mais il me manque la 3) et la 4)a)
ça fait un moment que je bataille dessus mais je ne vois vraiment pas comment faire
En fait la question 3) me parait évidente mais je n'arrive pas à le démontrer et la question 4)a, je nevois vraiment pas comment faire

J'espère que quelqu'un pourra me donner un coup de main !
Merci d'avance !

Réponses

  • Salut,

    Pour le 3 il faut montrer que si tous les 12 chiffres sont bons
    sauf 1, alors la clé que tu calcules avec ces 12 chiffres
    est forcément différente de la clé obtenue avec les 12 chiffres ok.

    A+
    eric
  • 3) tu supposes qu'au lieu d'avoir un code $a_1..a_{12}$, tu as un code $b_1a_2..a_{12}$ avec $b_1 \neq a_1$ (en effet on n'a qu'une seule erreur donc les autres termes sont identiques et on peut prendre l'erreur sur le premier terme, ca ne change rien (pourquoi?)

    Apres j'aurais personnellement tendance a supposer par l'absurde que la "somme" du faux code est congrue a $0$ et j'aurais assez vite une contradiction avec mon hypothese $b_1 \neq a_1$ il me semble.
    Mais ceci dit, ca doit pouvoir se faire sans passer par l'absurde (surtout si tu n'as jamais vu d'exemple de ce genre de démo dans ton cours) en faisant la "somme" et en montrant qu'elle ne peut pas etre congrue a $0$ en utilisant directement l'hypothèse


    4) au lieu de $a_1..a_{2k}a_{2k+1}..a_n$ tu "sommes" $a_1..a_{2k+1}a_{2k}..a_n$
    Pour l'implication directe tu supposes que le code erroné donne une "somme" congrue a $0$, tu peux alors simplifier par les $a_i$ pour $i \not\in {2k,2k+1}$ et tu as ta condition

    Pour l'implication réciproque, tu devrais t'en sortir si tu as compris mon charabia (j'ai pas l'impression d'etre super clair)


    Comme je suis un peu fainéant, j'ai mis "somme" pour ce que tu as écrit 3*(somme de i=1 à 6 de a(2i)) + somme de i=0 à 6 de a(2i+1) pris modulo 10

    En tout cas, c'est intéressant comme exo, et pis ca montre le coté "utile" des maths, c'est sympa
Connectez-vous ou Inscrivez-vous pour répondre.