0% ont trouvé ce document utile (0 vote)
6 vues2 pages

Éditeur graphique d'expressions arithmétiques

Transféré par

Bassem Ben Cheikh
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues2 pages

Éditeur graphique d'expressions arithmétiques

Transféré par

Bassem Ben Cheikh
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Editeur graphique d’expressions arithmiques

Travaux pratiques

On souhaite réaliser un éditeur pour expressions arithmétiques. L’éditeur se présente comme une
fenêtre où apparaissent plusieurs boutons et 3 listes : une liste de variables, une liste de constantes et
une liste d’expressions (cf. Fig. 1). Les boutons permettent d’obtenir les fonctionnalités suivantes :
• Le bouton « Variable » permet de rajouter une variable à la liste des variables. Pour cela
l’utilisateur doit saisir un nom et une valeur pour la variable. En double cliquant sur une
variable, il doit être possible de changer sa valeur.
• Le bouton « Constante » permet de rajouter une constante à la liste des constantes. Pour cela
l’utilisateur doit saisir la valeur de la constante.
• Les boutons « OPG » (opérande gauche) et « OPG » (opérande droit) permettent de
construire une expression. A tout moment un seul éléments dans les 3 listes
(constantes/variable/expression) peut être sélectionné. Lorsque le bouton « OPG» est cliqué
cet élément est copié dans la zone correspondant à l’opérande gauche, de même lorsque le
bouton « OPD» est cliqué l’élément sélectionné est copié dans la zone correspondant à
l’opérande droit. Lorsque l’opérande gauche et l’opérande ont été définis, le clic sur l’un des
boutons « + » « - » « * » et « / » permet de construire l’expression constituée de l’opérande
gauche, opérateur opérande droit choisis et de la rajouter à la liste des expressions. Par
exemple, dans la figure1 si l’utilisateur clique sur le bouton « / », l’expression
x1/(54,231*pi) sera ajoutée à la liste des expressions
• Le bouton « Evaluer » permet de calculer le resultat de l’élément choisi

Editeur d’expressions

x1 145 x1+145
abc 54,231 (x1+145)*(36+y342)
y342 36 3600+y342 Evaluer
pi 3600 54,231*pi

Variable Constante
OPG x1

OPG 54,231*pi

+ - * /
On exige que l’éditeur soit conforme à l’architecture MVC. Pour cela, on introduit 3 modules :
• Le module Vue qui prend en charge la présentation. Tous les éléments de l’interface
utilisateur seront pris en charge par ce module. On impose d’utiliser le package tkinter pour
implanter l’interface graphique. Enormément de ressources sont disponibles pour tkinter, en
particulier, ll est possible de consulter [Link]
• Le module Modèle stocke les données de l’application. La vue manipule des éléments
graphique, elle ne se préocupe pas de la sémantique d’une expression. Alors que le modèle
manipule les expressions, le modèle a en charge l’évaluation de l’expression.. Pour cela, il
implante le diagramme de classe suivant :

Liste <<Interface>>
* Expression 1

0..1
Evaluer()=0

Terme 1
Constante Variable
Valeur Nom Operateur 1
Valeur
Evaluer() Evaluer() Evaluer()

Fig2. Diagramme des classes du modèle

• Le module controleur : L’architecture MVC impose que le modèle et la vue soit totalement
indépendant l’un de l’autre. La vue n’a aucune connaissance sur le modèle et vice-versa. Le
controleur a pour rôle d’acheminer l’information depuis le modèle vers la vue et en sens
inverse. Le controleur dépend de la vue et il dépend du modèle, l’inverse n’est pas vrai:la
vue et le modèle sont indépendants du controleur. La vue et le modèle sont chacun
réutilisable indépendement de tous les autres éléments de l’application.

Il est demandé de remettre 3 fichiers source en python : [Link], [Link] et [Link]


correspondants aux 3 modules et un rapport qui explique le contenu des fichiers.

Vous aimerez peut-être aussi