On se propose de dessiner un rectangle à l’aide d’un caractère donné. Le rectangle est formé de L lignes et de C colonnes et il peut être plein ou vide, selon le choix de l’utilisateur.
Ecrire un programme Python permettant de :
- saisir les dimensions L et C du rectangle, sachant que L et C sont deux entiers différents appartenant à [2..10]. L étant le nombre de lignes et C le nombre de colonnes.
- saisir le carcatère de dessin parmi la liste (X,+,$,*)
- saisir le choix de dessin qui peut être soit la lettre P (pour plein) ou la lettre V (pour vide)
- dessiner le rectangle selon les données fournies précédemment.
Exemples : Si L=4, C=7, le caractère de dessin choisi ‘X’ et le choix du dessin est P alors le résultat affiché sera le suivant :
XXXXXXX
XXXXXXX
XXXXXXX
XXXXXXX
Si L=6, C=5, le caractère de dessin choisi ‘$’ et le choix du dessin est V alors le résultat affiché sera le suivant :
$$$$$
$ $
$ $
$ $
$$$$$
Voici le principe de l'algorithme pour dessiner un rectangle en fonction des paramètres fournis par l'utilisateur :
1. Saisie des dimensions L et C : Demander à l'utilisateur de saisir les dimensions du rectangle :
L (le nombre de lignes) doit être un entier compris entre 2 et 10.
C (le nombre de colonnes) doit également être un entier compris entre 2 et 10.
2. Saisie du caractère de dessin :
Proposer à l'utilisateur de choisir un caractère parmi les suivants : 'X', '+', '$', '*'.
3. Saisie du choix de dessin : Demander à l'utilisateur de saisir le type de rectangle souhaité :
'P' pour un rectangle plein.
'V' pour un rectangle vide.
4. Dessin du rectangle :
Rectangle plein (choix 'P') : Pour chaque ligne (de 1 à L), afficher C fois le caractère choisi.
Rectangle vide (choix 'V') :
La première et la dernière ligne sont pleines, c'est-à-dire qu'elles affichent C fois le caractère choisi.
Pour les lignes intermédiaires (de 1 à L-2), afficher le caractère choisi suivi de (C-2) espaces et terminer par le caractère choisi.
5. Affichage du résultat :
Le rectangle est affiché en fonction des dimensions, du caractère, et du type de remplissage choisi.
Dans cet algorithme, On va utiliser trois fonctions et une procédure:
Algorithme du programme principal
1 2 3 4 5 6 7 8 |
Algorithme affichage_triangle Debut l<-saisie_dimension() c<-saisie_dimension() dessin<-saisie_dessin() choix<-saisie_remplissage() afficher_rectangle(l,c,choix,dessin) Fin |
Déclaration des objets
Objet | Type / Nature |
l | entier |
c | entier |
dessin | caractere |
choix | caractere |
La fonction saisie_dimension
Cette fonction retourne un entier n entre 2 et 10 saisi par l'utilisateur.
1 2 3 4 5 6 7 8 9 10 |
foncttion saisie_dimension() Début Ecrire('Donner la hauteur du triangle entre 2 et 10: ') lire (n) Tant que n<2 ou n>10 faire Ecrire('Donner la hauteur du triangle entre 2 et 10: ') lire (n) Fin tant que retourner n Fin |
Déclaration des objets
Objet | Type / Nature |
n | entier |
La fonction saisie_dessin
Cette fonction retourne le choix du dessin (+,*,$,X).
1 2 3 4 5 6 7 8 9 10 |
foncttion saisie_dimension() Début Ecrire('donner le caractère du dessin X + $ ou *: ') lire (dessin) Tant que Majus(dessin) n'est pas dans {'X','+','$','*'} faire Ecrire('donner le caractère du dessin X + $ ou *: ') lire (dessin) Fin tant que retourner dessin Fin |
Déclaration des objets
Objet | Type / Nature |
dessin | caractere |
La fonction saisie_remplissage
Cette fonction retourne le type de remplissage (plein ou vide).
1 2 3 4 5 6 7 8 9 10 |
foncttion saisie_dimension() Début Ecrire('donner le type de remplissage P ou V: ') lire (c) Tant que Majus(c) n'est pas dans {'P','V'} faire Ecrire('donner le type de remplissage P ou V: ') lire (c) Fin tant que retourner c Fin |
Déclaration des objets
Objet | Type / Nature |
c | caractere |
La procédure afficher_rectangle
Cette procédure dessiner un rectangle .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Procédure afficher_rectangle(l:entier,c:entier,choix:caractère,dessin:caractère) Début Si (Majus(choix)='P') alors Pour i de 0 à l-1 faire Pour j de 0 à c-1 faire Ecrire(dessin) Ecrire() Sinon si (Majus(choix)='V') alors Pour i de 0 à l-1 faire Pour j de 0 à c-1 faire Si ((i=0)ou(i=l-1))ou((j=0)ou(j==c-1)): Ecrire(dessin) Sinon Ecrire(' ') Fin si Fin pour Ecrire() Fin pour Fin si 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 32 33 34 35 36 37 38 39 40 |
def saisie_dimension() : n=int(input('donner un entier entre 2 et 10: ')) while n<2 or n>10 : n=int(input('donner un entier entre 2 et 10: ')) return n def saisie_remplissage(): c=input('donner le type de remplissage P ou V: ') while c.upper() not in {'P','V'} : c=input('donner le type de remplissage P ou V: ') return c def saisie_dessin(): dessin=input('donner le caractère du dessin X + $ ou *: ') while dessin.upper() not in {'X','+','$','*'} : dessin=input('donner le caractère du dessin X + $ ou *: ') return dessin def afficher_rectangle(l,c,choix,dessin): if (choix.upper()=='P') : for i in range(l): for j in range(c) : print(dessin,end=' ') print() elif (choix.upper()=='V'): for i in range(l): for j in range(c): if ((i==0)or(i==l-1))or((j==0)or(j==c-1)): print(dessin,end=' ') else: print(end=' ') print() #programme principal l=saisie_dimension() c=saisie_dimension() dessin=saisie_dessin() choix=saisie_remplissage() afficher_rectangle(l,c,choix,dessin) |
Exécution du programme
Pour créer une application en Python pour dessiner un rectangle, 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é 'l' pour entrer la ligne du rectangle.
QLineEdit
nommé 'c' pour entrer la colonne du rectangle.
QLineEdit
nommé 'choix' pour entrer le choix du dessin.
QLineEdit
nommé 'remplissage' pour entrer le choix du remplissage.
QPushButton
nommé 'dessin_bt' pour exécuter le module afficher_dessin afin de remplir le tableau à partir de la chaine 'ch'.
QLabel
nommé 'msg' pour afficher un message d'erreur.
QLabel
nommé 'affichage_dessin' pour afficher le rectangle.
Enregistrez le fichier avec l'extension .ui
, par exemple afficher-rectangle-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 40 41 42 43 44 45 46 47 48 |
from PyQt5.uic import loadUi from PyQt5 import QtCore, QtGui from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui, QtWidgets from numpy import array app = QApplication([]) windows = loadUi ("afficher-rectangle-interface.ui") def afficher_dessin(): l = int(windows.ligne.text()) c = int(windows.colonne.text()) choix = windows.choix.text() remplissage = windows.remplissage.text() dessin='' if 2<=l<=10 : if 2<=c<=10 : if choix.upper() in {'X','+','$','*'} : if remplissage.upper() in {'V','P'} : if (remplissage.upper()=='P') : for i in range(l): for j in range(c) : dessin=dessin+choix.upper() dessin=dessin+'\n' windows.affichage_dessin.setText(dessin) elif (remplissage.upper()=='V'): for i in range(l): for j in range(c): if ((i==0)or(i==l-1))or((j==0)or(j==c-1)): dessin=dessin+choix.upper()+' ' else: dessin=dessin+' ' dessin=dessin+'\n' windows.affichage_dessin.setText(dessin) else: windows.msg.setText('Veuillir saisir le type de remplissage V ou P') else: windows.msg.setText('Veuillir saisir le choix de dessin') else: windows.msg.setText('Veuillir saisir numéro colonne entre 2 et 10') else: windows.msg.setText('Veuillir saisir numéro ligne entre 2 et 10') windows.dessin_bt.clicked.connect(afficher_dessin) 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