Cryptage d’une chaîne – Bac pratique 2012 [ Algorithme + Python ]

Algo et Python 05-08-24
193 0

Sujet bac informatique pratique 2012 (Bac scientifique)

Soit une chaîne de caractères ch non vide formée uniquement par des lettres majuscules et dont la taille ne dépasse pas 30 caractères. On se propose de crypter cette chaîne selon la principe suivant :

- Former un chaîne chr en remplaçant chaque lettre de ch par son code ASCII.                                                                                                                 –

- Inverser les caractères de la chaîne chr.

Exemple : Le cryptage de la chaîne « BACSI » passe par les deux étapes suivantes :

1ère étape : On remplace chaque lettre par son code ASCII, on obtient la chaîne suivante : « 6665678373 »

2ème étape : On inverse les caractères de la chaîne, on obtient le résultat : « 3738765666 »

Ecrire un programme Python qui permet de saisir et de crypter une chaîne de caractères ch non vide formée uniquement par des lettres majuscules et dont la taille ne dépasse pas 30 caractères selon le principe décrit ci-dessus et d’afficher le résultat obtenu.

Solution Algorithmique

Pour crypter une chaîne de caractères formée uniquement de lettres majuscules selon le principe décrit, on peut suivre les étapes suivantes :

1- Saisie et validation de la chaîne :

a) Vérifier que la chaîne est non vide.

b) Vérifier que la chaîne ne contient que des lettres majuscules.

c) Vérifier que la longueur de la chaîne ne dépasse pas 30 caractères.

2- Conversion en codes ASCII :

a) Pour chaque caractère de la chaîne, convertir le caractère en son code ASCII.

b) Concaténer tous les codes ASCII pour former une nouvelle chaîne.

3- Inversion de la chaîne ASCII :

4- Affichage du résultat : Afficher la chaîne cryptée résultante.

Dans cet algorithme, On va utiliser trois fonctions:

 

Algorithme du programme principal

Déclaration des objets

Objet

Type / Nature

ch

chaîne des caractères

La fonction verif

Cette fonction vérifie si une chaîne est formée uniquement des lettres majuscules.

Déclaration des objets

Objet

Type / Nature

i

entier

La fonction saisie_chaine

Cette fonction retourne une chaîne formée uniquement des lettres majuscules..

Déclaration des objets

Objet

Type / Nature

ch

chaîne des caractères

La fonction cryptage

Cette fonction retourne la chaîne cryptée.

Déclaration des objets

Objet

Type / Nature

i

entier

chascii

chaine des caractères

ch_crypte

chaîne des caractère

Solution en Python

Exécution du programme

Solution en Python et Designer QT

Pour créer une application en Python pour crypter une chaîne de caractères formée uniquement de lettres majuscules selon le principe décrit,  en utilisant Qt Designer pour l'interface graphique, suivez ces étapes :

1- Créer l'interface graphique avec Qt Designer

a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.

b- Ajoutez ces widgets:

QLineEdit nommé 'ch' pour entrer des lettres majuscules.

QPushButton nommé 'cryptage_bouton_bt' pour exécuter le module crypter_ch .

QLabel nommé 'msg' pour afficher un message d'erreur si long(ch) > 30 et si ch contient des caractères non alphabétique et afficher la chaîne cryptée.

Enregistrez le fichier avec l'extension .ui, par exemple cryptage-chaîne-BACSI-interface.ui.

2- Créer le script Python pour l'application

Voici un exemple de script Python qui utilise l'interface graphique générée par Qt Designer.

Exécution du programme

 

Vous pouvez voir aussi :

1) des exercices sur les chaînes des caractères

2) des exercices sur les tableaux

3) des sujets Bac pratique

4) des sujets Bac théorique

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-Prof Info