Cryptage image – Bac pratique – Section informatique – 2021

Bac Info 15-01-26
14 0

Sujet (Algo et programmation - Bac 2021)

Soit une image numérique dont les valeurs des pixels sont représentées par des nombres hexadécimaux enregistres dans un fichier texte nomme "ImgHexa.txt" à raison d'un nombre par ligne.

Aim de crypter le contenu du fichier "Inigllexa.txt", on utilise le Principe suivant :

1- Transférer le contenu du fichier "Ilmgileln.txt" vers un tableau d'enregistrements T. Chaque enregistrement est forme de trois champs commi suit :

- He : contient le nombre hexadécimal.

- Num : contient le numéro de la ligne du nombre hexadécimal dans le fichier.

- Dec contient l'équivalent décimal du nombre hexadécimal.

2- Trier le tableau T dans l'ordre croissant des valeurs du champ Dee.

3- Générer un code. sous forme (rune chaines de caractères. pour chaque nombre décimal du tableau T et l'enregistrer ainsi que son numéro de ligne Num dans Lin fichier texte nomme "Resultat.txt". Chaque ligne du fichier contiendra le code généré suivi par son numéro de ligne séparés par un espace.

NB : Utiliser la fonction Genere ci-dessous qui permet de générer un code a partir d'un nombre décimal Nb.

Travail demandé :

En utilisant un éditeur de texte disponible (Bloc-notes. Notepad, Notepad++, ...), créer un fichier texte nommé "ImgHexa.txt" et y saisir les nombres hexadécimaux ci-dessous, représentant les valeurs des pixels d'une image. a raison d'un nombre par ligne.

41, 26. 4D. 2D, 37. 74, AB, 26, 85, 68, 37, 82, AE, 94, 80, 35, 44, BO, 87, 56, 8C. 8E, SD, 8B, 38, 48

Ecrire un programme en Python intitule Cryptage qui permet de crier et de remplir un fichier texte "Resultat.1x1" par le résultat de cryptage du contenu du fichier texte "ImgHexa.txt" en utilisant le principe décrit précédemment.

 

Solution Algorithmique

Dans cet algorithme, On va utiliser trois fonctions et cinq procédures:

- la fonction exposant()

- la fonction conversion_decimale()

- la procédure remplir_tableau()

- la procédure afficher_tableau()

- la procédure trier_tableau()

- la fonction generer()

- la procédure remplir_fichier_resultat()

- la procédure afficher_fichier_resultat()

 

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
index entier
t tableau

 

La fonction exposant

Cette fonction permet de calculer la puissance d’un nombre entier

Déclaration des objets

Objet Type / Nature
p entier

 

La fonction conversion_decimale

Le rôle de cette fonction est de convertir un nombre écrit en base 16 (hexadécimal) sous forme de chaîne de caractères en un nombre entier en base 10 (décimal).

Déclaration des objets

Objet Type / Nature
decimal entier
puissance entier
chiffre chaîne
valeur valeur

 

La procédure remplir_tableau

Le rôle de cette procédure est de lire les nombres hexadécimaux contenus dans le fichier ImgHexa.txt et de remplir le tableau t avec des enregistrements contenant leurs informations.

Déclaration des objets

Objet Type / Nature
f fichier
nombres_hexa chaîne
nombre_hexa chaîne
enregistrement Enregistrement
index entier (variale globale)

 

La procédure afficher_tableau

Cette procédure affiche à l’écran les n premiers enregistrements du tableau t.

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure trier_tableau

Cette procédure trie le tableau t par ordre croissant en se basant sur le champ Dec en utilisant la méthode du tri par sélection.

Déclaration des objets

Objet Type / Nature
i entier
min_index entier
j entier
temp entier

 

La procédure remplir_fichier_resultat

Cette procédure trie le tableau t par ordre croissant en se basant sur le champ Dec en utilisant la méthode du tri par sélection.

Déclaration des objets

Objet Type / Nature
f fichier
i entier
code chaîne

 

Solution en Python

Exécution du programme

0 commentaire

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

+216 92 886 231

medaliprof@gmail.com

Photos des articles

Site robotique réalisé par Mohamed Ali Haj Salah - Prof Info