Un nombre N de deux chiffres peut être affiché sous la forme de suite de sommes d’entiers consécutifs.
Exemples : Les sommes consécutives de N=21 sont :
21=1+2+3+4+5+6
21=6+7+8
21=10+11
Les sommes consécutives de N=54 sont :
54=2+3+4+5+6+7+8+9+10
54=12+13+14+15
54=17+18+19
la somme consécutive de N=12 est :
12=3+4+5
Ecrire un programme Python qui permet de saisir un entier positif n de deux chiffres et d’afficher ses suites de sommes d’entiers consécutifs.
Dans cet algorithme, On va utiliser deux fonctions:
Algorithme du programme principal
1 2 3 4 5 |
Algorithme suitesconsecutifs Debut n<-saisie() affiche_suites(n) Fin |
Déclaration des objets
Objet | Type / Nature |
---|---|
n | entier |
La fonction saisie
Cette fonction retourne un entier positif formé de deux chiffres.
1 2 3 4 5 6 7 8 9 10 |
Procedure saisie(): Début Ecrire('donner un entier positif forme de deux chiffres:') lire (n) Tant que n<10 ou n>99 faire Ecrire('donner un entier positif forme de deux chiffres:') lire (n) Fin tant que retourner n Fin |
Déclaration des objets
Objet | Type / Nature |
---|---|
n | entier |
La procédure affiche_suites
Cette procédure recherche et affiche les suites de sommes d’entiers consécutifs pour un entier positif formé des deux chiffres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Procédure affiche_suites(n:entier) Début i<-1 s<-0 j<-1 Tant que (j<= (n div 2) + 2 ) faire s<-0 j<-i ch<-Conch(n)+'=' Tant que (s<n) faire ch<-ch+Convch(j)+'+' s<-s+j j<-j+1 Fin tant que Si s=n alors # afficher la suite des sommes Ecrire(ch[0:len(ch)-1])#eliminer le dernier signe + Fin si i<-i+1 Fin tant que Fin |
Déclaration des objets
Objet | Type / Nature |
---|---|
i | entier |
j | entier |
s | entier |
ch | chaîne des caractères |
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 positif forme de deux chiffres: ")) while(n<10) or (n>99) : n=int(input("donner un entier positif forme de deux chiffres:")) return n def affiche_suites(n): i=1 s=0 j=1 while (j<= (n // 2) +2 ): s=0 j=i ch=str(n)+'=' while(s<n): ch=ch+str(j)+'+' s=s+j j=j+1 if s==n: print(ch[0:len(ch)-1])#eliminer le dernier signe + i=i+1 # programme principal n=saisie() affiche_suites(n) |
Exécution du programme
Pour créer une application en Python pour déterminer et afficher les suites des sommes des entiers consécutifs 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:
QPushButton
nommé 'afficher_bt' pour exécuter le module affiche_suites.
QLabel
nommé 'msg' pour afficher un message d'erreur et les suites des sommes consécutifs.
QLabel
nommé 'resultat' pour afficher les suites des sommes consécutifs.
QLineEdit
nommé 'n' pour entrer un entier n.
Enregistrez le fichier avec l'extension .ui
, par exemple suite_somme-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 35 36 37 38 39 |
from PyQt5.uic import loadUi from PyQt5 import QtCore, QtGui from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui, QtWidgets app = QApplication([]) windows = loadUi ("suite_somme-interface.ui") def affiche_suites(): windows.msg.clear() windows.resultat.clear() n = int(windows.n.text()) if 10<=n<=99: i=1 s=0 j=1 liste='' while (j<= (n // 2) +2 ): s=0 j=i ch=str(n)+'=' while(s<n): ch=ch+str(j)+'+' s=s+j j=j+1 if s==n: #print(ch[0:len(ch)-1])#eliminer le dernier signe + liste=liste+ch[0:len(ch)-1]+'\n' i=i+1 windows.resultat.setText(liste) else: windows.msg.setText('Veuillez saisir n entre 10 et 99') windows.afficher_bt.clicked.connect(affiche_suites) 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