Vous êtes sur la page 1sur 6

Section : 4 Scien.

LYCEE SBIKHA Date : 05/05/2022


---o--- DEVOIR DE CONTRÔLE N°3 Durée : 1 H
A.S. 21/22 Algorithmique & Programmation Coef : 1
Important :
 Une solution modulaire au problème posé est exigée.
A  Dans le dossier « BAC2022», enregistrer au fur et à mesure tous les fichiers solution
au problème posé.
Un nombre est dit fort s’il est égal à la somme des factorielles de ces chiffres.
Exemple : Le nombre 40585 est fort,
en effet 40585 : 4! + 0! + 5! + 8!+ 5! = 24 + 1 + 120 + 40320 + 120 = 40585.
Ci-après l’algorithme de la fonction « traiter »:

Fonction traiter (ch : chaine)


DEBUT
Si NON (Estnum(ch)) Alors
msg ″Vérifier votre saisie″
nb ’’’’
Sinon Si somme(ch) Alors
msg″le nombre est fort″
Sinon
msg″le nombre n’est pas fort″
Fin si
Retourner msg
FIN
On veut créer l’interface graphique présentée ci-dessous, comportant les éléments
suivants :
 Un label contenant le titre suivant «Le nombre Fort ».
 Un label contenant le texte suivant « Saisir un nombre ».
 Une zone de saisie nommé « nb », permettant de saisir un nombre.
 Un bouton nommé « Vérifier ».
 Un label contenant le texte suivant « Résultat ».
 Un label nommé « msg », pour afficher un message.

1 2 SUJET A © SBIKHA 2022


Travail à faire:
1- concevoir une interface graphique comme illustré ci-dessus, puis l'enregistrer
dans votre dossier de travail sous le nom "fort.ui".
2- développer en python une fonction intitulée "somme", qui permet de vérifier si
un nombre est fort ou non, et l'enregistrer sous le nom "fort.py".
3- dans le programme " fort.py", ajouter les instructions suivantes permettant de:
 d'appeler l'interface graphique "fort.ui" en exploitant l'annexe ci-dessous.
 d’implémenter un module "afficher", qui s’exécute à la suite d’un clic sur le
bouton "vérifier", permettant de récupérer le nombre saisie, puis
d’exploiter la fonction "traiter", afin d’afficher le message retourné via le
label « msg » de la fonction "traiter ".

Annexe:

from PyQt5.uic import loadUi



from PyQt5.QtWidgets import QApplication
……………
…………… 
app = QApplication([])

fen = loadUi("nom_interface.ui")
fen.nom_bouton.clicked.connect(nom_module)
fen.show()
app.exec()



GRILLE D’EVALUATION :
Traitements NOMBRE DE POINTS
SI exécution et tests réussis avec respect des contraintes__________ 20
SINON
 création de l’interface graphique. __________________________ 6
 Structures de données adéquates avec le problème posé._______ 2
 Développer le module somme_____________________________ 4+3
 Implémenter le module traiter_____________________________ 3
 Implémenter le module afficher____________________________ 2



2 2 SUJET A © SBIKHA 2022


Section : 4 Scien.
LYCEE SBIKHA Date : 05/05/2022
---o--- DEVOIR DE CONTRÔLE N°3 Durée : 1 H
A.S. 21/22 Algorithmique & Programmation Coef : 1
Important :
 Une solution modulaire au problème posé est exigée.
B  Dans le dossier « BAC2022», enregistrer au fur et à mesure tous les fichiers solution
au problème posé.
Un nombre est dit super premier s’il est premier et si, en supprimant des chiffres à
partir de sa droite, le nombre restant est aussi premier.
Exemple : Le nombre 59399 est super premier car les nombres 59399, 5939, 593, 59, 5
sont tous premier.
Ci-après l’algorithme de la fonction « traiter »:

Fonction traiter (ch : chaine)


DEBUT
Si NON (Estnum(ch)) Alors
msg ″Vérifier votre saisie″
nb ’’’’
Sinon Si superpremier(ch) Alors
msg″le nombre est super premier″
Sinon
msg″le nombre n’est pas super premier″
Fin si
Retourner msg
FIN
On veut créer l’interface graphique présentée ci-dessous, comportant les éléments
suivants :
 Un label contenant le titre suivant «Super Premier ».
 Un label contenant le texte suivant « Saisir un nombre ».
 Une zone de saisie nommé « nb », permettant de saisir un nombre.
 Un bouton nommé « Vérifier ».
 Un label contenant le texte suivant « Résultat ».
 Un label nommé « msg », pour afficher un message.

3 2 SUJET B © SBIKHA 2022


