Prof :M.
M’rabet ilyess 4SI
Sujet pratique N°4
Le décimal codé binaire (DCB) est un système de numération utilisé en électronique et en informatique
pour coder des nombres décimaux de façon que chacun de ces chiffres est codé sur quatre bits :
Le code DCB fait correspondre aux chiffres de 0 à 9 leur équivalent binaire sur 4 bits, comme il est indiqué
dans la matrice suivante :
Décimal Code DCB
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
L'équivalent en code DCB d’un nombre décimal est obtenu par la conversion de chacun de ses chiffres en
code DCB. Le principe de cryptage d’un message en utilisant le code DCB est le suivant :
• Remplir la matrice M ci-dessus d’ordre 5*10, en remplissant la première colonne par les valeurs de 0
à 9, puis en mettant dans chaque ligne en commençant à partir de la deuxième colonne les chiffres de
l’équivalent en binaire de la valeur qui se trouve dans la première colonne.
NB. chaque chiffre de la première colonne doit être représenté sur 4 bits
• Convertir en code DCB, le code ascii de chaque lettre du message à crypter en se référant à la
matrice M,
Exemple :
Soit le message BAC
Le massage crypté est : 011001100110010101100111
En effet :
Le code ascii de "B" est 66. Le code DCB de 66 est 01100110
Prof :M. M’rabet ilyess 4SI
Le code ascii de "A" est 65. Le code DCB de 65 est 01100101
Le code ascii de "C" est 67. Le code DCB de 67 est 01100111
On se propose de concevoir une interface graphique en utilisant Qt designer contenant les éléments
suivants :
• Un label contenant le texte «Cryptage»
• Une zone de texte à multilignes dans laquelle on va écrire un texte à crypter
• Trois Boutons
• Une listwidget vide qui contiendra le texte crypté
Travail demandé :
1) Compléter l’interface graphique «[Link] » par les éléments présentées précédemment comme illustré dans
l figure suivante :
2) Ouvrir le fichier nommé [Link] situé dans votre dossier de travail dans lequel vous apportez les
modifications suivantes :
▪ Développer le module sauvegarder qui s’exécute suite au clic sur le bouton sauvegarder permettant
lorsque toutes les contraintes sont respectées(le texte initial est formé uniquement par des lettres et des
espaces), de sauvegarder le texte initial dans un fichier texte dont le nom physique est [Link] " sinon
afficher, dans le cas contraire, un message d’alerte via "QMessagebox".
▪ Développer le module Cryptage qui s’exécute suite au clic sur le bouton Crypter, permettant de crypter le
contenu du fichier [Link] dans un autre fichier crypté.txt
▪ Développer le module "affiche" qui s’exécute suite au clic sur le bouton afficher permettant d’afficher le
contenu du fichier crypté.txt dans la listwidget