Rotation-Miroir – Examen pratique informatique – 2023 [ Bac scientifique ]

Algo et Python 23-10-24
7 0

Sujet bac informatique pratique 2023 (Bac scientifique)

On propose un algorithme et un programme Python permettant de saisir une chaîne de caractères ch et de la crypter en utilisant le principe suivant :

Etape 1 : Rotation13

Effectuer, pour chaque caractère de ch, une rotation de 13 caractères dans l’ordre alphabétique en appliquant la formule Chr(97 + (Ord(ch[i]) – 97 + 13) Mod 26) pour obtenir le caractère correspondant.

Etape 2 : Miroir

Transformer la chaîne de caractères obtenue à l’issue de l’Etape 1 en son miroir. C’est-à-dire permuter le premier caractère avec le dernier, le deuxième caractère avec l’avant dernier et ainsi de suite.

Remarque : La chaîne ch doit être non vide, de longueur inférieure à 10 et contient seulement des lettres alphabétiques en minuscule.

Exemple :

Pour ch = "algo"

Etape 1 : Rotation13

- le caractère "a" sera crypté en "n". En effet, Chr(97+(Ord("a")-97+13) Mod 26) = Chr(110) qui correspond au caractère "n"

- le caractère "l" sera crypté en "y". En effet, Chr(97+(Ord("l")-97+13) Mod 26) = Chr(121) qui correspond au caractère "y".

- le caractère "g" sera crypté en "t". En effet, Chr(97+(Ord("g")-97+13) Mod 26) = Chr(116) qui correspond au caractère "t".

- le caractère "o" sera crypté en "b". En effet, Chr(97+(Ord("o")-97+13) Mod 26) = Chr(98) qui correspond au caractère "b".

D’où le résultat de l’étape 1 est "nytb"
Etape 2 : Miroir Le miroir de la chaîne "nytb" est "btyn"

Donc, le cryptage de la chaîne "algo" en appliquant le principe ci-dessus est "btyn"

Solution Algorithmique

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_lettres

Cette fonction vérifie que la chaîne ch est non vide, de longueur inférieure à 10 et contient seulement des lettres alphabétiques en minuscule.

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction saisie_chaine

Cette fonction saisit une chaine non vide, de longueur inférieure à 10 et contient seulement des lettres alphabétiques en minuscule.

Déclaration des objets

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

 

La fonction cryptage

Cette fonction fait le cryptage d'une chaîne des caractères.

Déclaration des objets

Objet Type / Nature
i entier
ch1 chaîne des caractères

 

Solution en Python

Exécution du programme:

Solution en Python et Designer QT

Pour créer une application en Python et Designer QT qui crypte une chaîne des caractères, on va suivre 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 une chaîne des caractères.

QPushButton nommé 'crypter_bt' pour crypter une chaîne des caractères.

QLabel nommé 'msg' pour afficher des messages d'erreur et la chaîne des caractères.

Enregistrez le fichier avec l'extension .ui, par exemple rotation-miroir-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