DC3 Scientifiques
DC3 Scientifiques
DC3 Scientifiques
Fayçal CHAIEB
Année Scolaire 2021/2022 Epreuve : Informatique
Date : Samedi 23 Avril 2022
Devoir de contrôle n°3 Classe : 4 SC+M – Durée : 1h – Coefficient : 1
Important : Dans le répertoire Bac2022, créez un dossier de travail ayant comme nom votre Nom et Prénom et
dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet.
Un entier N est dit nombre NARCISSIQUE s’il est égal à la somme de ses K chiffres chacun élevé à la
puissance K.
Exemples :
1634 est un nombre NARCISSIQUE à 4 chiffres : 1634 = 14 + 64 + 34 + 44
548 834 est un nombre NARCISSIQUE à 6 chiffres : 548 834 = 56 + 46 + 86 + 86 + 36 + 46
Soit l’algorithme suivant de la fonction Message :
Fonction Message (Ch : Chaîne) : Chaîne
Début
Si Non (Estnum(Ch) et 3≤ Long(Ch) ≤ 8) Alors
Msg "Saisie Non valide !"
Sinon Si NARCISSIQUE (Valeur(Ch)) Alors
Msg "Nombre NARCISSIQUE"
Sinon
Msg " Nombre n’est NARCISSIQUE"
Fin Si
Retourner Msg
Fin
Travail demandé :
1) Concevoir une interface graphique comme le modèle cité ci-dessous et l’enregistrer sous le nom
Interface_Narcissique. (7pts)
L’interface comporte les éléments suivants :
- Un label contenant le titre Nombre NARCISSIQUE.
- Un label demandant la saisie de N.
- Une zone de saisie permettant la saisie d’un nombre.
- Un bouton Vérifier permettant d’appeler la fonction Message.
- Un bouton Rétablir permettant de vider le champ de saisie et le label de messages.
- Un label pour afficher les différents messages.
2) Implémenter l’algorithme de la fonction Message en Python puis enregistrer le programme dans
votre dossier de travail sous le nom Narcissique0. (3pts)
3) Développer dans ce programme le module NARCISSIQUE permettant de vérifier si un nombre
donné en paramètre est Narcissique ou non et l’enregistrer dans votre dossier de travail sous le nom
Narcissique1. (6pts)
4) Dans le fichier Python Narcissique1, apporter les modifications nécessaires pour intégrer cette
interface graphique dans votre programme tout en exploitant l’annexe ci-dessous et enregistrer votre
travail. (4pts)
Annexe
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
……
……
app = QApplication([])
fen = loadUi ("Nom_Interface.ui")
fen.show()
fen.Nom_Bouton.clicked.connect (Nom_Module)
app.exec_()
Bon Travail