Numworks se réveille et propose (enfin) une importante mise à jour pour sa calculatrice. Calcul exact, scripts multiples dans l'application Python et ajustement du nombre de signes significatifs sont autant de nouveautés du firmware 1.2.0, permettant à Numworks de revenir dans la course, même si tout n'est pas parfait.
Lorsque nous avions testé la calculatrice Numworks, nous (et les différents spécialistes interrogés sur le sujet) avions relevé plusieurs problèmes ergonomiques et fonctionnels, certains bien plus embêtants que d'autres.
Le fabricant vient de déployer un nouveau firmware estampillé 1.2.0 apportant bon nombre d'améliorations attendues, notamment sur les applications Calcul et Python (celle-ci a été entièrement revue et corrigée) qui en avaient bien besoin. Voici un tour d'horizon des changements.
Le moteur de calcul exact est enfin là !
Le premier changement, et probablement le plus important, est l'intégration d'un moteur de calcul exact évitant les erreurs d'arrondis. Comme nous l'avions expliqué, une opération simple comme 1-0,8-0,2 ne donnait pas 0 comme n'importe quel lycéen s'y attendrait, mais -5,551115e-17 !
La faute à « un problème d'arrondi, mais en base 2 » nous expliquait son concepteur Romain Goyet. Il s'agissait alors d'un choix « perturbant et problématique effectivement, mais souhaité », mais qu'une mise à jour était en préparation afin d'intégrer un moteur de calcul exact.
Effectivement, avec la version 1.2.0, la calculatrice ne fait désormais plus d'erreur sur les arrondis, comme vous pouvez le constater sur le simulateur du fabricant (le comportement est identique sur notre calculatrice de test achetée dans le commerce). Comme prévu, ce changement en induit un second, tout aussi intéressant : les calculs de fractions sont désormais affichés sous forme simplifiée d'un numérateur/dénominateur, parfois avec une approximation décimale.
Romain Goyet nous donne plus de détails : « il y a deux zones possibles dans l'affichage d'un résultat : une partie exacte et une partie approchée », comme sur la capture ci-dessous avec 11/14 ~ 0,785... « Chaque zone est affichée uniquement si elle est utile : la partie approchée n'est pas affichée si l'approximation est la même que le résultat exact (par exemple, pas besoin de dire que 1 est à peu près égal à 1.0). La partie exacte n'est approchée que si la simplification est différente de l'entrée (pas besoin de dire que 1/3 se simplifie en 1/3) » ajoute-t-il.
D'autres nouveautés sont de la partie avec le moteur de calcul exact : factorisation des expressions ax+bx, simplification des expressions (a^x)(a^y), (a^x)(b^x) et exp(iPi*x), distribution des produits, réduction des sommes au même dénominateur, simplification des fonctions composées avec ln et exp, simplification après décomposition en facteurs premiers des racines carrées, élimination des monômes et binômes au dénominateur des fractions, etc. Tous les détails sont disponibles par ici.
Le constructeur précise aussi qu'il utilise du « calcul exact dans les autres applications de la calculatrice pour éviter les erreurs d'arrondis de flottants. Les résultats sont toutefois donnés sous forme approximée ».
Enfin une application Python digne de ce nom ?
L'autre gros morceau se trouve sur Python, qui n'est plus affublée de son statut bêta et gagne bon nombre de fonctionnalités elle aussi. La calculatrice n'est ainsi plus limitée à un unique script et vous pouvez en ajouter jusqu'à 8. En face de chacun, un menu permet de l'exécuter, le renommer, le supprimer et le charger automatiquement dans la console.
La console d'exécution est également une nouveauté du firmware 1.2.0. Elle permet d'exécuter un ou plusieurs scripts Python et d'effectuer des opérations basiques. Par défaut, Factorial.py, Mandelbrot.py et Polynomial.py sont disponibles (ils s'exécutent lors de l'ouverture de la console). Pour lancer une fractale de Mandelbrot, il suffit par exemple de saisir la ligne mandelbrot(10).
Vous pouvez également afficher la liste de vos fonctions et variables via la touche « var » de la calculatrice, pratique pour savoir ce qui est déjà chargé dans la console. Enfin, il est possible de remonter dans l'historique de la console et de copier une ancienne commande via la touche OK.
De nombreux raccourcis et fonctions via la touche Toolbox, mais il reste du travail
Autre regret du firmware 1.1.x : la saisie de lignes de code était fastidieuse à cause du manque de raccourcis. Romain Goyet nous avait indiqué que des changements étaient dans les cartons, et ils sont désormais disponibles.
Un catalogue de raccourcis (boucles et tests, modules, catalogue avec des caractères spéciaux comme #, fonctions) est accessible à partir de la touche Toolbox. De plus, vous pouvez naviguer dans le catalogue à l'aide des touches alphanumériques (par exemple la lettre C vous amène directement dans les Conditions du sous-menu boucles et tests). Enfin, Python intègre les modules math, cmath et kandinsky, tandis que le détail des erreurs est affiché dans la console.
Par contre, il n'est toujours pas possible de transférer du code Python depuis ou vers son ordinateur, une fonctionnalité qui n'était « pas parmi nos priorités » nous expliquait Romain Goyet lors du test de la calculatrice il y a quelques semaines.
De 1 à 14 chiffres significatifs, nouveau signe multiplié
D'autres petites modifications sont également apportées par l'équipe en charge du développement de la calculatrice : le nombre de chiffres significatifs est toujours de 7 par défaut (soit 6 après la virgule), mais il est possible de modifier ce paramètre dans les options (de 1 à 14). Le symbole de la multiplication n'est plus une étoile, mais une croix, et il est enfin question de l'affichage des résultats de probabilités pour les intervalles P(a<X<b).
Cette mise à jour efface donc une bonne partie des reproches que nous avions pu faire à la calculatrice, mais pas tous. Il n'y a par exemple pas de conversion ou de calcul sur les unités, pas de suites imbriquées, pas d'interaction entre les différentes applications (on ne peut pas exécuter une commande Python dans la partie Calculs ou la valeur d'une suite par exemple), des manques sur les dérivées, limites et primitives, etc.
Dans tous les cas, le firmware 1.2.0 redonne une seconde vie à la calculatrice et, d'une certaine manière, c'est celui que l'on aurait certainement aimé avoir dès le lancement. En l'espace de trois mois, la société a néanmoins corrigé de nombreux soucis de jeunesse, attendons donc de voir ce qu'elle proposera l'année prochaine.
Pour rappel, Numworks mise beaucoup sur les professeurs pour être leurs ambassadeurs auprès des élèves pour cette calculatrice. S'il est évidemment trop tard pour cette année scolaire, cette mise à jour arrive largement à temps pour celle de l'année prochaine.
Comment mettre à jour sa calculatrice ?
Depuis le 1er décembre, le fabricant propose une nouvelle méthode de mise à jour exploitant WebUSB. Les raisons techniques de ce changement sont expliquées par Romain Goyet dans ce billet de blog.
Il faut toujours passer par le workshop... mais obligatoirement via Chrome (à partir de la version 61). De plus, sous Windows, cette procédure nécessite l'installation d'un pilote, directement proposé par le fabricant. La suite des étapes est classique : il faut connecter la calculatrice en USB à l'ordinateur, appuyer sur le bouton Reset sur son dos et laisser la mise à jour s'installer.