Écrire un programme qui affiche ces 2 triangles pour n >1 saisie par l’utilisateur :
Exemple : Pour n=9
Triangle 1
0000000000
1 1 1 1 1 1 1 1 1
22222222
3333333
444444
55555
6666
777
88
9
Triangle 2
x
xx
xox
xoox
xooox
xoooox
xooooox
xooooooox
x x x x x x x x x
Pour afficher les deux triangles comme dans l'exemple donné, voici le principe de l'algorithme :
1- Lire la valeur de n
saisie par l'utilisateur : Assurez-vous que n
est supérieur à 1.
Générer et afficher les deux triangles :
Utiliser une boucle pour itérer de 0 à n
:
1- Générer la ligne pour le premier triangle en utilisant des espaces, des X
et des O
.
2- Générer la ligne pour le deuxième triangle en répétant les chiffres de 0
à n
.
3- Afficher les deux triangles côte à côte.
Dans cet algorithme, On va utiliser une fonction et deux procédures :
Algorithme du programme principal
1 2 3 4 5 6 7 8 |
Algorithme afficher_triangles Debut n<-saisie() Ecrire('triangle 1') triangle1(n) Ecrire('triangle 2') triangle2(n) Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction saisie
Cette fonction retourne un entier n entre 1 et 30 saisi par l'utilisateur.
1 2 3 4 5 6 7 8 9 10 |
foncttion saisie() Début Ecrire('donner un entier entre 1 et 30') lire (n) Tant que n<1 ou n>30 faire Ecrire('donner un entier entre 1 et 30') lire (n) Fin tant que retourner n Fin |
La procédure triangle1
Cette procédure affiche le premier triangle composé des chiffres
1 2 3 4 5 6 7 8 9 10 11 12 |
Procédure triangle1(n:entier) Début Pour i de 0 à n faire Pour j de 0 à n-i faire Ecrire(i) Fin pour Pour j de 0 à i faire Ecrire(' ') Fin pour Ecrire('')# Retour à la ligne Fin pour Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
j | entier |
La procédure triangle2
Cette procédure affiche le deuxième triangle composé des deux caractères x et o.
1 2 3 4 5 6 7 8 9 10 11 12 |
Procédure triangle2(n:entier) Début Pour i de 0 à n faire Pour j de 0 à i faire Si ((j=0) ou (j=i) ou (i=n)): Ecrire('x') else: Ecrire('o') Fin pour Ecrire('') # retour à la ligne Fin pour Fin |
Déclaration des objets
Objet | Type / Nature |
i | entier |
j | 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 27 28 29 30 31 |
def saisie() : n=int(input("donner un entier > 1 ")) while(n<1) : n=int(input("donner un entier > 1 ")) return n def triangle1(n): for i in range(n+1): for j in range (n-i+1) : print(str(i), end =" ") for j in range (i+1) : print(' ', end =" ") print('') def triangle2(n): for i in range(n+1): for j in range(i+1) : if ((j==0) or (j==i) or (i==n)): print('x', end =" ") else: print('o', end =" "); print('') #programme principal n=saisie() print('triangle1') triangle1(n) print('triangle2') triangle2(n) |
Exécution du programme
Pour créer une application en Python pour afficher les deux triangles il faut suivre 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 des entiers .
QLabel
nommé 'msg' pour afficher un message d'erreur si ch est vide ou contient des valeurs non numériques .
QPushButton
nommé 'triangle_bt' pour exécuter le module afficher_triangles
QLabel
nommé 'triangle1' pour afficher le premier triangle.
QLabel
nommé 'triangle2' pour afficher le deuxième triangle.
Enregistrez le fichier avec l'extension .ui
, par exemple triangle-interface
.
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 40 41 42 43 44 45 46 47 48 |
#importation des modules nécessaires from PyQt5.QtWidgets import QApplication from PyQt5 import uic application = QApplication([]) window = uic.loadUi("triangle-interface.ui") def triangle1(n): triangle1='' for i in range(n+1): for j in range (n-i+1) : triangle1=triangle1+str(i) for j in range (i+1) : triangle1=triangle1+' ' triangle1=triangle1+'\n' window.triangle1.setText(triangle1) def triangle2(n): triangle2='' for i in range(n+1): for j in range(i+1) : if ((j==0) or (j==i) or (i==n)): triangle2=triangle2+'x' else: triangle2=triangle2+'o' triangle2=triangle2+'\n' window.triangle2.setText(triangle2) def afficher_triangles(): n=int(window.n.text()) # recevoir la valeur du QLineEdit n print(str(n)) if (n<1) : window.msg.setText("Veuillez saisir n > 1") else: window.msg.setText("") triangle1(n) triangle2(n) # si on clique sur le triangle_bt, la fonction afficher_triangles est exécutée window.triangle_bt.clicked.connect(afficher_triangles) 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