Mesure de sécurité CAPTCHA – Examen théorique informatique – 2023 [ Bac scientifique ]

Algo et Python 24-10-24
54 0

Sujet bac informatique théorique 2023 (Bac scientifique)

Le CAPTCHA est une mesure de sécurité sur le Web de type authentification par question-réponse. Cette mesure de sécurité sert à vérifier que l'utilisateur est bien un être humain et non pas un programme malveillant.

Dans ce problème, on considère les  CAPTCHAS basés sur des opérations de calcul.

Afin de simplifier la programmation de ce type d'authentification, on utilisera deux tableaux T1 et T2 où T1 contiendra des opérations de calcul et T2 contiendra leurs résultats correspondants.

A chaque authentification :

1- une opération est affichée aléatoirement

2- l'utilisateur saisit sa réponse à cette opération

3- un message de validation est affiché:

a) "Authentification valide" dans le cas ou la réponse est correcte

b) "Authentification invalide" dans le cas contraire

On se propose d'écrire un algorithme et un programme Python permettant :

1- de remplir deux tableaux T1 et T2 de même taille N compris entre 4 et 20 sachant que :

a) chaque élément T1[i] contient une opération de la forme "Nbre1 op Nbre2 = ?", avec :

- Nbre1 et Nbre2 sont deux nombres compris entre 0 et 30.

- Op est un opérateur arithmétique de la liste (+, - ou *)

b) T2[i] contient le résultat de l'opération contenue dans T1[i]

2- d'afficher aléatoirement un élément (opération) de T1.

3- d'afficher le message de validation correspondant suite à la réponse saisie par l'utilisateur.

Exemple:

Pour n=6 et les deux tableaux T1 et T2 suivants :

T1

"3 + 18 = ?" "4 * 22 = ?" "25 - 8 = ?" " 11 - 6 = ?" " 8 - 20 = ? " " 12 * 6 = ? "

 

T2

21 88 17 5 -12 72

 

Si le programme choisit aléatoirement T1[4], l'opération "11 - 6 = ?" sera affichée.

Si l'utilisateur saisit 5, le message  "Authentification valide"  sera affiché, sinon le message  "Authentification invalide" sera affiché pour toute autre réponse.

Solution Algorithmique

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

Algorithme du programme Principal

Déclaration des objets

Objet Type / Nature
t1 tableau des chaînes des caractères
t2 tableau des entiers
n entier
essai entier

 

La fonction saisie_taille

Cette fonction saisit la taille du tableau entre 4 et 20.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif_operation

Cette fonction vérifie l'opération saisie est sur la forme "Nbre1 op Nbre2 = ?".

Déclaration des objets

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

 

La fonction calcul_operation

Cette fonction calcule et retourne l'opération arthmétique.

Déclaration des objets

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

 

La procédure remplir

Cette procédure remplit les deux tableaux T1 et T2.

Déclaration des objets

Objet Type / Nature
i entier

 

Solution en Python

Exécution du programme:

Solution en Python et Designer QT

Pour créer une application en Python et Designer QT afin de gérer le suivi de la vaccination contre le COVID-19, 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:

QLabel nommé 'msg' pour afficher des messages d'erreur.

QLineEdit nommé 'ch' pour entrer les opérations arithmétiques

QPushButton nommé 'remplir_bt' pour mettre les opérations arithmétiques dans le tableau T1 et leurs résultats dans le tableau T2.

QLabel nommé 'tabt1_label' pour contenir les opérations arithmétiques

QLabel nommé 'tabt2_label' pour contenir les résultats des opérations arithmétiques

QPushButton nommé 'captcha_bt' pour choisir aléatoirement une opération du tableau T1.

QLabel nommé 'affichage_captcha' pour contenir l'opération choisie.

QLineEdit nommé 'essai' pour entrer la réponse de l'opération arithmétique.

QPushButton nommé 'verifier_bt' pour vérifier la réponse saisie par l'utilisateur est valide.

QLabel nommé 'resulat' pour contenir le résultat de la vérification .

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

1) Remplissage du tableau T1 et T2

2) Afficher l'opération arithmétique à tester

3) Saisir la réponse de l'utilisateur et retourner le résultat de la vérification.

 

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