Ecrire un programme Python qui permet de déterminer si un entier donné n (n>=10) est divisible par 7 ou non, en appliquant le méthode suivante :
1) supprimer le chiffre des unités de n
2) calculer la valeur absolue de la différence entre le nombre obtenu en 1) et le double du chiffre d’unité supprimé
3) recommencer les étapes 1) et 2) jusqu’à obtenir un nombre à un seul chiffre
4) si ce chiffre obtenu en 3) est égal à 0 ou égal à 7 alors le nombre n est divisible par 7
Exemples
Pour n=345678
23456-2*8=234511 23451-2*1=3449 344-2*9=326 32-2*6=20 2-2*0=2 Donc le nombre 2345678 n’est pas divisible par 7 |
Pour n=11340
1134-2*0=1134 113-2*4=105 10-2*5=0
Donc le nombre 11340 est divisible par 7 |
Pour déterminer si un entier n ( n≥10 ) est divisible par 7 en utilisant la méthode décrite, voici le principe de l'algorithme :
1- Tant que n a plus d'un chiffre :
a) Supprimer le chiffre des unités de n.
b) Calculer le double du chiffre des unités supprimé.
c) Calculer la valeur absolue de la différence entre le nombre obtenu après la suppression du chiffre des unités et le double du chiffre des unités supprimé.
d) Mettre à jour n avec cette valeur.
2- Vérifier si le chiffre final est égal à 0 ou 7 :
a) Si oui, n est divisible par 7.
b) Sinon, n n'est pas divisible par 7.
Dans cet algorithme, On va utiliser deux fonctions :
Algorithme du programme principal
1 2 3 4 5 6 7 8 |
Algorithme divisible_par_7 Debut n<-saisie() Si divisible_7(n)alors Ecrire(n,' est divisible par 7') Sinon Ecrire(n,' est non divisible par 7') Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction saisie
Cette fonction saisit un entier n >= 10.
1 2 3 4 5 6 7 8 9 10 |
fonction saisie() Début Ecrire('donner un entier >= 10 ') lire (n) Tant que n<10 faire Ecrire('donner un entier >= 10 ') lire (n) Fin tant que retourner n Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction divisible_7
Cette fonction vérifie si un entier n est divisible par 7 ou non .
1 2 3 4 5 6 7 |
fonction divisible_7(n:entier) Début Tant que (n>=10) faire n<-abs((n div 10) -2*(n mod 10)) Ecrire(n) retourner (n==0) ou (n==7) Fin |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
def saisie(): n=int(input('Donner un entier entre >=10: ')) while n<10 : n=int(input('Donner un entier >=10: ')) return n def divisible_7(n): while (n>=10): n=abs((n // 10) -2*(n % 10)) print(str(n)) return (n==0) or (n==7) # programme principal n= saisie() if divisible_7(n) : print(str(n)+' est divisible par 7') else: print(str(n)+' est non divisible par 7') |
Exécution du programme
Pour créer une application en Python pour vérifier si n est divisible par 7 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_7.
QLabel
nommé 'msg' pour afficher un message d'erreur.
QLabel
nommé 'resultat' pour afficher un le résultat du test de la divisibilité par 7.
Enregistrez le fichier avec l'extension .ui
, par exemple divisible_7-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 |
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_7-interface.ui") def divisible_7() : n = int(windows.n.text()) operation='' if n>=10 : while (n>=10): n=abs((n // 10) -2*(n % 10)) operation=operation+str(n)+'\n' if (n==0) or (n==7) : operation=operation+windows.n.text()+' est divisible par 7' else: operation=operation+windows.n.text()+' est non divisible par 7' windows.resultat.setText(operation) else: windows.msg.setText('Donner n>=10') windows.test_bt.clicked.connect(divisible_7) 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