On se propose d’écrire un programme Python permettant de déterminer et d’afficher si un entier N saisi (N>9) est divisible par 9 ou non, en appliquant la méthode suivante :
1- On fait la somme du 1er et du 2ème chiffre de N
2- Si la somme obtenue est supérieure ou égale à 9, en lui soustrait 9
3- On ajoute ensuite à cette somme et on lui applique la règle 2 (on lui retranche 9 si elle est supérieur à 9) et ainsi de suite jusqu’au dernier chiffre de N.
4- Si le résultat final est nul, le nombre N est alors divisible par 9.
Exemple : pour N=65493 le programme effectuera les opérations suivantes :
6+5=11 (11 est supérieur ou égal à 9, on lui soustrait 9, on obtient 2)
2+4=6 (6 est strictement inférieure à 9)
6+9=15 (15 est supérieur ou égal à 9, on lui soustrait 9, on obtient 6)
6+3=9 (9 est supérieur ou égal à 9, on lui soustrait 9, on obtient 0)
Le résultat est nul et tous les chiffres de N ont été traités, donc le nombre 65493 est divisible par 9. En effet, 65493=9*7277
Voici le principe de l'algorithme permettant de déterminer si un entier N (tel que N>9) est divisible par 9 en appliquant la méthode décrite :
1. Initialisation :Lire l'entier N.
2. Parcourir les chiffres de N
Pour chaque chiffre suivant du nombre N, effectuer les étapes suivantes :
a) Ajouter le chiffre courant à une variable nommé d.
b) Si v
est supérieur ou égal à 9, soustraire 9 à d
.
3. Vérification de divisibilité
Après avoir parcouru tous les chiffres de N, vérifier la valeur finale de d
:
Si v
est égale à 0, alors N est divisible par 9.
Sinon, N n'est pas divisible par 9.
4. Affichage du résultat: Afficher le résultat indiquant si NN est divisible par 9 ou non.
Dans cet algorithme, On va utiliser deux fonctions :
Algorithme du programme principal
1 2 3 4 5 6 7 8 |
Algorithme divisible_par_9 Debut n<-saisie() Si divisible_9(n)alors Ecrire(n,' est divisible par 9') Sinon Ecrire(n,' est non divisible par 9') Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction saisie
Cette fonction saisit un entier n >= 9.
1 2 3 4 5 6 7 8 9 10 |
fonction saisie():entier Début Ecrire('donner un entier >= 9 ') lire (n) Tant que n<9 faire Ecrire('donner un entier >= 9 ') lire (n) Fin tant que retourner n Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction divisible_9
Cette fonction vérifie si un entier n est divisible par 9 ou non .
1 2 3 4 5 6 7 8 9 10 11 |
fonction divisible_9(n:entier):booleen Début ch<-Convch(n) d<-0 Pour i de 0 à long(ch)-1 faire v=Valeur(ch[i]) d<-d+v Si (d>=9) alors d<-d-9 retourner d==0 Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
v | entier |
d | entier |
ch | chaine des caracteres |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
def saisie() : n=int(input('donner un entier > 9: ')) while n<9 : n=int(input('donner un entier > 9: ')) return n def divisible_9(n): ch=str(n) d=0 for i in range(len(ch)) : v=int(ch[i]) d=d+v if (d>=9) : d=d-9 return d==0 #programme principal n=saisie() if (divisible_9(n)): print(str(n)+' est divisible par 9') else: print(str(n)+' est non divisible par 9') ; |
Exécution du programme
Pour créer une application en Python pour vérifier si n est divisible par 9 ou non en 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é 'test_bt' pour exécuter le module divisible_9.
QLabel
nommé 'msg' pour afficher un message d'erreur.
QLabel
nommé 'resultat' pour afficher le résultat du test de la divisibilité par 9.
Enregistrez le fichier avec l'extension .ui
, par exemple divisible_9-interface.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 27 28 29 30 31 32 33 34 |
from PyQt5.uic import loadUi from PyQt5 import QtCore, QtGui from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui, QtWidgets app = QApplication([]) windows = loadUi ("divisible_9-interface.ui") def divisible_9() : n = int(windows.n.text()) if n>=9 : ch=str(n) d=0 operation='' for i in range(len(ch)) : v=int(ch[i]) d=d+v if (d>=9) : d=d-9 if d==0 : operation=operation+windows.n.text()+' est divisible par 9' else: operation=operation+windows.n.text()+' est non divisible par 9' windows.resultat.setText(operation) else: windows.msg.setText('Donner n>=9') windows.test_bt.clicked.connect(divisible_9) windows.show() app.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