Codes Brailles – Bac théorique – Section informatique – 2012

Bac Info 25-12-25
9 0

Sujet (Algo et programmation - Bac 2012)

Louis Braille, est l'inventeur du système d'écriture tactile à points saillants, à l'usage des personnes aveugles ou fortement malvoyantes.

En Braille standard :

Un caractère est représenté par six points numérotés de 1 à 6 et disposés comme le montre la Figure 1.

Un point peut être saillant (en relief) ou non, comme le montre la Figure 2.

Le nombre et la disposition des points en relief définissent un caractère.

Dans la suite, on s'intéressera à la représentation des 26 lettres majuscules de l'alphabet français. Le tableau suivant, donne cette représentation.

N.B: Chaque point noir représente un point saillant.

Etant donné un fichier d'enregistrements intitulé "Codes_Braille.dat", où chaque enregistrement est composé de deux champs :

- un champ Lettre contenant une lettre majuscule de l'alphabet français,

- un champ Codage contenant une chaîne de 6 caractères représentant l'équivalent en braille de la lettre.

En utilisant le fichier "Codes_Braille.dat", on se propose de convertir le fichier texte intitulé "Braille.txt" contenant une représentation Braille d'un texte en son équivalent en alphabet français puis d'afficher le résultat obtenu.

Sachant que :

Chaque ligne du fichier "Braille.txt" contient la représentation d'un seul mot.

La représentation d'un mot est une concaténation de blocs de six caractères.

Chaque bloc de six caractères représente une lettre du mot.

Un caractère peut être un astérisque ("*") représentant un point saillant, ou un trait d'union ("-") représentant un point non saillant.

Les caractères "*" et "-" sont disposés selon l'ordre des numéros des points qu'ils représentent. Par exemple, la lettre H sera représentée par le bloc de six caractères suivant :

Exemple :

Etant donné le contenu du fichier "Codes_Braille.dat" dont une partie est représentée comme suit :

Si le contenu du fichier "Braille.txt" est le suivant :

Le programme affichera la chaîne : "EXAMEN DU BAC"

En effet :

- "EXAMEN" est l'équivalent en alphabet français de la première ligne du fichier "Braille.txt".

 - "DU" est l'équivalent en alphabet français de la deuxième ligne du fichier "Braille.txt".

- "BAC" est l'équivalent en alphabet français de la troisième ligne du fichier "Braille.txt".

N.B:  Le candidat n'est pas appelé à remplir les deux fichiers "Codes Braille.dat" et "Braille.txt".

Travail demandé :

1- Analyser le problème en le décomposant en modules.

2- Analyser chacun des modules envisagés.

 

Solution Algorithmique

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

- la fonction saisie()

- la fonction verif_Braille()

- la fonction saisie_mot_braille()

- la procédure remplir_fichier_CodesBrailles()

- la procédure remplir_fichier_Braille()

- la procédure decrypter_Braille()

 

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction saisie

Cette fonction permet de saisir un entier strictement positif au clavier.

Plus précisément :

Elle demande à l’utilisateur de saisir un nombre entier.

Elle vérifie la validité de la saisie en s’assurant que le nombre est strictement supérieur à 0.

Tant que la valeur saisie est nulle ou négative, la fonction redemande la saisie.

Une fois une valeur correcte saisie, la fonction la retourne pour être utilisée dans la suite du programme.

Déclaration des objets

Objet Type / Nature
n chaîne

 

La fonction verif_Braille

Ce programme définit une fonction verif_Braille(ch) dont le rôle est de vérifier si une chaîne de caractères représentant un message en Braille est valide.

Plus précisément, la fonction :

- Vérifie que la longueur de la chaîne ch est un multiple de 6, car chaque caractère Braille est codé par 6 caractères.

- Découpe la chaîne en blocs successifs de 6 caractères.

Pour chaque bloc de 6 caractères, elle :

- ouvre le fichier CodesBrailles.dat,

