\documentclass[a4paper,10pt,french]{article}
\linespread{1}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Définitions de la feuille d'exercices

\newcommand{\typedoc}{TP - sp\'e TS}          %%%%%%%%%%%%%%% 1ere ligne du titre de la feuille
\newcommand{\Ch}{D\'etections d'erreurs}		   %%%%%%%%%%%%%%%% 2eme ligne et en haut à droite après	
\newcommand{\ch}{R\'evisions}               %%%%%%%%%%%%%%% En haut à gauche (numero chapitre)
\newcommand{\Cl}{T$^\text{ale}$S}
\newcommand{\Annee}{2013-2014}

\newcommand{\serie}{Scientifique}
\newcommand{\num}{0}	
\newcommand{\tps}{2h}	



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		Packages
%\usepackage[french,lined,boxed,commentsnumbered]{algorithm2e}

\input macrodwicky.tex
\geometry{verbose,letterpaper,tmargin=1.8cm,bmargin=1.8cm,lmargin=1.5cm,rmargin=1.5cm}
\renewcommand{\arraystretch}{1.2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%	Début
\begin{document}


\DocDav

\vfill 

\Exoi{\hfill \textbf{Les codes barres} %et ISBN % }:
%\begin{center}
\ %textbf{\underline{Partie A}:code EAN-$13$ }
%\end{center}
\\Les codes-barres sont omniprésents dans la vie courante. Ils trouvent leurs applications dans des domaines aussi variés que la gestion des prêts d'une bibliothèque, les caisses enregistreuses à lecture optique ou le contrôle de la production dans l'industrie.
\\Les chiffres inscrits sur code-barre permettent d'identifier un produit. Le code EAN-$13$ (European Article Numbering). est composé de $13$ chiffres.
\begin{itemize}
 \item les deux premiers chiffres correspondent au pays  de provenance du produit ou à une classe normalisée de produits ;
 \item les quatre chiffres suivants correspondent au codage du fabriquant ;
 \item les six suivants forment le numéro d'article ;
 \item le treizième chiffre est une \textbf{chiffre de contrôle ou clé} et est calculé sur le $12$ chiffres précédents:
 \end{itemize} 
$$\quad$$
\Cadre{Un code-barres est symbolisé par le tableau suivant :
   \begin{center}
 \begin{tabular}{|*{13}{c|}}
     \hline
      $a_1$  & $a_2$  & $a_3$  & $a_4$  & $a_5$  & $a_6$  & $a_7$  & $a_8$  & $a_9$  & $a_{10}$ & $a_{11}$ & $a_{12}$ & C\\
     \hline
 \end{tabular}
  \end{center}
  où $a_1$, $a_2$, $\dots$, $a_{12}$ et $C$ sont les 13 chiffres constituant le code-barres ; $C$ est donc la clé.\\Si on note $$S=3\times(a_2+a_4+a_6+a_8+a_{10}+a_{12})+a_1+a_3+a_5+a_7+a_9+a_{11}$$,
le clé $C$ est le chiffre tel que $S+C$ soit divisible par $10$
}
$$\quad$$
\begin{enumerate}
\item Vérifier que le code suivant est un code-barre valide:$$4971850187820$$
\item Déterminer la clef de contrôle du code d'identification suivant: $$978204732850$$
\item Déterminer le chiffre manquant du code $$3252x37041767$$
\item Dans les trois cas précédents, calculer le reste $r$ de la division euclidienne de $S$ par $10$. Vérifier que la clé est égale à $10-r$ dans deux cas. Que constatez-vous dans l'autre cas?
$$\quad$$
\item Généralisation de ce constat:
\begin{enumerate}
\item Quelles sont les valeurs possibles d'un reste $r$ dans une division euclidienne par $10$?
\item Pour quelle valeur de $r$, la clef ne peut-elle pas être égale à $10-r$? Quelle est la clé dans ce cas?
\item Démontrer que lorsque le reste est non nul, l'entier $10-r$ est une clé qui convient.
\item Démontrer que la clé correspondant à une séquence $a_1$, $a_2$,\dots,$a_{12}$ donnée est unique.
\item Conclure
\end{enumerate}
\pagebreak
\item L'algorithme suivant a été écrit pour calculer la clé. Qu'en pensez-vous?
\begin{center}
\Algo{8cm}{
\Entree{ 
 $a_i$  est un chiffre de $0$ à $9$ pour $i$ de $1$ à $12$\\
$A$,$B$,$S$,$R$,$C$ sont des entiers naturels 
}
{\\\textbf{Début Algorithme}
\\$A:=$ somme des termes de rang impair\\
$B:=$ somme des termes de rang pair\\
$S:=A+3B$ somme des termes de rang impair\\
$R:=$ reste de la division de $S$ par $10$.\\ 
$C:=10-R$ somme des termes de rang impair\\
Afficher $C$
\\\textbf{Fin Algorithme}
}
}
\end{center}
\item Détection d'erreur:
\begin{enumerate}
\item On suppose qu'une seule  erreur a été commise en rentrant un code-barre dans une base de donnée et qu'elle porte sur un chiffre de rang impair (par exemple $a_1$). \\Notons $b_1$ le chiffre qui lui a été substitué.
\\Notons $S$ le calcul de la somme utilisée pour le calcul de la clé avec le bon code et $S'$ le calcul avec le code erroné.
\begin{enumerate}
\item Donner un encadrement de la différence $a_1-b_1$.
\item En supposant que la même clef ait été rentrée, montrer que la différence $S-S'$ doit être un multiple de $10$.
\item Confronter les deux premières questions.
\item Une seule erreur commise sur un chiffre de rang impair sera-t-elle détectée? 
\end{enumerate}
\item Étudier, de même, le cas d'une erreur unique sur un chiffre de rang pair ($b_2$ à la place de $a_2$)
\item On suppose maintenant que deux chiffres consécutifs ont été permutés (par exemple $a_1$ et $a_2$).
\begin{enumerate}
\item Vérifier que $$S'=S+2(a_1-a_2)$$
\item En déduire que l'erreur est non détectée si et seulement si $5$ divise $a_1-a_2$
\item En déduire un exemple d'erreurs non détectées.
\end{enumerate}
\end{enumerate}
\end{enumerate}
}
\Exoi{Le relevé d'identité bancaire (RIB) est formé :
\begin{itemize}
\item d'un nombre de $21$ chiffres :
\begin{itemize}
\item cinq chiffres identifiant la banque,
\item cinq chiffres identifiant le guichet et,
\item onze chiffres représentant le numéro du compte.
\end{itemize}
\item suivi d'un nombre de $2$ chiffres qui est une clé de détection d'erreur dans l'un des $21$ précédents.
\end{itemize}
La clé est définie ainsi :\\
On note $A$ le nombre constitué des $21$ chiffres on calcule le reste $r$ de la division euclidienne de $100A$ par $97$ ; la clé $K$ est alors définie par $K=97-r$.\\
Soit $A=200410101278340238431$
\begin{enumerate}
\item Ecrire $100A$ sous la forme $a\times 10^{12}+b\times 10^6+c$ avec $0\leq c< 10^6$ et dire combien de chiffres comporte $100A$.
\item Identifier $a$, $b$ et $c$.
\item Calculer le reste de la division euclidienne de $10^6$ par $97$ puis de $10^{12}$ par $97$.
\item Calculer la clé du nombre $A$.
\end{enumerate}}
\end{document}