On se propose de vérifier si un entier >0 donné est dit nombre automorphe ou pas, sachant qu’un nombre est dit automorphe s’il se trouve à la fin de son carré.
Exemples :
5 est automorphe car 5² = 25
76 est automorphe car 76² = 5776
376 est automorphe car 376² = 141376
1- Saisie de l'entier : Accepter un entier positif donné.
2- Calcul du carré : Calculer le carré de cet entier.
3- Vérification de la propriété automorphe : Comparer les derniers chiffres du carré avec le nombre initial.
Algorithme en pseudocode
1- Lire le nombre n.
2- Calculer n².
3- Convertir n et n² en chaînes de caractères.
4- Vérifier si la chaîne représentant n se trouve à la fin de la chaîne représentant n².
5- Afficher le résultat.
Dans cet algorithme, On va utiliser une fonction nommée test_automorphe.
Algorithme du programme principal
1 2 3 4 5 6 7 8 9 |
Algorithme nombre_automorphe Debut n<-saisie() Si test_automorphe(n)>0 alors Ecrire(n+' est un nombre automorphe') sinon Ecrire(n)+' est un nombre non automorphe') Finsi Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction saisie
Cette fonction retourne un entier n > 0 saisi par l'utilisateur.
1 2 3 4 5 6 7 8 9 10 |
foncttion saisie() Début Ecrire('donner un entier > 0') lire (n) Tant que n<=0 faire Ecrire('donner un entier > 0') lire (n) Fin tant que retourner n Fin |
La fonction test_automorphe
Cette fonction teste si un nombre est automorphe ou non.
1 2 3 4 5 6 |
Fonction test_automorphe(n) Début ch1<-Convch(n) ch2<-Conch(n*n) retourner Souschaîne(ch2,long(ch2)-long(ch1),long(ch2))=long(ch1) Fin |
Déclaration des objets
Objet | Type / Nature |
ch1 | chaîne des caractères |
ch2 | chaîne des caractères |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
def saisie() : n=int(input("donner un entier > 0 ")) while(n<0) : n=int(input("donner un entier > 0 ")) return n def test_automorphe(n) : ch1=str(n) ch2=str(n*n) return ch2[len(ch2)-len(ch1):len(ch2)]==ch1 #programme principal n=saisie() if test_automorphe(n : print(str(n)+' est un nombre automorphe') else: print(str(n)+' est un nombre non automorphe') |
Exécution du programme
Pour créer une application en Python pour vérifier si un entier >0 donné est nombre automorphe ou pas utilisant Qt Designer pour l'interface graphique, suivez ces étapes :
a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.
b- Ajoutez ces widgets:
QLineEdit
nommé 'n' pour entrer un entier n .
QPushButton
nommé 'tautomorphe_bt' pour exécuter le module test_automorphe.
QLabel
nommé 'msg' pour afficher un message d'erreur en cas de n <=0.
QLabel
nommé 'resultat_test' pour afficher un message contenant le résultat du test automorphe de l'entier.
Enregistrez le fichier avec l'extension .ui
, par exemple nombre_automorphe.ui
.
Voici un exemple de script Python qui utilise l'interface graphique générée par Qt Designer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#importation des modules nécessaires from PyQt5.QtWidgets import QApplication from PyQt5 import uic application = QApplication([]) window = uic.loadUi("nombre_automorphe.ui") def test_automorphe() : n=int(window.n.text()) # recevoir la valeur du QLineEdit n if n>0: ch1=str(n) ch2=str(n*n) if ch2[len(ch2)-len(ch1):len(ch2)]==ch1 : window.resultat_test.setText(str(n)+' est un nombre automorphe') else: window.resultat_test.setText(str(n)+' est un nombre non automorphe') else: window.msg.setText('Veuillez saisir n>0') # si on clique sur le automorphe_bt, la fonction test_automorphe est exécutée window.automorphe_bt.clicked.connect(test_automorphe) window.show() application.exec() |
Exécution du programme
Vous pouvez voir aussi :
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.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info