Nouvelle mise-à-jour NumWorks 1.3.0
Posted: 01 Feb 2018, 14:42
Depuis sa sortie pour la rentrée 2017, le développement de la calculatrice NumWorks s’était concentré sur des fonctionnalités novatrices encore jamais vues sur un modèle de milieu de gamme, et parfois même révolutionnaires tout court :
La nouvelle version 1.3.0 du firmware NumWorks sortant ce jour s’attaque à ce dernier point, et améliore de façon transversale nombre de fonctionnalités.
Voyons ensemble ce que ça donne pour chaque application :
En conclusion, la nouvelle version NumWorks ratisse large et apporte du bon biscuit à tout-le-monde. Avec notamment la gestion des suites auxiliaires, nous n’aurions plus aucune objection ou mise en garde à formuler auprès d’élèves de Première ou Terminale envisageant de s’équiper de ce modèle. La NumWorks est désormais en adéquation globale avec l’ensemble du programme scolaire du lycée français, félicitations !
- une application de probabilités polyvalente et très intuitive car parlant le langage des élèves
- un environnement complet de développement Python
- un moteur de calcul littéral
- basé sur le précédent, un moteur de calcul exact complet, car non limité à un petit nombre prédéfini de formes remarquables contrairement aux autres modèles de milieu de gamme
La nouvelle version 1.3.0 du firmware NumWorks sortant ce jour s’attaque à ce dernier point, et améliore de façon transversale nombre de fonctionnalités.
Voyons ensemble ce que ça donne pour chaque application :
Application Calculs numérique, exact et littéral :Go to top
Du côté du moteur de calcul littéral et exact de l’application Calculs, nous bénéficions d’une meilleure simplification des logarithmes en base quelconque, et enfin du développement automatique des puissances de sommes ou différences. De plus, la touche
Du côté du moteur d’affichage naturel, nous notons une amélioration en lisibilité de l’écriture des puissances qui était jusqu’alors assez contrastée avec celle des indices.
On apprécie l’arrivée de nouvelles fonctions dans la boîte à outils, dont enfin deux fonction de simulation :
De façon très pertinente depuis la dernière version, la réponse à un calcul pouvait être fournie sous forme d’une paire de résultats, l’un en écriture exacte et l’autre en écriture décimale. De quoi faire progresser l’utilisateur sur sa compétence Représenter, en mettant ainsi en évidence le lien qui les unit au lieu qu’il doive basculer manuellement de l’un à l’autre, et de façon pas toujours intuitive comme sur d’autres modèles. Toutefois, un problème était que ces deux résultats étaient systématiquement liés par le symbole environ, ce qui n’était pas toujours une notation correcte.
Désormais dans la nouvelle version, les paires de résultats utilisent le symbole environ ou égal adéquat. C’est bien mieux pour l’utilisateur, lui permettant non seulement de recopier sans crainte des réponses qui seront bien considérées comme exactes selon tous les critères de compétences, mais également sa leur propre compréhension du langage mathématique et sa compétence Communiquer qui va avec.
Niveau corrections de bugs, on peut citer la fonction inverse() qui certes fonctionnait quand on lui donnait une matrice, mais donnait une réponse assez originale quand on lui fournissait un nombre, multipliant l’inverse attendu par undef×i. Problème désormais corrigé.
Il y a aussi la fonction de calcul du nombre dérivé diff() qui dans certains cas renvoyait n’importe quoi pour la fonction valeur absolue, chose désormais corrigée.
D’ailleurs à ce sujet, l’algorithme interne de calcul du nombre dérivé semble avoir été profondément modifié, résistant dans la majorité des cas beaucoup mieux lorsque l’on tente de le piéger.
Enfin, comme Calculs devrait être l’application la plus utilisée, notons qu’il est maintenant possible d’y revenir très rapidement depuis une autre application grâce à un nouveau raccourci. Il suffit pour cela de taper
Anspermettant de réutiliser le dernier résultat dans la saisie d’un calcul devient enfin fonctionnelle dans le contexte de résultats exacts et littéraux, ce qui facilitera nombre de manipulations.
Du côté du moteur d’affichage naturel, nous notons une amélioration en lisibilité de l’écriture des puissances qui était jusqu’alors assez contrastée avec celle des indices.
On apprécie l’arrivée de nouvelles fonctions dans la boîte à outils, dont enfin deux fonction de simulation :
- random() qui renvoie un nombre aléatoire sur l’intervalle [0;1[
- randint(a,b) qui renvoie un nombre entier aléatoire sur l’intervalle [a;b]
- factor(n) qui effectue la décomposition d’un entier en facteurs premiers
De façon très pertinente depuis la dernière version, la réponse à un calcul pouvait être fournie sous forme d’une paire de résultats, l’un en écriture exacte et l’autre en écriture décimale. De quoi faire progresser l’utilisateur sur sa compétence Représenter, en mettant ainsi en évidence le lien qui les unit au lieu qu’il doive basculer manuellement de l’un à l’autre, et de façon pas toujours intuitive comme sur d’autres modèles. Toutefois, un problème était que ces deux résultats étaient systématiquement liés par le symbole environ, ce qui n’était pas toujours une notation correcte.
Désormais dans la nouvelle version, les paires de résultats utilisent le symbole environ ou égal adéquat. C’est bien mieux pour l’utilisateur, lui permettant non seulement de recopier sans crainte des réponses qui seront bien considérées comme exactes selon tous les critères de compétences, mais également sa leur propre compréhension du langage mathématique et sa compétence Communiquer qui va avec.
Niveau corrections de bugs, on peut citer la fonction inverse() qui certes fonctionnait quand on lui donnait une matrice, mais donnait une réponse assez originale quand on lui fournissait un nombre, multipliant l’inverse attendu par undef×i. Problème désormais corrigé.
Il y a aussi la fonction de calcul du nombre dérivé diff() qui dans certains cas renvoyait n’importe quoi pour la fonction valeur absolue, chose désormais corrigée.
D’ailleurs à ce sujet, l’algorithme interne de calcul du nombre dérivé semble avoir été profondément modifié, résistant dans la majorité des cas beaucoup mieux lorsque l’on tente de le piéger.
Enfin, comme Calculs devrait être l’application la plus utilisée, notons qu’il est maintenant possible d’y revenir très rapidement depuis une autre application grâce à un nouveau raccourci. Il suffit pour cela de taper
Maison2 fois de suite puis de valider.
Application Fonctions :Go to top
Dans l’application Fonctions, nous notons déjà un affinage des axes sur la vue graphique, ainsi qu’un tout nouveau curseur, et un décalage sur la gauche des valeurs affichées lorsque le nombre dérivé est activé, évitant ainsi de tronquer la valeur de ce dernier dans certains cas.
On voit de plus que l’affichage du nombre dérivé pour la fonction valeur absolue bénéficie de la même correction déjà abordée pour l’application Calculs.
Rappelons que lorsque le curseur est activé sur cette vue la calculatrice nous invite à taper
Et bien il y a du nouveau dans ce menu contextuel, avec un nouveau sous-menu Calculer permettant de :
On voit de plus que l’affichage du nombre dérivé pour la fonction valeur absolue bénéficie de la même correction déjà abordée pour l’application Calculs.
Rappelons que lorsque le curseur est activé sur cette vue la calculatrice nous invite à taper
OKpour accéder à un menu contextuel.
Et bien il y a du nouveau dans ce menu contextuel, avec un nouveau sous-menu Calculer permettant de :
- Rechercher et afficher des points remarquables (minimum local, maximum local, point d’intersection entre deux courbes, zéro soit point d’intersection avec l’axe des abscisses). Notons que contrairement à d’autres modèles, quand il existe plusieurs points répondant au critère sélectionné, l’on peut passer intuitivement de l’un à l’autre avec les flèches sans aucun besoin de reproduire toute la manipulation.
On comprend d’ailleurs maintenant la raison d’être du nouveau curseur, sans lequel les points correspondant aux zéros auraient été fort mal mis en évidence. - Tracer et déterminer l’équation d’une tangente. On apprécie le rappel de la forme de l’équation accompagnant les valeurs de a et b, contrairement à d’autres modèles.
- Calculer et représenter graphiquement la valeur d’une intégrale. On apprécie d’ailleurs dans ce cas le fait d’être guidé en direct lors de la sélection des bornes, par une indication textuelle en français, par la représentation graphique de l’aire correspondante, et aussi par une représentation en écriture naturelle de l’intégrale en bas à gauche pouvant permettre de vérifier si l’on est bien en train de spécifier ce que l’on pense. Un choix très pertinent qui tout en aidant l’utilisateur permettra de perfectionner sa compétence Représenter.
Application Suites :Go to top
Dans l’application Suites, quand on accède aux propriétés en sélectionnant son nom et faisant
Enorme nouveauté, il devient enfin possible de travailler sur des suites auxiliaires, c’est-à-dire des suites définies en fonction d’une autre, situation qui tombe quasiment chaque année au BAC. Avec cette amélioration tant attendue, on peut enfin qualifier la calculatrice NumWorks de conforme aux programmes de Première et Terminale, et la recommander sans réserve.
L’application Suites bénéficie de plus dans sa vue graphique de l’affinage des axes décrit plus haut pour l’application Fonctions.
OK, on a désormais accès à une nouvelle option librement modifiable : l’indice du premier terme. De quoi s’adapter d’une part aux quelques exercices qui nous proposeront de temps en temps des suites ne démarrant pas au rang 0. Mais cela va bien plus loin que ça, car c’est aussi d’autre part une façon pour la calculatrice de s’adapter aux usages de différents pays. En effet, si la plupart des suites démarreront au rang 0 chez nous, en Amérique du Nord ce sera au rang 1.
Enorme nouveauté, il devient enfin possible de travailler sur des suites auxiliaires, c’est-à-dire des suites définies en fonction d’une autre, situation qui tombe quasiment chaque année au BAC. Avec cette amélioration tant attendue, on peut enfin qualifier la calculatrice NumWorks de conforme aux programmes de Première et Terminale, et la recommander sans réserve.
L’application Suites bénéficie de plus dans sa vue graphique de l’affinage des axes décrit plus haut pour l’application Fonctions.
Application Paramètres :Go to top
Il y avait un petit problème événementiel dans l’application Paramètres. Lorsque l’on validait un nouveau choix de nombre de chiffres significatifs, il n’était plus possible de changer d’avis et de valider les choix Automatique ou Scientifique. Du moins pas sans quitter puis revenir à cet écran. Problème désormais corrigé.
Applications Statistiques et Régressions :Go to top
Les application Statistiques et Régressions bénéficient elles aussi dans leurs vues graphiques de l’affinage des axes décrit plus haut pour l’application Fonctions.
Application Probabilités :Go to top
Un problème avec l’application Probabilités évoqué par certains enseignants aux journées APMEP, était la précision des résultats, limités à 3 décimales et non 3 chiffres significatifs. C’était embêtant dans le cas de probabilités très faibles, la calculatrice pouvant même retourner à tort une probabilité nulle. La nouvelle version corrige ce problème, la précision ayant été doublée avec dorénavant jusqu’à 6 décimales.
En conséquence de la taille d’affichage pouvant donc être accrue, les différents champs numériques permettant de saisir les données ou afficher les résultats ont désormais une taille variable, s’adaptant automatiquement à leur contenu. Fort appréciable dans le cas des intervalles, la relation de probabilité affichée contenant alors 3 champs numériques au lieu de 2.
Sur la relation de probabilité affichée, l’utilisateur avait le plus souvent le choix entre :
Même remarque pour les relations du type P(X=?)=? dans le cas des lois discrètes (binomiale et de Poisson).
Ce n’est pas un problème en soi, mais cela avait une conséquence assez embêtante. Nombre d’utilisateurs ont pris l’habitude d’utiliser
Or, dans les situations où la calculatrice ne permettait pas la saisie de la probabilité, il était tout simplement impossible de sélectionner sa valeur pour la copier, obligeant donc à la retenir de tête ou à la copier temporairement sur un bout de papier, le temps de changer d’application.
Ce problème est désormais résolu lui aussi. Tous les champs numériques des relations, même ceux non modifiables, peuvent dorénavant être sélectionnés et copiés.
Enfin, comme visible ci-dessus, l’application Probabilités bénéficie elle aussi pour son interprétation graphique de l’affinage des axes décrit plus haut pour l’application Fonctions.
En conséquence de la taille d’affichage pouvant donc être accrue, les différents champs numériques permettant de saisir les données ou afficher les résultats ont désormais une taille variable, s’adaptant automatiquement à leur contenu. Fort appréciable dans le cas des intervalles, la relation de probabilité affichée contenant alors 3 champs numériques au lieu de 2.
Sur la relation de probabilité affichée, l’utilisateur avait le plus souvent le choix entre :
- sélectionner et saisir la ou les bornes de la variable aléatoire X pour obtenir la probabilité
- sélectionner et saisir la probabilité pour obtenir la ou les bornes de la variable aléatoire X
Même remarque pour les relations du type P(X=?)=? dans le cas des lois discrètes (binomiale et de Poisson).
Ce n’est pas un problème en soi, mais cela avait une conséquence assez embêtante. Nombre d’utilisateurs ont pris l’habitude d’utiliser
shift
copypour copier les valeurs numériques puis
shift
pastepour les coller dans une autre application, Calculs par exemple, afin de pouvoir continuer à travailler dessus pour la suite de leur exercice.
Or, dans les situations où la calculatrice ne permettait pas la saisie de la probabilité, il était tout simplement impossible de sélectionner sa valeur pour la copier, obligeant donc à la retenir de tête ou à la copier temporairement sur un bout de papier, le temps de changer d’application.
Ce problème est désormais résolu lui aussi. Tous les champs numériques des relations, même ceux non modifiables, peuvent dorénavant être sélectionnés et copiés.
Enfin, comme visible ci-dessus, l’application Probabilités bénéficie elle aussi pour son interprétation graphique de l’affinage des axes décrit plus haut pour l’application Fonctions.
Application Python :Go to top
Comme l’application Fonctions et conformément aux programmes scolaires de l’enseignement secondaire, l’application Python permet désormais d’effectuer des simulations, grâce à l’ajout d’un tout nouveau module à importer, random.
En plus des guillemets, les chaînes de caractères deviennent délimitables avec des apostrophes suite à l’ajout de ce caractère dans le catalogue. Il sera est donc maintenant possible d’alterner entre les délimiteurs selon le contenu de la chaîne, afin d’éviter ou limiter le besoin de faire appel au caractère d’échappement.
Dans le contexte des listes, le caractère ‘:’ permettant de référencer une suite d’éléments de positions consécutives est maintenant reconnu et parfaitement fonctionnel.
Les fonctions min() et max() déjà listées au catalogue deviennent également fonctionnelles dans le contexte de listes.
Et puis nous avons une toute nouvelle instruction d'entrée, input(), permettant d'inviter avec le message de son choix l'utilisateur à saisir une donnée en cours d'exécution d'un programme.
Enfin, parlons performances. Cela ne concerne pas que l’application Python mais c’est celle où peut aisément mettre en évidence les différences. La NumWorks était déjà dans sa version 1.2.0 précédente la calculatrice graphique la plus performante à ce jour. Il n’empêche que comme déjà annoncé, les performances de la calculatrice ont été en prime améliorées de façon significative depuis la version précédente, suite à l’acceptation de deux contributions au code source officiel :
Voici ci-dessous en vidéo ce que donne le tracer d’un même programme de fractale avec l’ancienne version 1.2.0 et la nouvelle version :
L’ancienne version mettait donc 1min14s quand la nouvelle ne met plus que 54 secondes, une progression extraordinaire !
En plus des guillemets, les chaînes de caractères deviennent délimitables avec des apostrophes suite à l’ajout de ce caractère dans le catalogue. Il sera est donc maintenant possible d’alterner entre les délimiteurs selon le contenu de la chaîne, afin d’éviter ou limiter le besoin de faire appel au caractère d’échappement.
Dans le contexte des listes, le caractère ‘:’ permettant de référencer une suite d’éléments de positions consécutives est maintenant reconnu et parfaitement fonctionnel.
Les fonctions min() et max() déjà listées au catalogue deviennent également fonctionnelles dans le contexte de listes.
Et puis nous avons une toute nouvelle instruction d'entrée, input(), permettant d'inviter avec le message de son choix l'utilisateur à saisir une donnée en cours d'exécution d'un programme.
Enfin, parlons performances. Cela ne concerne pas que l’application Python mais c’est celle où peut aisément mettre en évidence les différences. La NumWorks était déjà dans sa version 1.2.0 précédente la calculatrice graphique la plus performante à ce jour. Il n’empêche que comme déjà annoncé, les performances de la calculatrice ont été en prime améliorées de façon significative depuis la version précédente, suite à l’acceptation de deux contributions au code source officiel :
Voici ci-dessous en vidéo ce que donne le tracer d’un même programme de fractale avec l’ancienne version 1.2.0 et la nouvelle version :
- Code: Select all
from kandinsky import set_pixel
def mandelbrot(W,H,N) :
w=2.7/(W-1)
h=1.87/(H-1)
n=255.0/N
for x in range(W):
for y in range(H):
z=complex(0,0)
c=complex(w*x-2.1,.935-h*y)
for j in range(N):
z=z*z+c
if abs(z)>2:
break
set_pixel(x,y,255*65792*j+256)
L’ancienne version mettait donc 1min14s quand la nouvelle ne met plus que 54 secondes, une progression extraordinaire !
En conclusion, la nouvelle version NumWorks ratisse large et apporte du bon biscuit à tout-le-monde. Avec notamment la gestion des suites auxiliaires, nous n’aurions plus aucune objection ou mise en garde à formuler auprès d’élèves de Première ou Terminale envisageant de s’équiper de ce modèle. La NumWorks est désormais en adéquation globale avec l’ensemble du programme scolaire du lycée français, félicitations !
Liens :
- Mise à jour (suivre les instructions)
- Simulateur en ligne
- Code source