1 Notation Polonaise Inverse (NPI) 2 Principe de la NPI

Transcription

1 Notation Polonaise Inverse (NPI) 2 Principe de la NPI
Exercice M120 C# « TextBox-Button »
« Calculatrice NPI »
CFPT-EI
1
Août 2012
Notation Polonaise Inverse (NPI)
La notation polonaise inverse (NPI) est également appelée notation RPN 1 . Elle a été
développée en 1920 par Jan Lukasiewicz afin d’écrire des formules mathématiques
sans l’aide de parenthèses ni de crochets. Hewlett-Packard a adapté la NPI 2 a sa
première calculatrice scientifique de poche. Ce fut le modèle HP35, créé en 1972.
2
Principe de la NPI
En NPI, l’opération (par exemple +) est précisée après les opérandes (par exemple
2 et 3). Ainsi, ce qu’on écrit en notation traditionnelle (dite infixéee) 2 + 3, s’écrit
2 3 + en NPI.
La NPI permet de gagner du temps et de réduire le nombre de pressions sur les
touches d’une calculatrice.
Prenons comme exemple le calcul de (3 + 5)/(7 + 6) = x :
– Notation infixée :
– additionnez 3 + 5 = 8. Notez la réponse ou enregistrez-la en mémoire ;
– additionnez 7 + 6 = 13. Entrez le nombre 8 qui est le premier résultat, puis
divisez-le en entrant le second résultat pour obtenir x = 0, 62 ;
– nombre de pressions : 13.
– NPI :
– appuyez sur 3 puis sur la touche ENTER ;
– appuyez sur 5 puis sur la touche ENTER ;
1. Reverse Polish Notation
2. Notation Polonaise Inverse
M120_102_RPN_calculator.tex - V212
1/4
C. Maréchal 19/09/2012
appuyez sur + ;
appuyez sur 7, puis sur la touche ENTER ;
appuyez sur 6 puis sur la touche ENTER ;
appuyez sur + ;
appuyez sur la touche de division et la calculatrice vous donne le résultat :
x = 0, 62 ;
– nombre de pressions : 9.
Pour mieux comprendre comment marche une calculatrice HP, voici le tableau 1 qui
compare les séquences de touches :
– en notation infixée ;
– en NPI
pour différentes expressions mathématiques.
–
–
–
–
–
Séquences de touches
en notation infixée en NPI
2+3=
2 [enter] 3 +
(3 + 5)/(7 + 6) =
3 [enter] 5 + 7 [enter] 6 + /
8 ∗ (4 − 3 + 1) =
8 [enter] 4 [enter] 3 − 1 + ∗
Table 1 – Comparatif « notation infixée-notation NPI »
3
Acronymes
NPI
Notation Polonaise Inverse
fr.wikipedia.org/wiki/Notation_polonaise_inverse
RPN
Reverse Polish Notation
M120_102_RPN_calculator.tex - V212
2/4
C. Maréchal 19/09/2012
4
Travail demandé
Concevez et réalisez l’interface graphique d’une calculatrice NPI 4 opérations. Voir
une proposition d’interfaces figure 1.
Figure 1 – Interface graphique d’une calculatrice NPI (4 opérations)
4.1
Étape 1 : « TextBox »
La zone de saisie de l’opérande aura les caractéristiques suivantes :
– seuls les chiffres et un seul point sont autorisés 3 ;
– le focus sera sur ce composant au démarrage du programme.
4.2
Étape 2 : « Button »
Les boutons auront les caractéristiques suivantes :
– le bouton « enter/entrer » sera grisé (inactif) tant que la « zone de saisie des
opérandes » est vide ;
– l’ordre de tabulation sera : enter, pop, swap, duplicate, +, -, * et /
4.3
Étape 3 : « ListBox »
La zone d’affichage aura les caractéristiques suivantes :
– zone en lecture seule (impossible de la modifier) ;
– la police utilisée sera : « Courrier New » (pour permettre un alignement vertical
des chiffres).
4.4
Étape 4 : action du « Button enter »
– seul le bouton « enter/entrer » sera actif et effectuera une copie de la valeur
située dans la « zone de saisie des opérandes » dans la « zone de résultats » ;
– les nombres affichés auront le format fixe : « 10 chiffres dont 2 après la virgule » ;
– la « zone de saisie des opérandes » sera effacée ;
– le focus sera rendu à la « zone de saisie des opérandes ».
3. l’aide Visual Studio est votre amie
M120_102_RPN_calculator.tex - V212
3/4
C. Maréchal 19/09/2012
4.5
Étape 5 : application multilingue
– les boutons radio « EN » / « FR » permettront de passer d’une langue à l’autre
(boutons, titre de la fenêtre).
4.6
Étape 6 : info-bulles
Ajoutez des info-bulles affichant une aide (selon la langue) pour tous les composants
graphiques présents sur la forme :
– TextBox :
– « zone de saisie des opérandes » ;
– « operands area »
– ListBox :
– « zone de résultats » ;
– « stack »
– les boutons radio « EN » / « FR » changeront la langue des info-bulles.
Indication : la classe ToolTip est votre amie.
4.7
Étape 7 : codage des actions des autres boutons
Ajoutez le code nécessaire pour que la calculatrice soit totalement opérationnelle.
M120_102_RPN_calculator.tex - V212
4/4
C. Maréchal 19/09/2012