Natif / Étude de cas interactive / 18 min de lecture

Windows Calculator : pourquoi 200 + 10% donne-t-il 220 ?

Analysez la touche pourcentage de Windows Calculator avec REA. Comparez addition et multiplication, inspectez la branche et testez une démo à deux opérandes.

Sur cette page

01. Essayez avant de décortiquer

Laissez les nombres à 200 et 10. Appuyez sur Appliquer % : le second nombre devient 20. Appuyez sur Puis = pour obtenir 220. Passez à la multiplication et recommencez : le second nombre devient 0.1 et le résultat final vaut 20.

L’expérience du pourcentageJOUER / OBSERVER / EXPLIQUER
MODE STANDARD / POURCENTAGE01 / SAISIE

200 + 10%

10

Appuyez sur % pour voir ce qui arrive au second nombre.

Essayez l’addition, puis la multiplication, avec les deux mêmes nombres.

Une expérience de pourcentage à deux opérandes, pas un émulateur complet de Windows Calculator.

Ce que vous construirez

Une expérience de pourcentage à deux opérandes et une matrice de tests vérifiant l’état intermédiaire autant que le résultat final.

Avant l’investigation

Aucune installation n’est nécessaire pour l’expérience. Pour l’inspection binaire, utilisez une installation de Windows Calculator que vous pouvez analyser et un moteur natif configuré. Le code public de Microsoft permet un recoupement supplémentaire. Configurer REA →

02. Notez la séquence de touches

Posez une question précise : que se passe-t-il lorsqu’on saisit 200, choisit l’addition, saisit 10, puis appuie sur pourcentage et égal ? Notez l’affichage après pourcentage et après égal. L’opérande intermédiaire vous renseigne davantage que le seul résultat final.

Ce comportement concerne le mode standard. Conservez le mode, la version et la séquence de touches dans le relevé de test. Répéter égal, omettre un opérande ou appuyer une seconde fois sur pourcentage introduit un état supplémentaire ; écartez ces cas de la première expérience.

Consigne d’investigation à copier
Analyse avec REA le comportement du pourcentage en mode standard de Windows Calculator. Compare les séquences 200 + 10 % = et 200 × 10 % =. Identifie le module installé qui traite l’arithmétique, puis suis la branche pourcentage et la transformation de l’opérande selon l’opérateur. Distingue les instructions observées, l’interprétation du code et les résultats réellement saisis dans l’interface.

03. Le lanceur ne contient pas forcément le calcul

Ouvrir un exécutable au nom pratique ne suffit pas. S’il passe la main à une autre application, suivez ce transfert dans le paquet installé. Notez le fichier réellement analysé et son empreinte.

Dans l’investigation du projet, l’arithmétique se trouvait dans CalcViewModel.dll plutôt que dans le petit lanceur calc.exe. La sélection des fonctions a été assistée par un analyste. Le code public de Microsoft cité a aidé à interpréter les identifiants d’opérateurs ; il n’a pas été démontré que ce code correspondait exactement au commit source du binaire installé.

  • Quel fichier contient la branche arithmétique ?
  • Qu’est-ce qui sélectionne le pourcentage et mémorise l’opérateur précédent ?
  • Où sont stockées la valeur précédente et la saisie courante ?
  • Quelles fonctions arithmétiques auxiliaires sont atteintes dans chaque branche ?

04. Reconstruisez d’abord la transformation de l’opérande

Pour l’addition et la soustraction, le pourcentage saisi est relatif au premier nombre. Pour la multiplication et la division, il devient une fraction de 100. L’opérateur en attente s’applique ensuite. Séparez ces deux étapes dans l’implémentation et dans l’interface.

Notre expérience vous fait appuyer séparément sur pourcentage puis égal pour rendre ce changement d’état visible. Modifier une entrée ou changer d’opérateur lance une nouvelle séquence. Elle accepte deux nombres finis, pas une expression de calcul arbitraire.

Consigne d’investigation à copier
Implémente uniquement ce comportement de pourcentage à deux opérandes en mode standard : + et − transforment l’entrée en entry × (first / 100) ; × et ÷ la transforment en entry / 100. Garde l’opérande transformé accessible aux tests. N’applique l’opérateur en attente qu’à l’appui sur égal. Gère la division par zéro, la saisie vide et la réinitialisation. Ne revendique pas la compatibilité avec les touches répétées ou le mode scientifique.

05. Testez la valeur intermédiaire, pas seulement le résultat

Deux erreurs peuvent parfois s’annuler et donner le résultat final attendu. Vérifiez d’abord l’opérande transformé, puis le résultat. Incluez soustraction, division, zéro et un premier nombre négatif pour empêcher la suite de tests de réussir en codant en dur l’exemple d’addition connu.

Si votre nouvelle exécution sous Windows diffère, vérifiez le mode et l’ordre exact des touches avant de changer la formule. Conservez la séquence et les états d’affichage. Le rapport d’origine ne revendique pas une vérification complète des saisies dans l’interface Windows ; ne lui attribuez pas implicitement ce résultat.

06. Comparez les résultats connus

Utilisez ces valeurs comme points de contrôle explicites. Les retrouver étaye cette petite règle, sans établir une compatibilité avec toute l’application.

Séquence de touchesAprès %Après =
200 + 10 % =20220
200 − 10 % =20180
200 × 10 % =0.120
200 ÷ 10 % =0.12 000
50 + 20 % =1060
6 × 6 % =0.060.36
200 ÷ 0 % =0Indéfini

Enregistrez les deux fichiers dans le même dossier. Exécutez les vérifications avec Node.js ; aucun paquet n’est à installer.

Terminal
node check-case-labs.mjs

07. Qu’est-ce qui a réellement été vérifié ?

Ce site exécute des tests numériques sur sa propre implémentation à deux opérandes, notamment avec les exemples publiés par Microsoft. Il n’exécute pas la suite de tests de Microsoft et n’automatise pas l’application Windows installée. Les appuis répétés sur pourcentage ou égal, l’analyse d’expressions complètes et le mode scientifique sortent du périmètre de la démonstration.

Lire les résultats numériques enregistrés par ce site →

Sources : Rapport d’analyse de la calculatrice par REA · Version fixée de la branche pourcentage de Microsoft. Tutoriel, illustrations et expériences dans le navigateur créés indépendamment.

Expérience suivantePourquoi le dinosaure accélère-t-il sans cesse ? →

Vous découvrez l’outil ? Qu’est-ce que REA ? · Comment nous vérifions nos guides