Travail à faire:
1- concevoir une interface graphique comme illustré ci-dessus, puis l'enregistrer
dans votre dossier de travail sous le nom "super.ui".
2- développer en python une fonction intitulée "superpremier", qui permet de
vérifier si un nombre est super premier ou non, et l'enregistrer sous le nom
"superpremier.py".
3- dans le programme " superpremier.py", ajouter les instructions suivantes
permettant de:
 d'appeler l'interface graphique "super.ui" en exploitant l'annexe ci-dessous.
 d’implémenter un module "afficher", qui s’exécute à la suite d’un clic sur le
bouton "vérifier", permettant de récupérer le nombre saisie, puis
d’exploiter la fonction "traiter", afin d’afficher le message retourné via le
label « msg » de la fonction "traiter ".

Annexe:

from PyQt5.uic import loadUi



from PyQt5.QtWidgets import QApplication
……………
…………… 
app = QApplication([])

fen = loadUi("nom_interface.ui")
fen.nom_bouton.clicked.connect(nom_module)
fen.show()
app.exec()



GRILLE D’EVALUATION :
Traitements NOMBRE DE POINTS
SI exécution et tests réussis avec respect des contraintes__________ 20
SINON
 création de l’interface graphique. __________________________ 6
 Structures de données adéquates avec le problème posé._______ 2
 Développer le module superpremier________________________ 4+3
 Implémenter le module traiter_____________________________ 3
 Implémenter le module afficher____________________________ 2



4 2 SUJET B © SBIKHA 2022


Section : 4 Scien.
LYCEE SBIKHA Date : 05/05/2022
---o--- DEVOIR DE CONTRÔLE N°3 Durée : 1 H
A.S. 21/22 Algorithmique & Programmation Coef : 1
Important :
 Une solution modulaire au problème posé est exigée.
C  Dans le dossier « BAC2022», enregistrer au fur et à mesure tous les fichiers solution
au problème posé.
On se propose de crypter une phrase de la manière suivante :
 Chaque lettre d’un mot sera remplacée par la lettre qui la suit de P positions
dans l’alphabet français, où P est le rang du mot dans la phrase.
 On suppose que le caractère qui suit la lettre "Z" est le caractère "A" et celui qui
suit la lettre "z" est le caractère "a".
 Le caractère espace ne subit aucune modification.
 Le message peut contenir des espaces superflus (inutiles).
Exemple : Phrase initiale : Examen Pratique En Informatique
Rang des mots : 1 2 3 4
Phrase cryptée : Fybnfo Rtcvkswg Hq Mrjsvqexmuyi

Ci-après l’algorithme de la fonction « traiter »:

Fonction traiter (ph : chaine)


DEBUT
Si (valide(ph)) Alors
msg crypter(ph)
Sinon
msg ″Vérifier votre phrase″
ch ’’’’
Fin si
Retourner msg
FIN

On veut créer l’interface graphique présentée ci-dessous, comportant les éléments


suivants :

 Un label contenant le titre suivant «Cryptage ».


 Un label contenant le texte suivant « Saisir votre phrase ».
 Une zone de saisie nommé « ch », permettant de saisir un nombre.
 Un bouton nommé « crypter ».
 Un label contenant le texte suivant « Résultat ».
 Un label nommé « msg », pour afficher un message.

5 2 SUJET C © SBIKHA 2022


Travail à faire:
1- concevoir une interface graphique comme illustré ci-dessus, puis l'enregistrer
dans votre dossier de travail sous le nom "cryptage.ui".
2- développer en python une fonction intitulée "crypter", qui permet de crypter une
chaine selon le principe ci-dessous, et l'enregistrer sous le nom "cryptage.py".
3- dans le programme " cryptage.py", ajouter les instructions suivantes permettant
de:
 d'appeler l'interface graphique "cryptage.ui" en exploitant l'annexe ci-
dessous.
 d’implémenter un module "afficher", qui s’exécute à la suite d’un clic sur
le bouton "crypter", permettant de récupérer la phrase saisie, puis
d’exploiter la fonction "traiter", afin d’afficher le message retourné via le
label « msg » de la fonction "traiter ".
Annexe:

from PyQt5.uic import loadUi



from PyQt5.QtWidgets import QApplication
……………
…………… 
app = QApplication([])

fen = loadUi("nom_interface.ui")
fen.nom_bouton.clicked.connect(nom_module)
fen.show()
app.exec()


GRILLE D’EVALUATION :
Traitements NOMBRE DE POINTS
SI exécution et tests réussis avec respect des contraintes__________ 20
SINON
 création de l’interface graphique. __________________________ 6
 Structures de données adéquates avec le problème posé._______ 2
 Développer le module crypter_____________________________ 4+3
 Implémenter le module traiter_____________________________ 3
 Implémenter le module afficher____________________________ 2


6 2 SUJET C © SBIKHA 2022

Vous aimerez peut-être aussi