Analyse appréciations – Bac théorique – Section informatique – 2026

Bac Info 19-07-26
32 0

Sujet (Algo et programmation - Bac 2026)

Dans le but d'améliorer la qualité de ses produits, une entreprise souhaite réaliser une enquête afin do cellecter et d analyser les appréciations de ses adhérents. Le nombre total d'adhérents est inférieur ou éqal à 1000.

Les informations d'accès des adhérents (login et mot de passe) sont stockées dans un fichier texte flemme 'LoginPassword.txt" Les mots de passe sont cryptes afin d'assurer la confidentialité des comptes.

Chaque ligne du fichier contient

- un lopin constitué exactement de 8 chiffres

- suivi du caractère #

- suivi d'un mot de passe d'au moins 4 caractères crypte sous forme d une séquence chaque caractère est représenté sur un octet (8 bits)

Peur exploiter ce fichier, on dort procéder au décryptage des mots de passe.

Le decr)ptage d'un mot de passe se fait comme suit

Pour chaque octet du mot de passe :

- Etape 1 : Convertir octet de la base 2 vers la base 16

- Etape 2 : Permuter les deux chiffres du nombre obtenu dans I étape 1

- Etape 3 : Convertir le nombre hexadécimal obtenu dans I étape 2 vers la base 10

- Etape 4 : Determiner le caractère dont le code ASCII est le nombre obtenu dans I étape 3

Travail demandé :

1) Ecrire un algorithme d'une procédure Decryptage(TLP , NE) qui permet de remplir un tableau d'enregistrements TLP, à partir du fichier "LoginPassword.txt", par les logins des adhérents ainsi que leurs mots de passe décryptés comme décrit précédemment. Chaque enregistrement du tableau TLP est composé des deux champs suivants :

- Login : le login d'un adérant

- Pwd : le mot de passe de t adhérent decnipté selon le principe décrit précédemment

NB:

- NE représente le nombre d enregistrements dans le tableau TLP

- Le fichier "LoginPassword.txt" est déjà rempli et enregistré dans le dossier "D:\Analyse"

2) Ecrire un algorithme d une procédure Romplir(TLP NE) qui saisit le nombre N de participants à l'enquête (avec 10 <= N <= NE), puis permet pour chaque participant :

a) L'authentification

- Saisir le login et le mol de passe non cryptes

- Vérifier que ce couple (logon, mot de passe) existe dans le table.su TLP

• Si le couple n'existe pas. afficher le message "Vous n'ôtes pas un adhérent

• Sinon. passer à l'étape b)

b) La saisie de l'appréciation

- Si l'adhérent n'existe pas dans le fichier "Notes.dat, lui demander de saisir une note d'appréciation de l'intervalle [1,5] et ajouter ensuite un nouvel enregistrement dans le fichier "Notes.dat".  Chaque enregistrement du fichier "Notes.dat" est composé des deux champs suivants :

• Login : le login de l'adhérent

• Note : la note attribuée par l'adhérent

- Si l'adhérent existe déjà dans le fichier "Notes.dat", afficher un message indiquant eu il a déjà attribué une note

NB:

- Le fichier "Notes.dat" est déjà créé dans le dossier "D:\Analyse"

- On pourra utiliser la fonction Chercher(Login), qui retourne Vrai si un enregistrement du fichier "Notes.dat" contient le login de l'adhérent (Login) et retourne Faux dans le cas contraire, que le candidat n'est pas appelé à la développer.

3) Ecrire un algorithme d'une procédure Statistique(Moy P) qui permet de calculer :

- La moyenne des notes Moy.

- Le pourcentage P des notes supérieures ou égales à 4. sachant que

P = (nombre de notes >= 4) * 100 / N

4) Ecrire un algorithme du programme principal qui fait appel aux trois procédures Decryptage. Remplir et Statistique pour collecter les appréciations des adhérents et afficher la moyenne aes notes et le pourcentage des notes supérieures ou égales à 4.

 

Solution Algorithmique

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

- la fonction saisie

- la fonction convertir_binaire_8bits

- la procédure remplir_LoginPassword

- la fonction binaire_vers_hexa

- la fonction hexa_vers_decimal

- la fonction convertir

- la fonction decrypter_motpasse

- la procédure decryptage

- la procédure remplir_fichier_notes

- la procédure recherche

- la procédure remplir

- la procédure statistique

 

Algorithme du programme Principal

Le programme principal assure le déroulement complet de l'application. Il commence par demander le nombre d'enregistrements à traiter, puis génère le fichier contenant les identifiants et les mots de passe des adhérents. Ensuite, il décrypte les mots de passe et charge les informations dans un tableau en mémoire. Après l'authentification des utilisateurs, il permet la saisie des notes correspondantes. Enfin, il calcule et affiche les statistiques finales relatives aux notes enregistrées.

Déclaration des objets

Objet Type / Nature
ne entier
tle tableau des enregistrements

 

