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