- recherche si ce bloc existe parmi les codes Braille stockés dans ce fichier.

Si au moins un bloc n’est pas trouvé, la chaîne est considérée comme invalide.

Si tous les blocs sont reconnus, la chaîne est valide.

Valeur retournée :

Vrai : si la chaîne Braille est correctement formée et que tous les codes existent dans le fichier.

Faux : si la longueur n’est pas un multiple de 6 ou si au moins un code Braille est invalide.

Déclaration des objets

Objet Type / Nature
i entier
trouve booléen
f fichier
mot chaîne

 

La fonction saisie_mot_braille

Cette fonction permet de saisir une chaîne binaire valide composée d’octets (8 bits).

Plus précisément :

Elle demande à l’utilisateur de saisir une chaîne de caractères binaires.

Elle vérifie la validité de la chaîne en appelant la fonction verif_octets.

Tant que la chaîne saisie ne respecte pas les règles des octets (longueur multiple de 8 et caractères uniquement 0 ou 1), la fonction redemande la saisie.

Une fois une chaîne correcte saisie, la fonction la retourne.

Déclaration des objets

Objet Type / Nature
ch chaîne

 

La procédure remplir_fichier_CodesBrailles

Ce programme définit une procédure remplir_fichier_CodesBrailles() dont le rôle est de créer et remplir le fichier CodesBrailles.dat avec les correspondances entre les lettres de l’alphabet (A à Z) et leurs codes Braille.

Plus précisément, la procédure :

- Affiche un message indiquant le début de l’opération de remplissage du fichier.

- Ouvre (ou crée) le fichier CodesBrailles.dat en mode écriture :

si le fichier existe déjà, son contenu est effacé, sinon, il est créé.

- Écrit dans le fichier les associations lettre / code Braille, chaque ligne contenant : une lettre majuscule, un espace, son code Braille composé de * et _, puis un retour à la ligne.

- Ferme le fichier après l’écriture pour sauvegarder correctement les données.

Déclaration des objets

Objet Type / Nature
f fichier

La procédure remplir_fichier_Braille

Ce programme définit une procédure remplir_fichier_Braille(n) dont le rôle est de créer et remplir le fichier Braille.txt avec n mots en Braille saisis par l’utilisateur.

Plus précisément, la procédure :

- Affiche un message indiquant le début du remplissage du fichier Braille.txt.

- Ouvre (ou crée) le fichier Braille.txt en mode écriture : si le fichier existe déjà, son contenu est supprimé, sinon, il est créé.

- Répète n fois :

1- appelle la fonction saisie_mot_braille() pour permettre à l’utilisateur de saisir un mot codé en Braille,

2- écrit ce mot dans le fichier, une ligne par mot.

- Ferme le fichier afin d’enregistrer correctement les données.

Déclaration des objets

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

La procédure decrypter_Braille

Ce programme définit une procédure decrypter_Braille() dont le rôle est de décrypter (traduire) un message codé en Braille contenu dans le fichier Braille.txt et de l’afficher en clair à l’écran.

Plus précisément, la procédure :

- Affiche un message d’en-tête indiquant que le message décrypté va être affiché.

- Ouvre le fichier Braille.txt en mode lecture, qui contient des mots codés en Braille (un mot par ligne).

- Lit toutes les lignes du fichier dans une liste.

- Pour chaque mot Braille : supprime le caractère de fin de ligne, découpe le mot en blocs successifs de 6 caractères, chaque bloc représentant une lettre en Braille.

- Pour chaque bloc de 6 caractères : ouvre le fichier CodesBrailles.dat, recherche le code Braille correspondant, et affiche la lettre associée (premier caractère de la ligne du fichier).

- Ajoute un espace après chaque mot afin de bien séparer les mots décryptés.

- Ferme les fichiers utilisés après le traitement.

Déclaration des objets

Objet Type / Nature
f_braille fichier
i entier
mots chaîne
mot chaîne
f_code fichier
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