La fonction saisie

La fonction saisie() permet de garantir qu'une valeur entière saisie par l'utilisateur appartient à un intervalle donné. Elle affiche un message invitant l'utilisateur à entrer un nombre compris entre une borne inférieure (inf) et une borne supérieure (sup). Si la valeur saisie est en dehors de cet intervalle, la fonction redemande une nouvelle saisie jusqu'à ce qu'une valeur valide soit fournie. Enfin, elle retourne l'entier valide saisi par l'utilisateur.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction convertir_binaire_8bits

La fonction convertir_binaire_8bits() permet de convertir un nombre entier décimal en sa représentation binaire sur 8 bits. Elle effectue la conversion en utilisant les divisions successives par 2 et construit progressivement la chaîne de caractères représentant le nombre binaire. Ensuite, elle complète cette représentation avec des zéros à gauche jusqu'à obtenir exactement 8 bits. Enfin, elle retourne la valeur binaire sous forme d'une chaîne de caractères.

Déclaration des objets

Objet Type / Nature
binaire chaîne des caractères

 

La procédure remplir_LoginPassword

La procédure remplir_LoginPassword() permet de générer et d'enregistrer automatiquement les identifiants et les mots de passe cryptés de plusieurs utilisateurs dans un fichier texte nommé LoginPassword.txt.

Déclaration des objets

Objet Type / Nature
f fichier texte
login chaîne
nbr_caractères entier
motpassecrypte chaîne
j entier
code_ascii entier
octet chaîne

 

La fonction binaire_vers_hexa

La fonction binaire_vers_hexa() permet de convertir deux groupes de bits représentant un octet binaire en une valeur sous forme hexadécimale. Elle prend en entrée deux chaînes binaires (b1 et b2) correspondant généralement aux deux demi-octets d'un octet.

La fonction commence par convertir le premier groupe binaire b1 en une valeur décimale. Si cette valeur est inférieure à 10, elle est conservée sous forme de chiffre ; sinon, elle est convertie en caractère hexadécimal (A à F). Ensuite, elle convertit le deuxième groupe binaire b2 en valeur décimale.

Enfin, elle retourne la représentation hexadécimale obtenue en combinant la valeur du deuxième groupe avec le caractère correspondant au premier groupe. Cette fonction est utilisée pour transformer une donnée binaire en une écriture hexadécimale plus compacte et plus lisible.

Déclaration des objets

Objet Type / Nature
val1 entier
i entier
v chaîne
val2 entier

 

La fonction hexa_vers_decimal

Cette fonction permet de convertir un nombre écrit en hexadécimal (base 16) en son équivalent décimal (base 10).

Déclaration des objets

Objet Type / Nature
decimal entier
i entier

 

La fonction convertir

Cette fonction permet de convertir un octet représenté en binaire (8 bits) en sa valeur décimale.

Déclaration des objets

Objet Type / Nature
b1 chaîne des caractères
b2 chaîne des caractères
hexa chaîne des caractères
decimal entier

 

La fonction decrypter_motpasse(ch)

Cette procédure permet de déchiffrer un mot de passe codé sous forme d'une chaîne binaire en le convertissant en une chaîne de caractères ASCII.

Déclaration des objets

Objet Type / Nature
decrypter chaîne des caractères
octet chaîne des caractères
caractere chaîne des caractères

 

La procédure decryptage

Cette procédure permet de lire le fichier LoginPassword.txt, de déchiffrer les mots de passe qui y sont stockés sous forme binaire et de les enregistrer avec les logins dans le tableau tlp.

Déclaration des objets

Objet Type / Nature
f fichier texte
i entier
adherent enregistrment

 

La procédure remplir_fichier_notes

Cette procédure permet d'ajouter un enregistrement contenant un login et une note dans le fichier binaire notes.dat.

Déclaration des objets

Objet Type / Nature
f fichier binaire
appreciation enregistrment

 

La fonction recherche

Cette fonction vérifie si un login existe dans le fichier binaire notes.dat en parcourant les enregistrements sauvegardés.

Déclaration des objets

Objet Type / Nature
f fichier binaire
trouver booléen
appreciation enregistrment

 

La procédure remplir

Cette procédure permet de gérer la participation des adhérents en vérifiant leur authentification, en contrôlant s'ils ont déjà voté, puis en enregistrant leur note dans le fichier binaire notes.dat.

Déclaration des objets

Objet Type / Nature
n entier
i entier
login chaîne des caractères
motpasse chaîne des caractères
j entier
note entier

 

La procédure statistique

Cette procédure permet de lire le fichier binaire notes.dat, d'afficher les notes enregistrées et de calculer des statistiques sur les appréciations des adhérents.

Déclaration des objets

Objet Type / Nature
f fichier binaire
moy entier
n entier
p entier
j entier
appreciation enregistrement

 

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

Photos des articles

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