Validité d’un message – Bac théorique – Section informatique – 2024

Bac Info 23-01-26
22 0

Sujet (Algo et programmation - Bac 2024)

La méthode de transmission en série asynchrone est une technique de transmission de données numériques qui permet d’envoyer les données d’un message caractère par caractère. L’envoi d’un caractère se fait selon le principe suivant :

- Convertir le code ASCII du caractère à transmettre en binaire sur 8 bits.

- Ajouter à gauche des 8 bits obtenus un bit de départ dont la valeur est 0 et à droite un bit d'arrêt dont la valeur est 1 pour former une séquence contenant 10 bits.

Exemple : pour la chaîne de caractères "BA" on obtient les deux séquences suivantes :

On se propose de vérifier la validité du contenu d’un tableau T contenant le codage en binaire, d’un message initial formé uniquement par des lettres majuscules.

Le contenu du tableau T est valide s’il vérifie les contraintes suivantes :

- La taille du tableau T est un multiple de 10.

- Chaque case du tableau T doit contenir soit la valeur 0 soit la valeur 1.

- Chaque séquence de 10 bits doit commencer par 0 (bit de départ) et doit se terminer par 1 (bit d’arrêt).

- Les 8 bits compris entre le bit de départ et le bit d’arrêt de chaque séquence doivent représenter l’équivalent binaire du code ASCII d’une lettre majuscule.

Exemple :

Le contenu du tableau T est valide car :

- La taille du tableau T est égale à 30 qui est un multiple de

- Toutes les cases du tableau T ne contiennent que les valeurs 0 et 1.

- Chaque séquence de 10 bits commence par 0 et se termine par 1.

- Les 8 bits compris entre le bit de départ et le bit d’arrêt de chaque séquence représentent l’équivalent binaire du code ASCII d’une lettre majuscule.

En effet :

- l’équivalent en décimal des 8 bits 01000010 est 66 qui correspond au code ASCII de la lettre "B".

- l’équivalent en décimal des 8 bits 01000001 est 65 qui correspond au code ASCII de la lettre "A".

- l’équivalent en décimal des 8 bits 01000011 est 67 qui correspond au code ASCII de la lettre "C".

Travail demandé :

Ecrire un algorithme d’une fonction booléenne Verif (T , N) qui permet de vérifier, selon les contraintes décrites précédemment, si le contenu du tableau T de type Tab et de taille N est valide ou non.

 

Solution Algorithmique

Dans cet algorithme, On va utiliser sept fonctions et une procédure :

- la fonction saisie()

- la procédure remplir_tableau()

- la fonction verif_01()

- la fonction verif_10bits()

- la fonction exposant()

- la fonction verif_ASCII()

- la fonction verif_ASCII()

- la fonction verif()

 

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
n entier
t tableau

 

La fonction saisie

Cette fonction permet de saisir et retourner un entier strictement positifs en contrôlant la validité de la saisie.

Déclaration des objets

Objet Type / Nature
n entier

 

La procédure remplir_tableau

Cette procédure permet de remplir les n premières cases du tableau t par des valeurs saisies par l’utilisateur, chacune devant être égale à 0 ou à 1.

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction verif_01

Cette fonction vérifie que les n premiers éléments du tableau t sont tous égaux à 0 ou à 1 et retourne Vrai si la condition est satisfaite, sinon Faux.

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction verif_10bits

Cette fonction vérifie que le tableau t est constitué de blocs de 10 bits, chaque bloc commençant par 0 et se terminant par 1. Elle retourne Vrai si la structure est correcte, sinon Faux.

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction exposant

Cette fonction calcule et retourne la valeur de 2e en utilisant des multiplications successives.

Déclaration des objets

Objet Type / Nature
i entier
resultat entier

 

La fonction verif_ASCII

Cette fonction convertit un octet binaire en son équivalent décimal, affiche le caractère ASCII correspondant, puis vérifie si ce code est compris entre 65 et 97.

Déclaration des objets

Objet Type / Nature
code chaîne
i entier

 

La procédure verif_tableau_ASCII

Cette procédure parcourt le tableau t par blocs de 10 bits, extrait les octets centraux et vérifie si chacun correspond à un caractère ASCII valide. Elle affiche ensuite si le tableau est valide ou non.

Déclaration des objets

Objet Type / Nature
i entier
test_ascii booléen
octet chaîne
j entier

 

La fonction verif

Cette fonction vérifie globalement qu’un tableau t est constitué de blocs de 10 bits correctement formés, contenant uniquement des 0 et 1, avec des octets centraux représentant des caractères ASCII valides. Elle retourne Vrai si le tableau est valide, sinon Faux.

 

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