On se propose d’écrire un programme Python permettant de déterminer et d’afficher un code à partir d’un entier N>=100, selon le principe suivant :
1- Calculer la somme S des chiffres qui composent le nombre N.
2- Recommencer le calcul de la somme des chiffres obtenue S tant que celle-ci n’est pas composée entre 1 et 9.
3- Le code sera le nombre formé par N auquel on place à sa gauche la dernière somme obtenue.
Exemple : Pour N=9867, le programme affichera : le code est : 39867.
En effet :
- la 1ère somme S = 30 ( car 9+8+6+7 =30)
- la 2ème somme S = 3 (car 3+0=3)
- étant donné que la dernière somme S, qui vaut 3, est comprise entre 1 et 9, le code sera 39867.
Voici le principe de l'algorithme permettant de déterminer et d'afficher un code à partir d'un entier N≥100 selon le principe décrit :
1. Initialisation
Lire l'entier N.
Initialiser la variable S
pour la somme des chiffres de N.
2. Calcul de la somme des chiffres de N
Tant que (la somme des chiffres) est supérieur ou égal à 10, effectuer les étapes suivantes :
1. Décomposer N en ses chiffres.
2. Calculer la somme des chiffres de N et affecter cette valeur à S
.
3. Si S
est supérieur ou égal à 10, remplacer N par S et recommencer le calcul de la somme.
3. Formation du code
Une fois que SS est un chiffre entre 1 et 9, concaténer SS à gauche de NN pour former le code final.
4. Affichage du code
Dans cet algorithme, On va utiliser deux fonctions :
Algorithme du programme principal
1 2 3 4 5 |
Algorithme cryptage_code Debut n<-saisie() Ecrire('le code est : '+crypter(n)) Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction saisie
Cette fonction saisit un entier n >= 100.
1 2 3 4 5 6 7 8 9 10 |
fonction saisie():entier Début Ecrire('donner un entier >= 100 ') lire (n) Tant que n<100 faire Ecrire('donner un entier >= 100 ') lire (n) Fin tant que retourner n Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction crypter
Cette fonction déterminer et d'afficher un code à partir d'un entier N≥100.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
fonction crypter(n:entier):chaine Début ch<-Convch(n) s<-100 Tant que (s>=10) faire s<-0 Pour i de 0 à long(ch) faire d<-Valeur(ch[i]) s<-s+d Fin pour ch=str(s); Fin tant que ch<-Convch(n) ch1<-Conch(s) retuurner ch1+ch Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
ch | chaine des caracteres |
ch1 | chaine des caracteres |
d | entier |
s | entier |
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 |
def saisie() : n=int(input('donner un entier >=100: ')) while n<100 : n=int(input('donner un entier >=100: ')) return n def crypter(n): ch=str(n) s=100 while (s>=10): s=0 for i in range(len(ch)): d=int(ch[i]) s=s+d ch=str(s); ch=str(n) ch1=str(s) return ch1+ch #programme principal n=saisie() print('le code est : '+crypter(n)) |
Exécution du programme
Pour créer une application en Python pour déterminer et afficher un code à partir d’un entier N>=100 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é 'code_bt' pour exécuter le module crypter.
QLabel
nommé 'msg' pour afficher un message d'erreur et le code.
Enregistrez le fichier avec l'extension .ui
, par exemple code-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 ("code-interface.ui") def crypter(): n = int(windows.n.text()) if n>=100: ch=str(n) s=100 while (s>=10): s=0 for i in range(len(ch)): d=int(ch[i]) s=s+d ch=str(s); windows.msg.setText('le code est : '+str(s)+str(n) ) else: windows.msg.setText('Donner n>=100') windows.code_bt.clicked.connect(crypter) 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