π
<-
Chat plein-écran
[^]

News 2022

News 2021
August (7)
July (8)
June (2)
May (6)
April (11)
March (10)

News 2020
August (4)
July (11)
June (6)
May (4)
April (8)
March (3)

News 2019
August (1)
July (3)
June (3)
May (5)
April (1)
March (2)

News 2018
August (4)
July (1)
June (5)
May (9)
April (13)
March (5)

News 2017
August (4)

Mise à jour NumWorks 17.2 : nouveautés haut de gamme !

New postby critor » Yesterday, 12:01

15117Après 2 mois de bêta-test de sa formidable version
17
( puis )
, c'est aujourd'hui enfin sa sortie.
NumWorks
vient en effet de publier la mise à jour
17.2
.

Découvrons ou redécouvrons ensemble la superbe collection de nouveautés.



Sommaire




1) Appli Fonctions

Go to top

Commençons donc par l'application
Fonctions
qui bénéficie d'une refonte majeure pour le meilleur, comme le suggère déjà le renommage de l'onglet
Fonctions
en
Expressions
.

Jusqu'à présent pour définir les fonctions à étudier, tu pouvais basculer au choix entre 3 formes de saisie à compléter :
  • $mathjax$f(x)=…$mathjax$
    pour les fonctions cartésiennes
  • $mathjax$f(θ)=…$mathjax$
    pour les fonctions polaires
  • $mathjax$f(t)=\left[\begin{array}{}…\\…\end{array}\right]$mathjax$
    pour les fonctions paramétriques
Notons qu'un gros avantage de la
NumWorks
par rapport à la concurrence de milieu de gamme des
TI-82/83
était comme illustré ci-contre et comme chez
Casio
, la possibilité de travailler simultanément sur des fonctions de différents types.

Désormais ce choix disparaît dans le sens où la forme de saisie devient totalement libre, tu contrôles intégralement la relation saisie.

La calculatrice détecte automatiquement le type pertinent de fonction ou courbe correspondant à ta relation saisie, et te l'indique en-dessous.

Cela te permet de saisir les relations sous d'autres formes, soit de plus en plus souvent directement la forme de l'énoncé minimisant ainsi le risque d'erreur ! :bj:

Tu peux par exemple opter pour la forme
$mathjax$y=…$mathjax$
ou même pour toute relation fonction de
x
et
y
.

Cela permet à ta calculatrice d'identifier les relations ayant des représentations graphiques remarquables comme des droites, précisant même dans ce cas si elles sont horizontales ou verticales. Oui en passant, les droites verticales deviennent donc enfin traçables sur
NumWorks
! :bj:

Dans le cas où la calculatrice identifie la relation en tant que droite ni horizontale ni verticale, il t'est possible de demander des détails et obtenir ainsi coefficient directeur et ordonnée à l'origine.

Ne crois pas que la forme entièrement libre implique forcément une saisie plus longue ou fastidieuse ;
NumWorks
a trouvé la parade. En effet lorsque tu choisis d'ajouter une nouvelle relation à étudier, la calculatrice t'offre la possibilité de choisir parmi une liste d'exemples de relations couvrant les différents types remarquables de fonctions et courbes. Tu peux donc en fonction de tes besoins soit choisir la forme vide et tout saisir toi-même, soit partir d'un des exemples proposés et le modifier.

Puisque la forme de saisie est maintenant totalement libre, le vaste univers des coniques s'offre maintenant à nous.

Nous avons par exemple pour commencer les paraboles. Lorsque la calculatrice détecte une courbe de type parabole, il t'est ici aussi possible de demander quelques détails qui pourront t'être utile pour son étude : paramètre et coordonnées du sommet.

Sont également reconnues et gérées, les hyperboles. Dans ce cas les détails calculés automatiquement sont bien riches :
  • distance centre-sommet
  • demi axe conjugué
  • distance centre-foyer
  • excentricité
  • coordonnées du centre

Tout juste peut-on regretter que certaines formes d'écriture des équations d'hyperboles ne soient pas identifiées correctement et soient alors non traçables.

Par exemple
$mathjax$x\times y=3$mathjax$
et
$mathjax$y=\frac{3}{x}$mathjax$
sont traçables, mais pas
$mathjax$x=\frac{3}{y}$mathjax$
.


Sont égalements supportées les équations d'ellipses et donc entre autres de cercles. Dans le cas général des ellipses, les détails d'étude pouvant être obtenus sont :
  • demi grand axe
  • demi petit axe
  • distance centre-foyer
  • excentricité
  • coordonnées du centre

Dans le cas particulier du cercle, les détails récupérables sont :
  • rayon
  • coordonnées du centre

Les cas particuliers dégénérés des ellipses
(point)
, paraboles
(droite)
et hyperboles
(couple de droites sécantes)
ne sont certes pas identifiés mais restent pour autant traçables.

Ce qu'il y a d'excellent jusqu'à présent, c'est que les coniques ne nécessitent pas de lancer une application dédiée mais soient étudiables directement dans la même application que les fonctions, bénéficiant ainsi d'une interface commune et nécessitant ainsi moins d'efforts de prise en main ! :bj:

Cela va peut-être te surprendre, mais sur le milieu de gamme toute concurrence confondue, c'était impossible jusqu'à ce jour.
NumWorks
nous sert à nouveau une solution haut de gamme toujours au prix du milieu de gamme ! :D

Mais crois-tu avoir tout vu ? Oh que non jusqu'à présent ce n'était rien, juste des cas particuliers avec les axes de coniques parallèles aux axes du repère, correspondant aux possibilités de modèles de milieu de gamme concurrents.

Or il se trouve que
NumWorks
va bien plus loin que ça et gère le cas général, contrairement à toute la concurrence de milieu de gamme,
Casio/TI
réservant ces capacités aux seuls modèles haut de gamme. Une fois de plus félicitations
NumWorks
pour les rendre ainsi bien plus accessibles ! :bj:


Voilà, cela semble être à peu près tout à ce jour pour les familles de formes traçables. Notons juste la possibilité de tracer quelques autres relations n'étant pas des coniques, dans le sens où elles ne correspondent pas à la section d'un cone de révolution par un plan. Les formes
$mathjax$y^2=k$mathjax$
ou
$mathjax$x^2=k$mathjax$
sont par exemple acceptées.

Mais nous n'en avons pas terminé pour autant. Jusqu'à présent nous n'avons traité que des égalités. Mais les inégalités sont également gérées, et l'on peut donc enfin les représenter graphiquement ! :bj:

On apprécie même dans ce cadre la distinction visuelle entre les représentations d'inégalités strictes et non strictes.

L'écran couleur est ici un formidable atout, permettant d'identifier facilement la réunion ou intersection de ces différents ensembles de points.

A priori on pourrait s'attendre à quelque chose d'extrêmement simpliste comme chez la concurrence de milieu de gamme, ne faisant que colorier la zone supérieure ou inférieure à la frontière de l'ensemble.
Et bien non c'est bien plus poussé que ça. Les représentations d'inégalités sont possibles dans le cadre de l'ensemble des formes que nous avons couvertes précédemment, dont aussi bien les droites verticales
(intervenant pour les bornes d'intégrales, optimisation, ...)
que les coniques ! :bj:

Encore une fois
NumWorks
casse complètement les codes en nous offrant une fonctionnalité aussi poussée sur le milieu de gamme ! :D

Une superbe capacité déjà présente sur la
NumWorks
dans le cadre des représentations graphiques de fonctions, c'est la détermination automatique de la fenêtre graphique la plus pertinente, tentant de rendre visible l'ensemble des éléments remarquables.
Il y avait toutefois un problème qui pouvait arriver lorsque l'on demandait un calcul intégral à partir de la représentation graphique.

En effet la barre d'informations en bas d'écran doublait alors de hauteur, et pouvait alors masquer des éléments remarquables de la représentation graphique, un axe, voir même l'interprétation graphique du résultat. Bien embêtant, d'autant plus qu'à l'écran en question il était impossible de corriger les bornes de la fenêtre sans effacer le calcul et sa représentation.

De plus, lors du choix de bornes de l'intégrale avec les flèches clavier, le fenêtre n'était pas rafraîchie en cas de borne hors fenêtre.
Et bien
NumWorks
a corrigé la chose en version
17
, la fenêtre graphique affichée tenant maintenant compte du changement de hauteur de la barre d'informations ! :bj:

Et les bornes optimales de la fenêtre sont recalculées en permanence, même par exemple lorsque tu positionnes les bornes de l'intégrale.




2) Appli Probabilités

Go to top

Avec cette mise à jour l'application
Probabilités
bénéficie de possibilités grandement étendues, devenant une application 3 en 1.

À la superbe interface historique d'étude de lois de probabilités, s'ajoutent 2 nouvelles interfaces, le tout étant désormais au choix à l'appel de l'application :
  • tests statistiques
  • intervalles de confiance

Personnellement je l'avoue, je n'y connais pas grand, mes études supérieures qui commencent à dater n'ayant à l'époque pas inclus de module statistiques et probabilités. Aussi, les possibilités similaires présentes sur les modèles concurrents, trop souvent avec des abréviations anglophones, m'étaient toujours apparues fort obscures et ne m'avaient pas du tout donné envie de creuser la chose.

Ici
NumWorks
nous signe une fois encore une interface claire donnant envie de faire des Maths dont il a le secret, prenant le temps et la place pour décrire chaque chose en Français.

Pour les tests, tu as donc au choix :
  • 2 tests
    t
    : 1 moyenne, 2 moyennes
  • 4 tests
    z
    : 1 moyenne, 2 moyennes, 1 proportion, 2 proportions
  • test
    χ²

Pour les intervalles de confiance, sont au choix :
  • 2 intervalles
    t
    : 1 moyenne, 2 moyennes
  • 4 intervalles
    z
    : 1 moyenne, 2 moyennes, 1 proportion, 2 proportions

Regardons tout-de-suite l'utilisation pour vérifier un exercice de l'ancien programme de
Terminale S
.

Un fournisseur affirme que, parmi ses cadenas haut de gamme, il n’y a pas plus de
3%
de cadenas défectueux dans sa production.
Un responsable du magasin de bricolage désire vérifier la validité de cette affirmation dans son stock ; à cet effet, il prélève un échantillon aléatoire de
500
cadenas haut de gamme.
Le responsable trouve
19
cadenas défectueux dans l'échantillon prélevé.

  1. Etablir un intervalle de fluctuation asymptotique au seuil de
    95%
    de la proportion attendue de cadenas défectueux dans un tel échantillon.
  2. Au risque de
    5%
    , ce contrôle remet-il en cause l'affirmation du constructeur ?

Pour informations, les réponses attendues sont :
  1. $mathjax$I≈[0,015;0,045]$mathjax$
  2. $mathjax$f=\frac{19}{500}\approx 0,038$mathjax$

    Donc
    $mathjax$f\in I$mathjax$
    et on ne peut rejeter l'affirmation du constructeur au risque de 5%.

Commençons donc par la question 1, avec l'intervalle de fluctuation asymptotique au seuil de
95%
.

Rappelons que la
NumWorks
permettait déjà d'obtenir le résultat via la fonction
prediction95()
, trouvable dans les menus
Probabilités
puis
Statistiques
de la boîte à outils
(touche
🧰
)
.

Maintenant, c'est donc également réalisable dans la nouvelle application
Probabilités
.

Il faut pour cela choisir l'intervalle
z
à 1 proportion.

On obtient bien le même résultat attendu, mais surtout ici, on en récupère également une interprétation graphique qui en facilitera grandement la compréhension ! :bj:

Question 2 maintenant. La prise de décision dans ce contexte nécessite de réaliser un test
z
à 1 proportion.

On obient bien le résultat attendu, accompagné ici encore d'une interprétation graphique, et même d'une phrase explicative en Français ! :bj:




3) Appli Calculs

Go to top

Tu es encore là après tout ça ? Accordons-nous une petite pause avant de reprendre, car les grandes nouvelles ne sont pas terminées.

L'application
Calculs
dispose maintenant d'un raccourci permettant de vider facilement et rapidement l'historique :
shift
.




4) Boîte à outils

Go to top

🧰

Passons maintenant à la boîte à outils commune à l'ensemble des applications intégrées utilisant le moteur mathématique
Poincaré
(c'est simple, c'est-à-dire toutes les applications sauf
Python
qui dispose d'une boîte à outils spécifique)
.

Étais-tu déçu(e) suite au verrouillage de ne plus pouvoir installer pour avoir les constantes physiques ?

Et bien cela tombe bien, car le menu
Unités
se voit maintenant renommé
Unités et constantes
. Tu devines ce que cela veut dire ? ;)

Autre grande nouveauté donc de cette version, les constantes physiques directement intégrées au
firmware
officiel, et donc à nouveau disponibles en mode examen ! :bj:

Les constantes physique sont accessibles en fin de liste des unités. Comme pour les unités, on les appelle en préfixant leur nom d'un tiret bas
(_)
.

13 constantes sont au menu de cette première version officielle les supportant, soigneusement décrites à chaque fois en Français : :bj:
  • c
    : vitesse de la lumière dans le vide
  • e
    : charge élémentaire
  • G
    : constante gravitationnelle
  • g
    : accélération de pesanteur
    (appelable en saisissant
    _g0
    , car
    _g
    est déjà réservé pour l'unité gramme)
  • k
    : constante de Boltzmann
  • ke
    : constante de Coulomb
  • me
    : masse de l'électron
  • mn
    : masse du neutron
  • mp
    : masse du proton
  • Na
    : constante d'Avogadro
  • R
    : constante des gaz parfaits
  • ε0
    : permitivité du vide
  • μ0
    : perméabilité du vide


Les valeurs d'unités alors récupérées sont accompagnées de leurs unités, génial ! :D

On note accessoirement que
NumWorks
ne fait pas les choses à moitié, les valeurs de constantes physiques semblant être à jour par rapport aux dernières corrections apportées lors du . :bj:



Sinon, petit changement fort appréciable de comportement, désormais la boîte à outil se rouvre automatiquement dans le dernier menu validé.

De quoi te faciliter grandement la saisie par exemple pour des expressions faisant intervenir plusieurs unités ou constantes physiques ! :D




5) Appli Paramètres

Go to top

Passons maintenant à l'application
Paramètres
.

Changement appréciable, l'unité d'angle par défaut passe du degré au radian.

D'origine ou en cas de réinitialisation, la calculatrice est donc immédiatement prête à travailler en radians en Mathématiques ou à tracer des courbes de fonctions trigonométriques. :bj:

Un nouveau menu permet enfin de réinitialiser la calculatrice sans avoir à manipuler le bouton
reset
au dos.

Alternative bien pratique pour les situations où tu n'auras pas d'outil suffisamment fin sous la main.

Passons maintenant au mode examen car là il y a des changements importants. Jusqu'à la version
16
, la
NumWorks
disposait de 2 modes examen. Leur accessibilité dépendait de la zone géographique réglée :
  • mode examen
    NL
    pour le seul réglage de la zone sur les
    Pays-Bas
    : clignotement de la diode examen en orange + efface le contenu mémoire + interdit l'application
    Python
    + désactive le moteur de calcul exact
  • mode examen par défaut pour tous les réglages de zone : clignotement de la diode examen en rouge + efface le contenu mémoire
    (aucun blocage de fonctionalité)

Changement pour le mode examen
NL
, la gestion des unités ainsi que de la bibliothèque de constantes physiques est maintenant désactivée.

Il devient maintenant possible d'accéder à l'ensemble des modes examen disponibles en réglant la zone sur
International
. Bien pratique pour les étudiants des établissements internationaux
(Écoles européennes, établissements français du réseau
AEFE
, ...)
soumis donc à une réglementation qui n'est pas celle du pays hôte.

On nous ajoute ici 3 nouveaux modes examen :
  • mode examen
    IB
    dédié au
    Baccalauréat International
    pour un réglage de la zone sur
    International
    : pas de clignotement de la diode examen + efface le contenu mémoire + interdit le calcul vectoriel + désactive les résultats additionnels dans l'applications
    Calculs
    + bloque l'accès aux unités et constantes + bloque l'écran d'interprétation des tests statistiques
  • mode examen
    Press-to-test
    pour un réglage de la zone sur
    Etats-Unis
    : pas de clignotement de la diode examen + efface le contenu mémoire + permet au surveillant/enseignant qui active le mode de choisir les fonctionnalités à interdire
    (application
    Equations
    , tracé d'inéquations, courbes implicites, informations suite aux régressions, calcul vectoriel, logarithme de base a, opérateur de sommation)

  • mode examen
    PT
    pour un réglage de la zone sur
    Portugal
    : clignotement de la diode examen en vert + efface le contenu mémoire

Comme quoi, par rapport à ce mode examen
PT
,
NumWorks
n'est pas rancunier après le camouflet monumental infligé par l'Institution portugaise en mars 2021, à savoir :
  • le refus d'approuver la calculatrice
    NumWorks
    pour les examens de la session 2021
  • après des communications pourtant contraires dans la presse à la rentrée 2020
  • jetant de plus l'opprobre sur le constructeur sans le nommer mais de façon suffisamment précise en accompagnant la liste de modèles approuvés d'une motivation incriminant la possibilité d'installer des fonctionnalités de calcul formel sur de nouveaux modèles testés
    (la
    NumWorks
    étant le seul modèle récent absent des versions précédentes de la liste, aucun doute possible)
    , l'une des raisons qui a conduit au verrouillage de la version
    16
  • en plus de ne pas approuver la
    NumWorks
    au niveau national, tentative d'empêcher également son autorisation à l'échelon local comme jamais vu auparavant, avec la publication d'une interdiction discriminatoire et possiblement illégale des calculatrices développées en
    open source
    , interdiction heureusement retirée depuis

En dehors de la couleur de la diode, nous n'avons pas trouvé à ce jour de différence fonctionnelle entre les modes examen
FR
de la France et
PT
du Portugal.

Pour t'aider à t'y repérer dans ces différents modes examen, voici un tableau comparatif des fonctionnalités disponibles dans les différents modes examen :
Mode
examen
FR
NL
PT
IB
PTT
Diode
examen
rouge
orange
verte
Contenu
mémoire
préexistant
Interdit
Interdit
Interdit
Interdit
Interdit
Calcul exact
irrationnels
Autorisé
Interdit
Autorisé
Autorisé
Autorisé
Calcul
vectoriel
Autorisé
Autorisé
Autorisé
Interdit
Désactivable
Unités +
constantes
Autorisé
Interdit
Autorisé
Interdit
Autorisé
Logarithme
base a
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Opérateur
sommation Σ
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Appli
Equations
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Graphes
inégalités
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Graphes
implicites
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Appli
Python
Autorisé
Interdit
Autorisé
Autorisé
Autorisé
Interprétation
tests
statistiques
Autorisé
Autorisé
Autorisé
Interdit
Autorisé
Interprétation
régressions
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable




6) Transversal

Go to top

Poursuivons hors boîte à outils avec le reste des changements transversaux.

L'alignement des exposants a été modifié afin d'occuper moins de place verticalement.

Cela te permettra par exemple de visualiser correctement sans défilement sur un même écran, davantage de calculs faisant intervenir des exposants :


Le comportement de la touche
x,n,t
dépendait du contexte dans lequel tu l'utilisais. Elle te permettait de saisir :
  • t
    dans l'application
    Fonctions
    pour la définition d'une fonction paramétrique
  • θ
    dans l'application
    Fonctions
    pour la définition d'une fonction polaire
  • n
    dans l'application
    Suites
  • x
    dans tous les autres cas
Or, il pouvait arriver que ce comportement ne corresponde pas à tes besoins.

Si il te suffisait pour
x
,
n
et
t
d'aller les chercher au clavier alphabétique avec la touche
alpha
, ce n'était par contre pas le cas pour
θ
.

Il t'était donc pénible de faire appel à la variable de nom
θ
pour tes calculs de géométrie ou de Physique-Chimie, ou encore pour l'affichage de messages en
Python
.

Il fallait déclencher l'afficher d'un
θ
quelque part, par exemple dans l'application
Fonctions
ou sinon dans l'application
Python
avec print(chr(952)), le sélectionner pour le copier avec
shift
var
, puis ensuite seulement le coller où bon te semblait avec
shift
🧰
.
Aujourd'hui
NumWorks
fournit enfin un début de solution à ce problème.

Peu importe le contexte, si la saisie par défaut de la touche
x,n,t
ne correspond pas à tes besoins, il te suffit de retaper
x,n,t
si besoin plusieurs fois de suite pour basculer entre les autres possibilités de saisie
x
,
n
,
t
et
θ
.

Pour te suggérer cette nouvelle possibilité, la saisie de la touche est immédiatement mise en surbrillance, te permettant alors de réagir avant de poursuivre ta saisie.


Bien dommage toutefois, cela ne fonctionne pas dans le contexte de l'application
Python
et ne t'aidera donc pas pour les
print()
.


Terminons par une amélioration qui avait été introduite dès la mise à jour
16.4.0
mais bizarrement non annoncée.

Auparavant il n'était pas possible d'appliquer une fonction à un résultat comportant une unité.

Depuis la version
16.4.0
c'est corrigé pour les fonctions pertinentes de la boîte à outils :
abs()
,
floor()
,
ceil()
,
round()
et
sign()
.




Conclusion

Go to top

Le verrouillage exigé par certaines institutions étant maintenant derrière nous,
NumWorks
semble enfin s'être sérieusement remis au travail dans l'intérêt des utilisateurs, renouant ainsi avec ce qui avait fait son succès sur la période 2017-2020.

Cette version
17
apporte en effet plusieurs évolutions majeures avec dans tous les cas de beaux efforts sur l'intuitivité de l'interface :
  • saisie libre des relations à tracer
  • représentation graphique de droites
  • représentation graphique coniques même dans le cas général
  • représentation graphique d'inéquations pour toutes les formes précédentes d'équations traçables
  • constantes physiques avec unités et description
  • tests statistiques
  • intervalles de confiance

La
NumWorks
au prix de milieu de gamme poursuit sa progression disruptive dans le monde des calculatrices graphiques, dans le sens où la plupart de ces fonctionnalités sont très supérieures à ce qu'offre le milieu de game chez la concurrence, et ne trouvent d'équivalent que sur le haut de gamme beaucoup plus cher.

Des efforts semblent donc avoir été faits rapidement pour compenser les fonctionnalités non officielles interdites d'installation suite au verrouillage, notamment pour les constantes physiques.

Après, ce n'est certes pas suffisant.

Comme gros manque, il y aurait encore par exemple l'application de tableau périodique des éléments , ou encore l'application tableur de .
Mais il semble justement qu'un tableau périodique vienne officiel vienne enfin d'être mis en projet pour une future mise à jour en version
18
. ;)


Et bien évidemment, tant qu'il n'y aura pas de remplaçant au moteur de calcul littéral d' ou encore mieux moteur de calcul formel de , on pourra toujours dire que ce n'est pas suffisant.


Mais terminons donc à ce jour sur une note positive en notant donc ces efforts très significatifs, certes insuffisants selon les besoins, en faisant justement le souhait qu'ils se poursuivent au moins au même rythme.

Liens
:

Upsilon : firmware successeur d'Omega par sa communauté !

New postby critor » 12 Jan 2022, 17:44

Omega
était un
firmware
alternatif pour ta calculatrice
NumWorks
. Basé sur le code source du
firmware
officiel
Epsilon
comme la licence l'autorisait,
Omega
avait pour but de regrouper et mettre en avant les meilleures contributions au code d'
Epsilon
, en incluant justement celles ignorées ou refusées par le constructeur.

Difficile de tout citer ici mais voici déjà par exemple un des fantastiques ajouts d'
Omega
. La
NumWorks
travaille en interne sur des arbres de calcul, mais n'accepte que des valeurs numériques.
Omega
étendait ces arbres en autorisant également des lettres / inconnues, ce qui nous donnait ainsi un moteur de calcul littéral. De quoi même dériver, du jamais vu à seulement
80€
! :bj:
Il y avait aussi un tableau périodique des éléments, ou encore
100K
de mémoire
heap
pour tes projets
Python
au lieu de
32K
! :bj:

12024Outre ce qu'il intégrait,
Omega
offrait également l'avantage de pouvoir installer à chaud des applications. Plusieurs applications de très haute facture furent développées, on peut citer entre autres : :D
  • , une formidable application intégrée de Mathématiques et de Sciences par , enseignant-chercheur à l'Université de Grenoble, qui étendait gratuitement les capacités de ta calculatrice au niveau d'une
    HP Prime
    . L'application intégrait le moteur de calcul formel
    GIAC
    développé pour le logiciel
    Xcas
    du même auteur pour des possibilités en calcul encore plus étendues. Étaient également inclus un tableur, une bibliothèque de constantes physiques, un convertisseur d'unités, un tableau périodique des éléments et bien d'autres choses encore. Le tout était en prime programmable en
    Python
    , avec une collection de modules importables bien plus étoffée que celle de l'application
    Python
    officielle, et surtout ici de façon intégrée, tes scripts
    Python
    pouvant en effet faire appel au moteur de calcul formel
    GIAC
    par l'intermédiaire du module
    cas
    .
  • , un émulateur de console de jeux
    Nintendo NES
    par
  • , un émulateur de console de jeux
    Nintendo GameBoy
    par
  • , un tableau périodique des éléments par
Un gros avantage de plus était ici que
KhiCAS
et l'ensemble des fonctionnalités rajoutées restaient accessibles en mode examen, de façon parfaitement légale et légitime en France, puisque ces fonctionnalités venaient directement intégrées à des modèles concurrents haut de gamme parfaitement autorisés. :bj:
Hélas pour cette rentrée 2021,
NumWorks
a brutalement pris un virage ultra-sécuritaire. Toute mise à jour en version
16.3.0
ou supérieure verrouille définitivement ta calculatrice
NumWorks N0110
contre l'
installation
de tout code tiers, et ce sans même que tu en sois prévenu(e) sur la page concernée. :mj:

En conséquence, nous t'annoncions il y a quelques semaines le cœur serré l'abandon officiel du projet
Omega
. :'(

14609Dans un premier temps nous t'annoncions que
Bernard Parisse
se proposait de reprendre et continuer à maintenir le projet
Omega
à travers un
fork
: un nouveau
firmware
nommé
Khi
.

Construit à partir du code source de la dernière version d'
Omega
,
Khi
reprenait l'intégralité des avantages de ce dernier ! :bj:

Toutefois hors fonctionnalités,
Khi
apportait divers changements clivants qui n'ont pas été du goût de nombre d'utilisateurs et contributeurs historiques de la communauté
Omega
:
  • abandon du support du modèle intial
    NumWorks N0100
    de la rentrée 2017
  • une interface d'installation en ligne n'ayant absolument rien à voir avec celle qu'
    Omega
    proposait
  • pas de simulateur en ligne
  • pas d'interface en ligne pour choisir les applications à installer ainsi que les fichiers
    ROMs
    pour accompagner les applications d'émulation
  • et surtout à la différence, pas de disponibilité du projet
    Khi
    sur la plateforme
    GitHub
    , cassant ainsi les habitudes des nos jeunes contributeurs, notamment le caractère public des contributions ainsi que des suites leur étant apportées ou pas
Ce dernier point était bien le problème majeur : si l'application
KhiCAS
installée avec
Khi
a continué à évoluer de façon très significative, ce ne fut hélas pas le cas du reste du
firmware
.

Le
firmware
Khi
semble ne pas avoir bénéficié d'une ambition autre que celle d'être un moyen de lancer l'application
KhiCAS
.

Ce n'est pas un problème en soit, c'est un choix qui se défend, mais nombre d'utilisateurs et contributeurs
Omega
se sont ainsi sentis mis de côté.

1510515111Nous y sommes donc aujourd'hui ; la communauté des utilisateurs et contributeurs
Omega
brillamment conduite par et lance à son tour un nouveau
fork
qui se veut cette fois-ci être enfin le véritable successeur de l'esprit
Omega
:
Upsilon
.

Upsilon
qui nous sort donc aujourd'hui en version
1.0
:
  • est basé sur le code du
    firmware
    Espilon
    officiel dans sa version
    15.5.0
    ; toutes les nouveautés annoncées depuis ne pouvant être incluses suite au changement de licence
  • apporte bien évidemment entre autres toutes les nouveautés et ajouts développés dans le cadre d'
    Omega
    jusqu'à l'arrêt du projet

Mais
Upsilon
ne se contente absolument pas de cela loin de là ; découvrons ensemble les nouveautés.




Sommaire





1) Nouveautés application Paramètres

Go to top

Commençons donc par l'application
Paramètres
.
Le paramètre
Police Python
est renommée en
Python
est permet maintenant de changer plusieurs choses relatives à cette application.

Outre la taille de police, il permet de désactiver deux choses disponibles par défaut :
  • l'auto-complétion qui selon les habitudes de chacun peut perturber la saisie
  • la coloration syntaxique qui n'arrange pas forcément tout-le-monde
1510415103Dans
À propos
nous avons une nouvelle ligne indiquant le voltage ainsi que le pourcentage de charge de la batterie, informations entre lesquelles on bascule avec la touche
OK
.

Enfin, un nouveau paramètre
USB
permet de configurer une protection de ta calculatrice, activée par défaut.

Lorsque activé, ce paramètre empêche toute installation d'un
firmware
officiel
Epsilon
et donc tout verrouillage définitif de ta calculatrice, enfin ! :bj:
(à noter toutefois que la protection ne fonctionne que si le firmware
Upsilon
est en fonctionnement ; elle n'est pas active si tu passes par le mode de récupération de la machine)


Toute tentative d'installation d'un
firmware
non souhaité entraînera une déconnexion immédiate de la calculatrice.

Lorsque la protection est activée, tu as le choix entre :
  • autoriser la seule installation de
    firmwares
    basés sur
    Upsilon
  • autoriser la seule installation de
    firmwares
    basés sur
    Omega
    (ce qui inclut
    Khi
    selon nos tests)
  • n'autoriser aucune installation de
    firmware




2) Nouveautés application Python

Go to top

Nous passons maintenant à l'application
Python
où nous sommes gâtés avec nombre de nouveautés délicieusement croustillantes. ;)
Déjà avant toute chose. Jusqu'à présent les
firmwares
disponibles pour ta
NumWorks
n'offrait que
32K
de stockage pour les scripts
Python
de l'application.
Ce n'est franchement pas beaucoup ; on se sent rapidement à l'étroit notamment lorsque l'on commence à vouloir inclure des images dans ses scripts.

Et bien grande nouvelle,
Upsilon
fait passer cet espace de stockage à
64K
! :bj:


Commençons par la bibliothèque
kandinsky
. Même si il y a pire, la bibliothèque de tracé par pixels
kandinsky
n'est pas bien généreuse, son offre se résumant à 4 méthodes dans le
firmware
officiel
Epsilon
:
  • .set_pixel(x, y, couleur) pour allumer un pixel
  • .fill_rect(x, y, largeur, hauteur, couleur) pour remplir un rectangle
  • .draw_string(..., x, y) pour écrire
Le
firmware
Omega
avait grandement amélioré cela en ajoutant .draw_line(x1, y1, x2, y2, couleur) pour tracer un segment.

Mais c'était bien peu. La réalisation de projets graphiques nécessitait souvent bien d'autres primitives. Tu avais le choix entre :
  • Utiliser des scripts
    Python
    codant des bibliothèques graphiques les fournissant
  • Les écrire toi-même.
    Ce n'est pas forcément une mauvaise chose, mais selon le niveau cela pouvait nécessiter une étude mathématique préalable
    (trigonométrie pour le tracé de cercles, triangulation pour le remplissage de formes...)
    , chose qui pouvait être décourageante.
    Et dans tous les cas, la
    NumWorks
    souffra par rapport à la plupart de la concurrence d'une mémoire de tas
    (heap)
    à l'exécution relativement faible en
    Python
    , et un codage non optimal de ces ajouts amputant d'autant la capacité restant pour exécuter le reste du code de ton projet.

Et bien grande nouvelle,
Upsilon
nous gâte dans ce contexte ! :bj:

La bibliothèque graphique
kandinsky
nous rajoute en natif plusieurs méthodes essentielles, et donc sans consommation supplémentaire de
heap
. Nous avons déjà autour des cercles :
  • .draw_circle(x, y, rayon, couleur) pour tracer un cercle
  • .fill_circle(x, y, rayon, couleur) pour remplir un disque
Code: Select all
from kandinsky import *

SCREEN_W, SCREEN_H = 320, 222

r = min(SCREEN_W, SCREEN_H) // 2

fill_circle(SCREEN_W - r, r, r, (0, 0, 255))
draw_circle(r, r, r, (255, 0, 0))

Mais ce n'est pas tout. Nous avons aussi de quoi remplir des polygones de formes quelconques : .fill_polygon(..., couleur).

Outre le paramètre de couleur, cette méthode attend une liste de coordonnées :
Code: Select all
from math import ceil
from kandinsky import *

SCREEN_W, SCREEN_H = 320, 222

def mod(l):
  x_min, y_min = l[0]
  x_max, y_max = 0, 0
  for k in range(len(l)):
    x_min = min(x_min, l[k][0])
    y_min = min(y_min, l[k][1])
    x_max = max(x_max, l[k][0])
    y_max = max(y_max, l[k][1])
  fx = max(1, (x_max-x_min)/SCREEN_W)
  fy = max(1, (y_max-y_min)/SCREEN_H)
  for k in range(len(l)):
    l[k][0] = ceil((l[k][0]-x_min)/fx)
    l[k][1] = ceil((l[k][1]-y_min)/fy)

l = [
  [0,200],
  [400,200],
  [400,250],
  [450,150],
  [0,200],
  [2,62],
  [223,236],
  [253,222],
  [274,236],
  [350,184],
  [121,2],
  [2,62]
]

mod(l)
fill_polygon(l, (255, 0, 0)

Mais comme tu peux le voir ci-contre, elle ne semble pas encore être au point dans la triangulation de la forme à remplir, avec plusieurs lignes horizontales laissées en blanc.

Comparons, il ne semble pas y avoir ce problème avec les méthodes natives équivalentes sur la concurrence
TI-83 Premium CE Edition Python
ou
TI-Nspire CX II
:


15102On se rend compte en poussant la chose que la méthode
.fill_polygon()
est malheureusement limitée, n'acceptant au maximum que 32 couples de coordonnées.

Voici ci-contre un simple morceau du logo
Texas Instruments
à cause de cette limitation, avec les écarts de remplissage qui empirent, non seulement des lignes horizontales laissées en blanc mais également plusieurs lignes horizontales tracées hors de la forme.

Mais pire que cela, le tracé ci-contre bloque la calculatrice et force alors à effectuer un
reset
.

Autre ajout, la méthode .palette() te retournant un dictionnaire avec les différentes couleurs des éléments de l'interface utilisateur
Upsilon
.

Tu as donc de quoi créer des scripts graphiques dont l'affichage s'adaptera automatiquement au thème graphique, notamment pour les utilisateurs qui choisissent d'installer
Upsilon
avec un thème autre que celui par défaut.


Enfin la bibliothèque
ion
t'offrait de quoi tester si une touche est enfoncée via sa méthode .keydown(code_touche).

C'était quand même bien embêtant dans le cas de projets s'attendant à des appuis sur un large éventail de touches : jeux, menus, ou encore pire éditeur de texte.

Tu te devais donc d'interroger une par une l'intégralité des touches clavier via une bouche, ce qui n'est pas négligeable en temps, et pouvait ainsi te faire rater quelques appuis bref ou quelques subtilités comme des appuis simultanés sur plusieurs touches.

Upsilon
nous apporte enfin une alternative mais bizarrement dans
kandinsky
, la méthode .get_keys() qui te retourne la liste de l'ensemble des touches actuellement pressées.

15101Passons donc maintenant justement à la bibliothèque
ion
.

Nous y trouvons plusieurs nouvelles méthodes permettant d'interroger l'état de la batterie directement depuis tes scripts :
  • .battery() pour connaître le voltage de la batterie
  • .battery_level() pour avoir le niveau de la batterie, soit le nombre d'éléments de charge à dessiner dans l'icône en haut à droit de l'écran
    (de 0 pour l'état critique à 4 pour une batterie chargée)
  • .battery_charging() pour savoir si la batterie est en cours de recharge

151061510715108L'application additionnelle
KhiCAS
inclut elle-même son propre interpréteur
micropython
distinct de celui de l'application
Python
. Un avantage est la présence de bibliothèques supplémentaires comme
ulab
.

Toutefois, même dans le cadre du
firmware
Khi
, ces ajouts n'avaient malheureusement pas été dupliqués pour l'application
Python
intégrée.

L'application
Python
intégrée a pourtant un net avantage pour les projets les plus gourmands, avec un
heap
de
100K
lorsque tu utilises les
firmware
Upsilon
,
Khi
ou
Omega
, contre seulement
64K
via l'application
KhiCAS
(et pour référence seulement
32K
avec le firmware
Epsilon
officiel)
.

Et bien grande nouvelle entre autres pour les physiciens, avec
Upsilon
la bibliothèque
ulab
débarque enfin dans l'application
Python
intégrée ! :bj:

Nous avons droit à ses deux sous-bibliothèques ; d'une part
numpy
pour le calcul scientifique optimisé sur les tableaux ou matrices.

D'autre part donc
scipy
qui fédère elle-même divers sous-bibliothèques de calcul scientifique :
  • linalg
    : algèbre linéaire
  • optimize
    : optimisation de fonctions
    (recherche d'extrema ou points d'inflexion)
  • signal
    : traitement de signal
  • special




3) Nouvelle application Liseuse

Go to top

Cela commençait à faire longtemps, avec
Upsilon
nous bénéficions enfin d'une nouvelle application intégrée, une
Liseuse
.

1511015109Il s'agit donc d'un lecteur de fichiers texte.

Tu va pouvoir lire tous les romans que tu souhaites sur ta calculatrice.

Et bien mieux que ça encore, car les expressions
LaTeX
sont reconnues ! :bj:
Code: Select all
Ce fichier est un test pour %r%LaTeX%\r%

$\frac{1}{12}+\sqrt[7]{4}-\floor{n+1}+\ceil{n-1}$
$u_{\phi(n)} = u_{2n+1} = (-1)^{2n+1} = -1$
$\times\forall\pm\partial\exists\div\infty\approx\neq\equiv\leq\geq$
$\leftarrow\uparrow\rightarrow\downarrow\leftrightarrow\updownarrow\Leftarrow\Uparrow\Rightarrow\Downarrow$
$\alpha\beta\gamma\delta\epsilon\zeta\eta\theta\iota\kappa\lambda\mu\nu\xi$
$o\pi\rho\sigma\tau\upsilon\phi\chi\psi\omega$
$\Alpha\Beta\Gamma\Delta\Epsilon\Zeta\Eta\Theta\Iota\Kappa\Lambda\Mu\Nu\Xi$
$\Omicron\Pi\Rho\Sigma\Tau\Upsilon\Phi\Chi\Psi\Omega$

La porte est donc maintenant également grande ouverte à tes fichiers de documents scientifiques : formulaires, cours, exercices corrigés, annales et bien d'autres ! :D




Conclusion

Go to top

Avec
Upsilon
l'esprit du projet
Omega
est clairement de retour.

Nous sommes heureux de retrouver un bouillonnement d'idées et formidables nouveautés comparable à ce dont a bénéficié
Omega
! :bj:

Un grand merci et bravo à , , ainsi qu'à tous les contributeurs et testeurs, entre autres : :favorite:
  • @Yaya.Cout
    (1er contributeur + divers fix assez importants)
  • @dl11
    (protection usb)
  • @Mino#1289
    (co-auteur de la liseuse)




Téléchargements

Go to top

Si tu n'as pas encore commis l'erreur de verrouiller ta calculatrice, c'est par ici pour en améliorer les capacités.

Installation
:


Vœux de NumWorks aux enseignants, édition 2022

New postby critor » 05 Jan 2022, 09:48

Bonne nouvelle, les vœux 2022 de
NumWorks
viennent d'être adressés aux enseignants. Si tu disposes d'un compte correctement configuré sur https://my.numworks.com/ , alors tu devrais les recevoir ces jours-ci dans ton casier. ;)

L'envoi comprend plusieurs éléments:
  • La traditionnelle carte de voeux
  • Le visuel de la coque
    collector
    macarémaths
    sous la forme de 2 autocollants.
  • Et un poster sur lequel nous allons nous attarder.
11796
Si tu n'as toujours pas réussi à récupérer / gagner la coque
macarémaths
, alors tu vas enfin pouvoir te la fabriquer toi-même en collant un de ces autocollants sur ta coque actuelle ! :D



Le poster quant à lui représente donc une calculatrice
NumWorks
traçant une superbe tête de loup dans son application
Fonctions
, apparemment entièrement constituée de morceaux de fonctions affines ! :favorite:

Peut-être que cela te fait penser à notre cher
Vincent Robert
alias , enseignant au lycée privé catholique
Louis Pasteur
à
Avignon
, qui offre justement chaque année à ses élèves de Seconde la possibilité d'illustrer leur créativité et leur talent dans le cadre du
DM n°21
"Les mathématiques sont belles"
, en réalisant donc un dessin de leur choix sur leur calculatrice
NumWorks
.

Mais nous ne trouvons pas cette œuvre dans ses fichiers, et il faut savoir que son initiative a fait bien des émules. On peut également citer :

Et bien justement la clé du mystère se trouve dans la carte de vœux. Cette tête de loup rentre donc dans ce dernier point : il s'agit d'une création de
Claire C.
, brillante élève de Seconde au lycée
Stanislas
cette année.

N'oublie pas de lui envoyer un petit mot en retour... ;)


Source
:
https://twitter.com/nsi_xyz/status/1478282550397358081

Coque NumWorks édition limitée Janvier 2022 à gagner

New postby critor » 03 Jan 2022, 08:55

13036Pour la rentrée
2019
,
NumWorks
te sortait une coque
collector
en édition limitée pour ta calculatrice, la
Macaremaths
, illustrée tout en humour et talent sur le thème des Mathématiques. :bj:

Dans le même genre
NumWorks
a renouvelé l'expérience en mieux avec une coque en édition limitée chaque mois depuis la rentrée
2020
, initiant toute une gamme d'accessoires en édition limitée à collectionner. Tu as déjà eu nombre d'occasions d'habiller ta calculatrice de façon unique au monde :
1323013229 14802 135731480014799 14801

14786Vu le succès de son calendrier, pour ce mois de
Janvier 2022
NumWorks
t'a préparé une coque toute spéciale, fêtant le passage à la nouvelle année 2022. Il s'agit d'une coque calendrier qui pourra t'être fort utile tout au long de l'année 2022 puisque tu pourras la mettre sur ta calculatrice et ainsi l'avoir toujours sous la main ! :favorite:

Tu peux dès maintenant tenter de gagner la coque sur les différents comptes sociaux du constructeur :

Pour participer et peut-être gagner, c'est très simple. Il te suffit d'ici le
31 Janvier
au plus tard, de :
  1. suivre, aimer ou t'abonner au compte du constructeur
  2. taguer ou identifier un ami ou une amie

N'hésite pas à participer sur les différents comptes sociaux, afin de maximiser tes chances. ;)

Concours de l'Avent 2021 "l'énigme des 3 portes" : jour 30

New postby critor » 30 Dec 2021, 14:00

Concours
TI-Planet
de l'
Avent 2021

L'énigme des 3 portes
:
jour n°30



Viens rassembler les indices et bouts de code
Python
chaque jour de l'Avent ; sois parmi les premiers à passer l'une des portes pour gagner de superbes cadeaux de Noël ! :favorite:

15063Je suis l', l'ultime indice du concours de l'Avent et puis te permettre de gagner une
NumWorks
. Me voici :
Code: Select all
from math import ceil

platform = ''
try: from sys import platform
except: pass

def nop(*argv): pass
show, wait = nop, nop
neg_fill_rect = False
has_color = True

try: # NumWorks, NumWorks + KhiCAS, TI-Nspire CX + KhiCAS
  import kandinsky
  fill_rect = kandinsky.fill_rect
  screen_w, screen_h = 320, 222
  neg_fill_rect = platform!='nspire' and platform!='numworks'
except:
  try: # TI
    import ti_draw
    try: # TI-Nspire CX II
      ti_draw.use_buffer()
      show = ti_draw.paint_buffer
    except: # TI-83PCE/84+CE Python
      wait = ti_draw.show_draw
    screen_w, screen_h = ti_draw.get_screen_dim()
    try: # check TI-83PCE/84+CE ti_draw 1.0 fill_rect bug
      ti_draw.fill_rect(0,0,1,1)
      def fill_rect(x, y, w, h, c):
        ti_draw.set_color(c[0], c[1], c[2])
        ti_draw.fill_rect(x, y, w, h)
    except: # workaround
      def fill_rect(x, y, w, h, c):
        ti_draw.set_color(c[0], c[1], c[2])
        ti_draw.fill_rect(x - 1, y - 1, w + 2, h + 2)
  except:
    try: # Casio Graph 90/35+E II, fx-9750/9860GIII, fx-CG50
      import casioplot
      casioplot.set_pixel(0, 0, (0, 0, 255))
      col = casioplot.get_pixel(0, 0)
      has_color = col[0] != col[2]
      screen_w, screen_h = has_color and (384, 192) or (128, 64)
      show = casioplot.show_screen
      def fill_rect(x, y, w, h, c):
        for dy in range(h):
          for dx in range(w):
            casioplot.set_pixel(x + dx, y + dy, c)
    except:
      try: # HP Prime
        import hpprime
        screen_w, screen_h = hpprime.grobw(0), hpprime.grobh(0)
        hpprime.dimgrob(1, screen_w, screen_h, 0)
        def col3_2_rgb(c, bits=(8,8,8), bgr=1):
          return c[2*bgr]//2**(8 - bits[0]) + c[1]//2**(8 - bits[1])*2**bits[0] + c[2*(not(bgr))]//2**(8-bits[2])*2**(bits[0] + bits[1])
        def fill_rect(x, y, w, h, c):
          hpprime.fillrect(1, x, y, w, h, col3_2_rgb(c), col3_2_rgb(c))
        def show():
          hpprime.strblit(0, 0, 0, screen_w, screen_h, 1)
        def wait():
          while hpprime.keyboard(): pass
          while not(hpprime.keyboard()): pass
      except:
        pass
if not neg_fill_rect:
  _fill_rect = fill_rect
  def fill_rect(x, y, w, h, c):
    if w < 0:
      x += w
      w = -w
    if h < 0:
      y += h
      h = -h
    _fill_rect(x, y, w, h, c)

def draw_image(rle, x0, y0, w, pal, zoomx=1, zoomy=1, itransp=-1):
  if not has_color:
    pal = list(pal)
    g_min, g_max = 255, 0
    for k in range(len(pal)):
      c = pal[k]
      g = 0.299*c[0] + 0.587*c[1] + 0.114*c[2]
      g_min = min(g_min, g)
      g_max = max(g_max, g)
      pal[k] = g
    for k in range(len(pal)):
      pal[k] = pal[k]<(g_min + g_max) / 2 and (0,0,0) or (255,255,255)
  i, x = 0, 0
  x0, y0 = int(x0), int(y0)
  nvals = len(pal)
  nbits = 0
  nvals -= 1
  while(nvals):
    nvals >>= 1
    nbits += 1
  maskval = (1 << nbits) - 1
  maskcnt = (0xFF >> nbits >> 1) << nbits
  while i<len(rle):
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if (v & 0b10000000 or nbits == 8):
      i += 1
      c |= rle[i] << (7 - nbits + (nbits == 8))
    c = (c + 1)
    while c:
      cw = min(c, w - x)
      if mv != itransp:
        fill_rect(x0 + x*zoomx, y0, cw*zoomx, zoomy, pal[mv])
      c -= cw
      x = (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1

palettes = (
  (
    (247,176,36),(247,207,73),(231,89,0),(247,131,8),
  ),
)
images = (
  (
    b"\b\x05\n?\n\x05\x18\x05\n7\n\x05\x20\x05\n/\n\x05(\x05\n'\n\x050\x05\n\x1f\n\x058\x05\n\x17\n\x05@\x05\n\x0f\n\x05H\x05\n\a\n\x05P\x05\x16\x05X\x05\x0e\x05`\x05\x06\x05d\a\x06\a`\a\x02\x04\x02\aX\a\x02\x0c\x02\aP\a\x02\x04\a\x04\x02\aH\a\x02\x04"
    b"\x0f\x04\x02\a@\a\x02\x04\x17\x04\x02\a8\a\x02\x04\x1f\x04\x02\a0\a\x02\x04'\x04\x02\a(\a\x02\x04/\x04\x02\a\x20\a\x02\x047\x04\x02\a\x18\a\x02\x04?\x04\x02\a\x10\a\x02\x04G\x04\x02\a\b\a\x02\x04O\x04\x02\a\x00\a\x02\x04W\x04\x02\x0b\x02\x04_\x04"
    b"\x02\x03\x02\x04g\x04\x0eg\n\x01\n_\n\t\nW\n\x05\x00\x05\nO\n\x05\b\x05\nG\n\x05\x04"
  ),
)
for y in range(ceil(screen_h / 32)):
  for x in range(ceil(screen_w / 32)):
    draw_image(images[0], x*32, y*32, 32, palettes[0])
show()

palettes = (
  (
    (7,97,182),(55,139,223),(99,176,247),(141,216,247),
  ),
)
images = (
  (
    b"\x80\x01!\x14!\x18\x1e\x19\x1e\x19\x06\x17\x1a\x1f\x1a\x1f\x1a\x1f\x1a\x17\x06\x19\x1e\x19\x1e\x18!\x14!\x80\x01"
  ),
)
for x in range(ceil(screen_w / 16)):
  draw_image(images[0], x*16, screen_h-16, 16, palettes[0])
show()

palettes = (
  (
    (239,89,107),(247,207,81),(0,0,0),(182,26,36),(239,97,0),(0,0,0),
  ),
)
images = (
  (
    b"\xc0\x011\xc0\x01\x02)\xc0\x01\x03\x02!\xc0\x01\x0b\x02!\xc0\x01\x0b!\xc8\x011\xc0\x011\xb8\x01!\x021\x90\x01\x11\n\x03)\x02\x88\x01\t\n\x13!\x02\x03\x88\x01\n#\x19\x02\x0b\x88\x01+\x00\x19\x0b\x90\x01\x1b\x10!\x98\x01\x0b\x20!\xd0\x01\x02!\xc8\x01"
    b"\x03\n\x11\xc8\x01\x13\n\t\xc0\x01#\n\xe8\x01\x0b\xb8\x02\tX\x13p\t@+h\x19\x18Kh\x19[Pi#\x18C\x02Y\x02\x0b0K\x02I\x02\x03@S\x029\x02\x03(\xfb\x009\x03\x20\x1b\b3\x18I\x18\x13pI\b\x1b\x18\x03H!\n!\x1b\x18\x0bH\x11\n\x0b\n\x11\x13\x20\x03\x04@\t\n+\n"
    b"\t\x03\x20\x0b\x04@\nK\n(\x0b\x04@c(\x13\x04\x018[0\x0b\x0c\x01(c0\x13\x0c\t\x83\x010\x1b\x0c\ts@\x13\x141;H\x1b\x14)\x02+P\x1b\x1c!\x02\x1b`#\x1c\x19\x02\x0bp#\x1c\x05\x19\x80\x01+\x14\r!p+\x1c\r!h+\x1c\x15\x02!X+$\x15\x03\n\x11P+$\x1d\x13\n\t83,"
    b"\x1d#\n(;,%\x00+\x10K,-\x10\xfb\x00,5\x8b\x01,=\xfb\x004Ek<M[DUCT]#dm\xfc\x00\xfd\x00\x01d\x8d\x01\tL\x9d\x01\x04\t,\xb5\x01\x0c\t\x14\xc5\x01"
  ),
)
for x in range(ceil(screen_w / 64)):
  draw_image(images[0], x*64, 0, 32, palettes[0], 1, 1, 5)
  draw_image(images[0], (x+1)*64, 0, 32, palettes[0], -1, 1, 5)
show()

def draw_rect_z(x, y, w, h, c, z=1):
  for dy in (0, h - 1):
    fill_rect(x, y + dy*z, w*z, z, c)
  for dx in (0, w - 1):
    fill_rect(x + dx*z, y, z, h*z, c)

def qr_mark(x, y, s, c, z=1):
  draw_rect_z(x, y, s, s, c, z)
  fill_rect(x + 2*z, y + 2*z, (s - 4)*z, (s - 4)*z, c)

palettes = (
  (
    (0,0,0),(247,172,107),(133,71,73),(157,114,18),(207,147,55),(247,247,247),
  ),
  (
    (0,0,0),(36,35,36),(198,0,18),(247,26,55),(157,0,0),(231,97,81),(239,147,90),(247,183,133),(55,114,167),(247,247,247),(72,155,207),(36,71,133),(166,80,0),(239,199,45),(223,131,45),
  ),
  (
    (0,0,0),(0,0,0),(255,183,45),(255,255,247),(255,216,141),
  ),
  (
    (0,0,0),(0,0,0),(27,58,157),(157,172,215),(247,251,247),
  ),
  (
    (0,0,0),(223,41,45),
  ),
)
images = (
  (
    b"\x80\x01a\x02\b\x01[\x02\b\x01\x03\x19\x0b\x19\x03\x02\b\x01\x03\x01\x0b\x01\x0b\x01\x0b\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03"
    b"\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x19\x0b\x19\x03\x02\b\x01[\x02\b\x05Y\x02\b\x01\\\x02\b\x01\r\x03\x14\x01$\x02\b\x01\r\x02\x0c\x01\x0c\x01\x14\x02\b\x01\x03\n\x04\x01\x0c\x01\x1c\x02\b"
    b"\x01\x13\x04\x0b\x04#\x02\bj\b\x01[\x02\b\x01\x03\x19\x0b\x19\x03\x02\b\x01\x03\x01\x0b\x01\x0b\x01\x0b\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01"
    b"\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x01\x0c\x01\x0b\x01\x0c\x01\x03\x02\b\x01\x03\x19\x0b\x19\x03\x02\b\x01[\x02\bj\x80\x01"
  ),
  (
    b"\xe0\n1\x90\x01\x11\x02#\x01\xf0\x00\x01\x04\"\x13\x01`\x01\x04\"Q0\x01$\x81\x01\x20\x01\x14\x11E\x11\x20A\x05\x16\x01\x06\x110\x01\x16\x11\x05\x16\x01\x06!\x20\x01\x16!\x056\x17\x01\x10\x01\x05\x06\x05\x01\x05\x06\x01\x15&\x01\x20\x01%\x061\x15!"
    b"\x20\x11\x15\x16A0\x11\b\x01E\x01@\x01\x04\x02\x01\bAP\x01\x12\x03!\x04\x03\x11\x00\x01\x10\x01\x04\x02\x03\x01&\x01\x04\x03\x11\x06\x01\x00\x01\x04\x02\x01\x05\x06\x17\x06\x01\x04\x02\x01\x05\x01\x00\x01\x14\x01\x15&A\x10\x11\x14\x01%\x01\t\x1a\t"
    b"\x01\x20!\x0b!\x19\x1a\t\x01\x20\x01+\x18\n\b*\b\x010\x01\x0b\x18\n\b\x0b8\x11\x10\x01\x0c\x01\x0b\x18\x0b\x01\x1b\b\x01\r\x0e\x01\x00\x01\x0c\x01+\x01\x00\x01\x0b\x01\r\x0e\x0c\x01\x00\x01\x0c\x0e!\x20\x01\x1e\x0c\x01\x20\x01\x0c\x1e\x0c\x01\x10"
    b"\x01\x1c\x01@A\x20\x11\x20"
  ),
  (
    b"\x80\x01i\x00\x01j\tj\t\x12\x03\x04\x1a\x04\x03\x12\t\x12\x0b\x04\x12\x04\x03\x12\t\x12\x13\x12\x04\x03\x12\t\x12\x03\x04\x0b\n\x04\x03\x12\t\x12\x03\x0c\x03\x04\x02\x04\x03\x12\t\x12\x03\x04\x02\x04\x03\x0c\x03\x12\t\x12\x03\x04\n\x0b\x04\x03\x12"
    b"\t\x12\x03\x04\x12\x13\x12\t\x12\x03\x04\x12\x04\x0b\x12\t\x12\x03\x04\x1a\x04\x03\x12\tj\tj\x01"
  ),
  (
    b"\x80\x01i\x00\x01j\t\n\x0b,\x0b\n\t\x02\x03T\x02\t\x02\\\x03\t\x03\x14\x03\"\x14\x03\t\x03\x14J\t\x03\x14J\t\x03\x14J\t\x03\x14*\x14\x03\t\x02\x14+\x14\x03\t\x02\x03T\x03\t\n\x03D\x03\x02\t\x1a3\x12\tj\x01"
  ),
  (
    b"\x06\a\x16\a\x02\x03\x0e\a\x16\t\x00\x01\x00\x05\b\t\x00\x01\x00\x05\b\a\x00\x03\x02\x03\x00\r\x02\x03\x00\a\x00\r\x00\x01\x00\t\x02\x0b\x00\x01\x00\t\x02\x0b\x00\x01\x00\t\x04\x03\x00\x03\x06\x05\x0e\x01\x04\x03\x12\t\x16\a\x16\x05\x1a\x05\x06"
  ),
)
for j in range(-1, 2, 2):
  for i in range(1, 3):
    x = screen_w//2 - j*(screen_w * i // 6)
    if i+j != 3:
      qr_mark(x - 7, screen_h - 15, 7, [(k + 2) % 3 == i + j and 255 or 0 for k in range(3)], 2)
      show()
      draw_image(images[2 + i + j], x - 8, screen_h - 64, 16, palettes[2 + i + j], itransp=0)
      show()
    draw_image(images[i+j == 3], x - 8, screen_h - 48, 16, palettes[i+j == 3], itransp= i+j!=3 and -1)
    show()

palettes = (
  (
    (0,0,0),(0,0,0),(190,232,247),(190,97,0),(231,139,18),(157,199,239),(247,247,247),(247,176,64),(149,54,0),(133,172,207),
  ),
)
images = (
  (
    b"Q\x061\x05\xc1\x02\x19\x01\t\x01\x16\x11\x02\x05\x01\t\x01\x19\x01\t\x01\x89\x01\x01\t\x11\x15\x01\x05\x01\x16\x11\x02\x05\x01\x05\x01\x15\x01\x05\x01\x85\x01\x01\x05\x11\x12!\x16\x11\x02\x05!\x12\x01\x05\xa1\x01\x05\x11\x12\x01\b\x01B\x05\x01\b\x01\x12"
    b"\x01\x05\x01\x88\x01\x01\x05\x11\x16\x01\x18Q\x18\x01\x16\x01\x05\x01\x88\x01\x01\x05\x11\x12\x01\b\x03h\x04\x01\x12\x01\x05\x01\x88\x01\x01\x05\x11\x16\x01\bc\x14\x01\x16\x01\x05\x01h\x03\b\x01\x05\x11\x16\x01\bS$\x01\x16\x01\x05\x01X\x13\b\x01\x05\x11"
    b"\x12\x01\bC$\x03\x01\x12\x01\x05\x01H#\b\x01\x05\x11\x16\x01\b3$\x13\x01\x16\x01\x05\x018#\x18\x01\x05\x11\x12\x01\x98\x01\x01\x12\x01\x05\x01\x88\x01\x01\x05\x11\x12\xb1\x01\x12\x01\x05\xa1\x01\x05\x11\x12\x01\x19\x05b\x01\x12\x01\x05\x01e\x19\x01\x05"
    b"\x11\x12\x01\x19\x05b\x01\x12\x01\x05\x01e\x19\x01\x05\x81\x04"
  ),
  (
    b"P\xb1\x02\x90\x01\x11\x12\x11\xf4\x00\x01\x12\x11%\x11`\x01\x16\x11\x04\xf7\x00\x01\x16\x01\x15!\x15\x01@\x01\x16\x01\x04\x87\x01\x01\x16\x01\x05\x11(\x11\x05\x010\x01\x16\x01\x04\x87\x01\x01\x16\x01\x05\x01H\x01\x05\x01\x20\x01\x16\x01\x03\x84\x01\x01"
    b"\x16\x01\x05\x01h\x01\x05\x01\x10\x01\x16\x01\x03\x84\x01\x01\x16\x01\x05\x01h\x01\x05\x01\x10\x01\x16\x01\x03\x84\x01\x01\x16\x01\x05\x01h\x01\x05\x01\x00\x01\x12\x01\b\x83\x01\x01\x12\x01\x05\x01h\x03\b\x01\x05\x11\x16\x01\b\x83\x01\x01\x16\x01\x05"
    b"\x01X\x13\b\x01\x05\x11\x16\x01\b\x83\x01\x01\x16\x01\x05\x01H#\b\x01\x05\x11\x12\x01\b\x83\x01\x01\x12\x01\x05\x018#\x18\x01\x05\x11\x16\x01\b\x03Q\b\x03\x01\x16\x01\x05\x01(#(\x01\x05\x11\x12\x01\b\x01&\x12\x05\x01\b\x01\x12\x01\x05\x01\x18#8\x01\x05"
    b"\x11\x12\x01\b\x01\x16\x11\x02\x05\x01\b\x01\x12\x01\x05\x01\b#(\x03\b\x01\x05\x11\x15\x01\b\x01\x061\x05\x01\b\x01\x15\x01\x05\x01\x88\x01\x01\x05\x01"
  ),
  (
    b"P\xc1\x02\x80\x01\x11\x12\x01\x03\x84\x01\x01\x12\x11%\x11P\x01\x16\x01\x14\x87\x01\x01\x16\x01\x15!\x15\x01@\x01\x16\x01\x04\x97\x01\x01\x16\x01\x05\x01(\x01\x05\x010\x01\x16\x01\x04\x97\x01\x01\x16\x01\x05\x01H\x01\x05\x01\x20\x01\x16\x01\x03\x94\x01"
    b"\x01\x16\x01\x05\x01H\x01\x05\x01\x20\x01\x12\x01\x03\x94\x01\x01\x12\x01\x05\x01H\x01\x05\x01\x20\xa1\x02\x05\x01X\x01\x05\x01\x20\x01\x89\x02\x11X\x01\x05\x010\x01\t\xe1\x01\t\x11H\x01\x05\x01@\x01\t\xe1\x01\t\x118\x01\x05\x01P\x01\t\xe1\x01\t\x11("
    b"\x01\x05\x01P\x91\x02\t\x11\x18\x01\x05\x01@\x01&\x12\x05\xc1\x01\t\x11\b\x01\x05\x01@\x01\x16\x11\x02\x05\xd1\x01\t!\x05\x01@\x01\x061\x05\xe1\x01\t\x11\x05\x01"
  ),
)
for i in range(2):
  draw_image(images[-i], screen_w//2-16, screen_h-32-16*i, 32, palettes[0], itransp=0)
show()

def qr_size(v):
  return 17 + 4*v

qr_ver = 3
qr_margin = 4
qr_size_code = qr_size(qr_ver)
qr_size_code_margin = qr_size_code + 2*qr_margin + 4
qr_zoom = max(1, min(screen_w // qr_size_code_margin, (screen_h - 128) // qr_size_code_margin))
qr_size_code_margin -= 4
qr_width = qr_size_code_margin * qr_zoom
x_qr = (screen_w - qr_width) // 2
y_qr = (screen_h - qr_width) // 2
for k in range(1, 3):
  draw_rect_z(x_qr - k*qr_zoom, y_qr - k*qr_zoom, qr_size_code_margin + 2*k, qr_size_code_margin + 2*k, k > 1 and (0, 0, 0) or (255, 255, 255), qr_zoom)
qr_margin *= qr_zoom
fill_rect(x_qr, y_qr, qr_width, qr_width, (0,64,64))

def qr_alignments(v):
  s = qr_size(v)
  positions = []
  n = v // 7 + 2
  first = 4
  positions.append(first)
  last = s - 5 - first
  step = last - ((first + last*(n - 2) + (n - 1)//2) // (n - 1) & -2)
  second = last - (n - 2) * step
  positions.extend(range(second, last + 1, step))
  return positions

def qr_frame(v, x, y, c, z=1):
  s = qr_size(v)
  l = (0, s - 7)
  for dy in l:
    for dx in l:
      if not dx or not dy:
        qr_mark(x + dx*z, y + dy*z, 7, c, z)
  for i in range(8, s-8, 2):
    fill_rect(x + i*z, y + 6*z, z, z, c)
    fill_rect(x + 6*z, y + i*z, z, z, c)
  l = qr_alignments(v)
  for dy in l:
    for dx in l:
      if not (dy < 8 and (dx < 8  or dx > s - 10) or dx < 8 and dy > s - 10):
        qr_mark(x + (dx - 0)*z, y + (dy - 0)*z, 5, c, z)

qr_frame(qr_ver, x_qr + qr_margin, y_qr + qr_margin, (255,255,255), qr_zoom)

palettes = (
  (
    (0,0,0),(255,255,255),
  ),
  (
    (0,0,0),(255,255,255),
  ),
  (
    (0,0,0),(0,0,255),
  ),
  (
    (0,0,0),(255,0,0),(255,0,255),
  ),
  (
    (0,0,0),(255,255,0),(0,255,0),(0,255,255),
  ),
)
images = (
  (
    b"\x1e\x01\x02\x03,\x05\x02\x012\x014\x014\x01\x00\x056\x01n\x030\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x20\a\x00\a\x04\x01\x1a\a\x02\x03\x02\x01\"\x01\x00\x01\x00\x05\x02\x01\x00\x01\x00\x01\x1c\x01\x00\x03\x0c\x03\x1e\x05\x02\x0b\x04\x01\x1c"
    b"\x01\n\x01\x00\x05&\x03\x00\x03\x00\x01\x02\x01$\x01\x00\x01\x02\x01\x00\x03\"\x01\x02\x0b\x00\x01\x00\x01\x1c\x03\x00\x01\x00\x01\x02\x03\x00\x01\"\x01\x00\x05\n\x01\x1c\x01\x00\x01\x00\x03\n\x05\x1c\x03\x0e\a\x1c\x01\x02\x03\b\x03$\x05\x0c\x032"
    b"\x05\x1c\x01\x00\x03\x00\x01\x06\x03\x20\x01\x00\a\x00\x0b\x1e\x03\x00\x01\x00\x01\x04\x03\x00\x01\x1e\x03\x00\x01\x02\x01\x00\a\x02"
  ),
  (
    b"\x16\x01\x00\x01*\x01\x04\x038\x01*\x01\x06\x01f\x01\n\x01n\x01\x1a\t\x02\x03\b\x01$\x01\x02\x01:\x01^\x01\x0c\x01(\x01<\x01\x00\x01\b\x01\"\x01\x0c\x01:\x01\x00\x01\x18\x01\x02\x01\x00\x01\x04\x01\x02\x01\x1e\x01\x14\x01\x1e\x016\x01\n\x018\x01"
    b"\x02\x01\x00\x01,\x03\x02\x016\x01.\x01\x06\x03*\x01\x06\x01,\x016\x016\x01\x00\x01\""
  ),
  (
    b"J\x018\x01\x00\x01\x02\x01*\x03\x04\x030\x03.\x01\x00\x01\x06\x01f\x012\x03\x00\x03\x00\x01\x18\x01\x0e\x03\x00\x03&\x01\x04\x01\x04\x01$\x01\x06\x01\x00\x03\"\x01\x02\x01\x02\x01\x04\x01,\x03\x04\x03\x1c\x01\x02\x01\x06\x01\x00\x01\x04\x01$\x01"
    b"\x06\x01\x04\x010\x03,\x01.\x05\x04\x01(\x05\x04\x01\x00\x01&\x01\x00\x03\n\x012\x01\x04\x010\x01\x00\x01\x02\x01(\x03\x02\x05*\x01\x02\x010\x01\x02\x01\x00\x01,\a\x00\x01,\x058\x01\x1e"
  ),
  (
    b"\x20\x01\x00\x01\x00\x01\x00\x01h\x01`\x01\b\x02T\x02\x04\x01`\x01\x0c\x01X\x02\x01\x00\x01\x00\x01\xcc\x01\x05\x0c\x05P\x02\x04\x02\x04\x02\x010\x05\x00\x01\x14\x01\x04\x014\t\x00\x01\x14\x05<\x05$\x02D\x02\x05\x04\x01\x04\x01\x00\x02\x01H\x01\x04"
    b"\x06L\x02\x18\x02\x01\x00\x01@\x01\x00\x01\x10\x01\b\x01<\x01\x04\t\x00\x01\x00\x05\x06\b\x014\x01l\x01\x18\x01L\x02\x04\x01\x14\x01H\x01\x02\x0c\x01\b\x01\\\x01\x04\x01\x00\x02\\\x01\b\x01\x00\x02P\x02\x10\x02`\x02l\x02`\x06p\x02\tX\x01\x04\x02<"
  ),
  (
    b"\x20\x01\x02\x01\x00\x01\x00\x01X\x02\b\x01X\x02\x03\x01\x0c\x02X\x02\x01\x04\x03\x02P\x01\x02\b\x01l\x01\xcc\x01\x05\x03\x02\b\x01\xc4\x01\a\x01\x03\x00\x014\t\x00\x01\x03\x00\x02\x00\x03L\x01\x02\x04\x02\x00\x02\x00\x03\x02x\x01D\x02\x01\x0c\x02\x00"
    b"\x02\x03L\x02\x0c\x01\x14\x02,\x01\x02\x01\x00\x02\b\x01\x02\x03\x00\x01\b\x02,\x01\x06\x01\x0c\x02\x00\x01H\x02\x04\x02\x04\x03\x04\x06\x04\x02D\x03\b\x02\x03X\x03\x01\x00\x02\x00\x02\x03\x02\x01P\x03\b\x01\b\x01\xe4\x01\x01l\x03\x00\x02h\x06X\x02t\x02"
    b"\x03X\x03\x04\x01`\x01\b\x028"
  ),
)

for k in range(len(images)):
  draw_image(images[k], x_qr + qr_margin, y_qr + qr_margin, qr_size_code, palettes[k], zoomx=qr_zoom, zoomy=qr_zoom, itransp=0)
show()
wait()

Lien
:
lots et ressources

Bêta-test public NumWorks v17.1 : nouveautés haut de gamme !

New postby critor » 21 Dec 2021, 13:34

14980Mi-novembre,
NumWorks
nous lançait le bêta-test public de la prochaine mise à jour en version
17
de sa calculatrice.

Il s'agit donc de la première mise à jour majeure suite au verrouillage installé sur les calculatrices par la version
16
, étant elle-même l'aboutissement d'une année 2020-2021 qui dénotait des précédentes de par la pauvreté des nouveautés apportées à la calculatrice.

Une mise à jour à scruter avec attention. En effet maintenant que le verrouillage ne vampirise plus l'essentiel de la capacité de développement de l'entreprise, on pouvait espérer un changement, un retour aux bonnes habitudes de la période 2017-2020 et même davantage, histoire de compenser la disparition de toutes les fonctionnalités non officielles dont le verrouillage interdit l'installation.

Aujourd'hui nouvelle étape dans le bêta-test,
NumWorks
nous sort une nouvelle version
17.1.0
.

Dans un premier temps nous allons traiter des changements spécifiques à cette dernière version. Dans un second temps nous rappellerons les autres nouveautés déjà apportées par la version précédente
17.0.0
.



Sommaire





A1) Appli Fonctions

Go to top

L'application
Fonctions
bénéficie avec cette version
17
d'une refonte majeure pour le meilleur.

Jusqu'à la version
16
pour définir les fonctions à étudier, tu pouvais basculer au choix entre 3 formes de saisie à compléter :
  • $mathjax$f(x)=…$mathjax$
    pour les fonctions cartésiennes
  • $mathjax$f(θ)=…$mathjax$
    pour les fonctions polaires
  • $mathjax$f(t)=\left[\begin{array}{}…\\…\end{array}\right]$mathjax$
    pour les fonctions paramétriques
Notons qu'un gros avantage de la
NumWorks
par rapport à la concurrence de milieu de gamme des
TI-82/83
était comme illustré ci-contre et comme chez
Casio
, la possibilité de travailler simultanément sur des fonctions de différents types.

Avec la version
17
ce choix disparaît dans le sens où la forme de saisie devient totalement libre, tu contrôles intégralement la relation saisie.

La calculatrice détecte automatiquement le type pertinent de fonction ou courbe correspondant à ta relation saisie, et te l'indique même en-dessous.

Cela te permet de saisir les relations sous d'autres formes, soit de plus en plus souvent directement la forme de l'énoncé minimisant ainsi le risque d'erreur ! :bj:

Tu peux par exemple opter pour la forme
$mathjax$y=…$mathjax$
ou même pour toute relation fonction de
x
et
y
.

Cela permet à ta calculatrice d'identifier les relations ayant des représentations graphiques remarquables comme des droites, précisant même dans ce cas si elles sont horizontales ou verticales. Oui en passant, avec la version
17
les droites verticales deviennent donc enfin traçables sur
NumWorks
! :bj:

Dans le cas où la calculatrice identifie la relation en tant que droite ni horizontale ni verticale, il t'est possible de demander des détails et obtenir ainsi coefficient directeur et ordonnée à l'origine.

Ne crois pas que la forme entièrement libre implique forcément une saisie plus longue ou fastidieuse ;
NumWorks
a trouvé la parade. En effet lorsque tu choisis d'ajouter une nouvelle relation à étudier, la calculatrice t'offre la possibilité de choisir parmi une liste d'exemples de relations couvrant les différents types remarquables de fonctions et courbes. Tu peux donc en fonction de tes besoins soit choisir la forme vide et tout saisir toi-même, soit partir d'un des exemples proposés et le modifier.

Puisque la forme de saisie est maintenant totalement libre, le vaste univers des coniques s'offre maintenant à nous.

Nous avons par exemple pour commencer les paraboles. Lorsque la calculatrice détecte une courbe de type parabole, il t'est ici aussi possible de demander quelques détails qui pourront t'être utiles pour son étude : paramètre et coordonnées du sommet.

Sont également reconnues et gérées, les hyperboles. Dans ce cas les détails calculés automatiquement sont bien riches :
  • distance centre-sommet
  • demi axe conjugué
  • distance centre-foyer
  • excentricité
  • coordonnées du centre

On pouvait déplorer toutefois que la version
17.0
n'arrivait pas à identifier certaines formes d'équations d'hyperboles, et refusait alors de les tracer.

Par exemple
$mathjax$x\times y=3$mathjax$
et
$mathjax$y=\frac{3}{x}$mathjax$
sont traçables, mais pas
$mathjax$x=\frac{3}{y}$mathjax$
.

C'est malheureusement toujours le cas avec cette version
17.1
.


Sont égalements supportées les équations d'ellipses et donc entre autres de cercles. Dans le cas général des ellipses, les détails d'étude pouvant être obtenus sont :
  • demi grand axe
  • demi petit axe
  • distance centre-foyer
  • excentricité
  • coordonnées du centre

Dans le cas particulier du cercle, les détails récupérables sont :
  • rayon
  • coordonnées du centre

Les cas particuliers dégénérés des ellipses
(point)
, paraboles
(droite)
et hyperboles
(couple de droites sécantes)
ne sont certes pas identifiés mais restent pour autant traçables.

Ce qu'il y a d'excellent jusqu'à présent, c'est que les coniques ne nécessitent pas de lancer une application dédiée mais soient étudiables directement dans la même application que les fonctions, bénéficiant ainsi d'une interface commune et nécessitant ainsi moins d'efforts de prise en main ! :bj:

Cela va peut-être te surprendre, mais sur le milieu de gamme toute concurrence confondue, c'était impossible jusqu'à ce jour.
NumWorks
nous sert à nouveau une solution haut de gamme toujours au prix du milieu de gamme ! :D

Mais crois-tu avoir tout vu ? Oh que non jusqu'à présent ce n'était rien, juste des cas particuliers avec les axes de coniques parallèles aux axes du repère, correspondant aux possibilités de modèles de milieu de gamme concurrents.

Or il se trouve que
NumWorks
va bien plus loin que ça et gère le cas général, contrairement à toute la concurrence de milieu de gamme,
Casio/TI
réservant ces capacités aux seuls modèles haut de gamme. Une fois de plus félicitations
NumWorks
pour les rendre ainsi bien plus accessibles ! :bj:


Voilà, cela semble être à peu près tout à ce jour pour les familles de formes traçables. Notons quand même la possibilité de tracer quelques autres relations n'étant pas des coniques, dans le sens où elles ne correspondent pas à la section d'un cone de révolution par un plan. La version
17.0
accepte par exemple la forme
$mathjax$y^2=k$mathjax$
.
Bizarrement toutefois, la forme similaire
$mathjax$x^2=k$mathjax$
n'était à la différence pas traçable.

Et bien justement nouveauté de la version
17.1
, la forme
$mathjax$x^2=k$mathjax$
est maintenant reconnue et traçable ! :bj:

Mais nous n'en avons pas terminé pour autant. Jusqu'à présent nous n'avons traité que des égalités. Mais les inégalités sont également gérées, et l'on peut donc enfin les représenter graphiquement avec la version
17
! :bj:

On apprécie même dans ce cadre la distinction visuelle entre les représentations d'inégalités strictes et non strictes.

L'écran couleur est ici un formidable atout, permettant d'identifier facilement la réunion ou intersection de ces différents ensembles de points.

A priori on pouvait s'attendre à quelque chose d'extrêmement simpliste comme chez la concurrence de milieu de gamme, ne faisant que colorier la zone supérieure ou inférieure à la frontière de l'ensemble.

Mais en fait non c'est bien plus poussé que ça. Mis à part le petit manque que nous venons de pointer, les représentations d'inégalités sont possibles dans le cadre de l'ensemble des autres formes que nous avons couvertes précédemment, et donc entre autres des coniques ! :bj:

Encore une fois
NumWorks
casse complètement les codes en nous offrant une fonctionnalité aussi poussée sur le milieu de gamme ! :D

Avec la version
17.0
, les inéquations ne faisant pas intervenir
y
ne pouvaient pas être tracées.

Chose fort dommage, des choses du genre
$mathjax$x<5$mathjax$
sont pourtant très fréquentes dans les exercices.

Par exemple pour une activité d'approche ou de mise en application du calcul intégral, ou encore des problèmes d'optimisation.
Et justement, nouveauté de la version
17.1
, les inéquations de la forme
$mathjax$x\leq k$mathjax$
ou
$mathjax$x^2\leq k$mathjax$
deviennent traçables ! :bj:

Comme illustré par une partie des captures d'écran précédentes et toujours dans un soucis de précision minutieuse dans l'usage des termes et symboles mathématiques, suite à toutes ces nouvelles possibilités,
NumWorks
renomme l'onglet de saisie
Fonctions
en
Expressions
avec cette version
17.1
.

Une superbe capacité déjà présente sur la
NumWorks
en version
16
dans le cadre des représentations graphiques de fonctions, c'est la détermination automatique de la fenêtre graphique la plus pertinente, tentant de rendre visible l'ensemble des éléments remarquables.
Il y avait toutefois un problème qui pouvait arriver lorsque l'on demandait un calcul intégral à partir de la représentation graphique.

En effet la barre d'informations en bas d'écran doublait alors de hauteur, et pouvait alors masquer des éléments remarquables de la représentation graphique, un axe, voir même l'interprétation graphique du résultat.

Bien embêtant, d'autant plus qu'à l'écran en question il était impossible de corriger les bornes de la fenêtre sans effacer le calcul et sa représentation.
Et bien
NumWorks
a corrigé la chose en version
17
, la fenêtre graphique affichée tenant maintenant compte du changement de hauteur de la barre d'informations ! :bj:

C'est même plus général que cela, les bornes optimales de la fenêtre sont recalculées en permanence, même par exemple lorsque tu positionnes les bornes de l'intégrale.




A2) Appli Paramètres

Go to top

Passons maintenant à l'application
Paramètres
.

Changement appréciable avec la version
17
, l'unité d'angle par défaut passe du degré au radian.

D'origine ou en cas de réinitialisation, la calculatrice est donc immédiatement prête à travailler en radians en Mathématiques ou à tracer des courbes de fonctions trigonométriques. :bj:

Un nouveau menu permet enfin de réinitialiser la calculatrice sans avoir à manipuler le bouton
reset
au dos.

Alternative bien pratique pour les situations où tu n'auras pas d'outil suffisamment fin sous la main.

Passons maintenant au mode examen car là il y a des changements importants. Jusqu'à la version
16
, la
NumWorks
disposait de 2 modes examen. Leur accessibilité dépendait de la zone géographique réglée :
  • mode examen
    NL
    pour le seul réglage de la zone sur les
    Pays-Bas
    : clignotement de la diode examen en orange + efface le contenu mémoire + interdit l'application
    Python
    + désactive le moteur de calcul exact
  • mode examen par défaut pour tous les réglages de zone : clignotement de la diode examen en rouge + efface le contenu mémoire
    (aucun blocage de fonctionalité)

Avec la version
17
, il t'est désormais possible d'accéder à l'ensemble des modes examen disponibles en réglant la zone sur
International
. Bien pratique pour les étudiants des établissements internationaux
(Écoles européennes, établissements français du réseau
AEFE
, ...)
soumis donc à une réglementation qui n'est pas celle du pays hôte.

L'occasion de découvrir que la version
17.0
rajoutait 2 nouveaux modes examen :
  • mode examen
    IB
    dédié au
    Baccalauréat International
    pour un réglage de la zone sur
    International
    : pas de clignotement de la diode examen + efface le contenu mémoire + interdit le calcul vectoriel + désactive les résultats additionnels dans l'applications
    Calculs

  • pas de clignotement de la diode examen + mode examen
    Press-to-test
    pour un réglage de la zone sur
    Etats-Unis
    : efface le contenu mémoire + permet au surveillant/enseignant qui active le mode de choisir les fonctionnalités à interdire
    (application
    Equations
    , tracé d'inéquations, courbes implicites, informations suite aux régressions, calcul vectoriel, logarithme de base a, opérateur de sommation)

Et bien ce n'est pas terminé, la version
17.1
poursuit les gros changements avec déjà un nouveau mode examen
PT
dédié au Portugal.

Comme quoi
NumWorks
n'est pas rancunier après le camouflet infligé par l'Institution portugaise en mars 2021, à savoir :
  • le refus d'approuver la calculatrice
    NumWorks
    pour les examens de la session 2021
  • après des communications pourtant contraires dans la presse à la rentrée 2020
  • jetant de plus l'opprobre sur le constructeur sans le nommer mais de façon suffisamment précise en accompagnant la liste de modèles approuvés d'une motivation incriminant la possibilité d'installer des fonctionnalités de calcul formel sur de nouveaux modèles testés
    (la
    NumWorks
    étant le seul modèle récent absent des versions précédentes de la liste, aucun doute possible)
    , l'une des raisons qui a conduit au verrouillage de la version
    16
  • en plus de ne pas approuver la
    NumWorks
    au niveau national, tentative d'empêcher également son autorisation à l'échelon local comme jamais vu auparavant, avec la publication d'une interdiction discriminatoire et possiblement illégale des calculatrices développées en
    open source
    , interdiction heureusement retirée depuis

Nous n'avons pas trouvé à ce jour de différence fonctionnelle avec le mode examen
FR
de la France. La seule différence est qu'ici la diode clignote non pas en rouge mais en vert.

Changement pour les modes examen
NL
et
IB
avec cette version
17.1
. La gestion des unités ainsi que la bibliothèque de constantes physiques sont maintenant désactivées.

Autre changement également mais pour le seul mode examen
IB
. Dans l'application
Probabilités
, l'accès à l'écran d'interprétation des tests statistiques est maintenant verrouillé.

Pour t'aider à t'y repérer dans ces différents modes examen, voici un tableau comparatif des fonctionnalités disponibles, à jour avec les derniers changements de la version
17.1
:
Mode
examen
FR
NL
PT
IB
PTT
Diode
examen
rouge
orange
verte
Contenu
mémoire
préexistant
Interdit
Interdit
Interdit
Interdit
Interdit
Calcul exact
irrationnels
Autorisé
Interdit
Autorisé
Autorisé
Autorisé
Calcul
vectoriel
Autorisé
Autorisé
Autorisé
Interdit
Désactivable
Unités +
constantes
Autorisé
Interdit
Autorisé
Interdit
Autorisé
Logarithme
base a
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Opérateur
sommation Σ
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Appli
Equations
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Graphes
inégalités
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Graphes
implicites
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable
Appli
Python
Autorisé
Interdit
Autorisé
Autorisé
Autorisé
Interprétation
tests
statistiques
Autorisé
Autorisé
Autorisé
Interdit
Autorisé
Interprétation
régressions
Autorisé
Autorisé
Autorisé
Autorisé
Désactivable




A3) Transversal

Go to top

Poursuivons avec les changements transversaux, hors boîte à outils.

L'alignement des exposants a été modifié avec la version
17
afin d'occuper moins de place verticalement.

Cela te permettra par exemple de visualiser correctement sans défilement sur un même écran, davantage de calculs faisant intervenir des exposants :


Le comportement de la touche
x,n,t
dépend du contexte dans lequel tu l'utilisais. Elle te permettait de saisir :
  • t
    dans l'application
    Fonctions
    pour la définition d'une fonction paramétrique
  • θ
    dans l'application
    Fonctions
    pour la définition d'une fonction polaire
  • n
    dans l'application
    Suites
  • x
    dans tous les autres cas

Or, il pouvait arriver que ce comportement ne corresponde pas à tes besoins.

Si il te suffisait pour
x
,
n
et
t
d'aller les chercher au clavier alphabétique avec la touche
alpha
, ce n'était par contre pas le cas pour
θ
.

Il t'était donc pénible de faire appel à la variable de nom
θ
pour tes calculs de géométrie ou de Physique-Chimie, ou encore pour l'affichage de messages en
Python
.

Il fallait déclencher l'afficher d'un
θ
quelque part, par exemple dans l'application
Fonctions
ou sinon dans l'application
Python
avec print(chr(952)), le sélectionner pour le copier avec
shift
var
, puis ensuite seulement le coller où bon te semblait avec
shift
🧰
.

Avec la version
17.0
NumWorks
avait commencé à apporter un début de solution à ce problème.

Peu importe le contexte, si la saisie par défaut de la touche
x,n,t
ne correspond pas à tes besoins, il te suffit de retaper
x,n,t
si besoin plusieurs fois de suite pour basculer entre les autres possibilités de saisie
x
,
n
,
t
et
θ
.

Toutefois, visuellement rien ne t'indiquait ce nouveau comportement. C'était impossible à deviner et ainsi peu intuitif.
Nouvelle amélioration donc avec la version
17.1
, toute saisie avec la touche
x,n,t
est immédiatement mise en surbrillance pour t'indiquer la possibilité de la corriger, avant de poursuivre ta saisie.

Bien dommage toutefois, cela ne fonctionne toujours pas dans le contexte de l'application
Python
et ne t'aidera donc pas pour les
print()
.


Terminons par une amélioration qui avait été introduite dès la mise à jour
16.4.0
mais bizarrement non annoncée.

Auparavant il n'était pas possible d'appliquer une fonction à un résultat comportant une unité.

Depuis la version
16.4.0
c'est corrigé pour les fonctions pertinentes de la boîte à outils :
abs()
,
floor()
,
ceil()
,
round()
et
sign()
.




B1) Appli Probabilités

Go to top

Avec cette mise à jour l'application
Probabilités
bénéficie de possibilités grandement étendues, devenant une application 3 en 1.

À la superbe interface historique d'étude de lois de probabilités, s'ajoutent 2 nouvelles interfaces, le tout étant désormais au choix à l'appel de l'application :
  • tests statistiques
  • intervalles de confiance

Personnellement je l'avoue, je n'y connais pas grand, mes études supérieures qui commencent à dater n'ayant à l'époque pas inclus de module statistiques et probabilités. Aussi, les possibilités similaires présentes sur les modèles concurrents, trop souvent avec des abréviations anglophones, m'étaient toujours apparues fort obscures et ne m'avaient pas du tout donné envie de creuser la chose.

Ici
NumWorks
nous signe une fois encore une interface claire donnant envie de faire des Maths dont il a le secret, prenant le temps et la place pour décrire chaque chose en Français.

Pour les tests, tu as donc au choix :
  • 2 tests
    t
    : 1 moyenne, 2 moyennes
  • 4 tests
    z
    : 1 moyenne, 2 moyennes, 1 proportion, 2 proportions
  • test
    χ²

Pour les intervalles de confiance, sont au choix :
  • 2 intervalles
    t
    : 1 moyenne, 2 moyennes
  • 4 intervalles
    z
    : 1 moyenne, 2 moyennes, 1 proportion, 2 proportions

Regardons tout-de-suite l'utilisation pour vérifier un exercice de l'ancien programme de
Terminale S
.

Un fournisseur affirme que, parmi ses cadenas haut de gamme, il n’y a pas plus de
3%
de cadenas défectueux dans sa production.
Un responsable du magasin de bricolage désire vérifier la validité de cette affirmation dans son stock ; à cet effet, il prélève un échantillon aléatoire de
500
cadenas haut de gamme.
Le responsable trouve
19
cadenas défectueux dans l'échantillon prélevé.

  1. Etablir un intervalle de fluctuation asymptotique au seuil de
    95%
    de la proportion attendue de cadenas défectueux dans un tel échantillon.
  2. Au risque de
    5%
    , ce contrôle remet-il en cause l'affirmation du constructeur ?

Pour informations, les réponses attendues sont :
  1. $mathjax$I≈[0,015;0,045]$mathjax$
  2. $mathjax$f=\frac{19}{500}\approx 0,038$mathjax$

    Donc
    $mathjax$f\in I$mathjax$
    et on ne peut rejeter l'affirmation du constructeur au risque de 5%.

Commençons donc par la question 1, avec l'intervalle de fluctuation asymptotique au seuil de
95%
.

Rappelons que la
NumWorks
permettait déjà d'obtenir le résultat via la fonction
prediction95()
, trouvable dans les menus
Probabilités
puis
Statistiques
de la boîte à outils
(touche
🧰
)
.

Maintenant, c'est donc également réalisable dans la nouvelle application
Probabilités
.

Il faut pour cela choisir l'intervalle
z
à 1 proportion.

On obtient bien le même résultat attendu, mais surtout ici, on en récupère également une interprétation graphique qui en facilitera grandement la compréhension ! :bj:

Question 2 maintenant. La prise de décision dans ce contexte nécessite de réaliser un test
z
à 1 proportion.

On obient bien le résultat attendu, accompagné ici encore d'une interprétation graphique, et même d'une phrase explicative en Français ! :bj:




B2) Appli Calculs

Go to top

Tu es encore là après tout ça ? Accordons-nous une petite pause avant de reprendre, car les grandes nouvelles ne sont pas terminées.

L'application
Calculs
dispose maintenant d'un raccourci permettant de vider facilement et rapidement l'historique :
shift
.




B3) Boîte à outils

Go to top

🧰

Passons maintenant à la boîte à outils commune à l'ensemble des applications intégrées utilisant le moteur mathématique
Poincaré
(c'est simple, c'est-à-dire toutes les applications sauf
Python
qui dispose d'une boîte à outils spécifique)
.

Étais-tu déçu(e) suite au verrouillage de ne plus pouvoir installer pour avoir les constantes physiques ?

Et bien cela tombe bien, car le menu
Unités
se voit maintenant renommé
Unités et constantes
. Tu devines ce que cela veut dire ? ;)

Autre grande nouveauté donc de cette version, les constantes physiques directement intégrées au
firmware
officiel, et donc à nouveau disponibles en mode examen ! :bj:

Les constantes physique sont accessibles en fin de liste des unités. Comme pour les unités, on les appelle en préfixant leur nom d'un tiret bas
(_)
.

13 constantes sont au menu de cette première version officielle les supportant, soigneusement décrites à chaque fois en Français : :bj:
  • c
    : vitesse de la lumière dans le vide
  • e
    : charge élémentaire
  • G
    : constante gravitationnelle
  • g
    : accélération de pesanteur
    (appelable en saisissant
    _g0
    , car
    _g
    est déjà réservé pour l'unité gramme)
  • k
    : constante de Boltzmann
  • ke
    : constante de Coulomb
  • me
    : masse de l'électron
  • mn
    : masse du neutron
  • mp
    : masse du proton
  • Na
    : constante d'Avogadro
  • R
    : constante des gaz parfaits
  • ε0
    : permitivité du vide
  • μ0
    : perméabilité du vide


Les valeurs d'unités alors récupérées sont accompagnées de leurs unités, génial ! :D

On note accessoirement que
NumWorks
ne fait pas les choses à moitié, les valeurs de constantes physiques semblant être à jour par rapport aux dernières corrections apportées lors du . :bj:



Sinon, petit changement fort appréciable de comportement, désormais la boîte à outil se rouvre automatiquement dans le dernier menu validé.

De quoi te faciliter grandement la saisie par exemple pour des expressions faisant intervenir plusieurs unités ou constantes physiques ! :D




Conclusion

Go to top

Le verrouillage étant maintenant derrière nous,
NumWorks
semble enfin s'être remis sérieusement au travail dans l'intérêt de tous ses utilisateurs, renouant ainsi avec ce qui avait fait son succès sur la période 2017-2020.

La version
17
apporte en effet plusieurs évolutions majeures avec dans tous les cas de beaux efforts sur l'intuitivité de l'interface :
  • saisie libre des relations à tracer
  • représentation graphique de droites
  • représentation graphique coniques même dans le cas général
  • représentation graphique d'inéquations pour toutes les formes précédentes d'équations traçables
  • constantes physiques avec unités et description
  • tests statistiques
  • intervalles de confiance

La
NumWorks
au prix de milieu de gamme poursuit sa progression disruptive dans le monde des calculatrices graphiques, dans le sens où la plupart de ces fonctionnalités sont très supérieures à ce qu'offre le milieu de game chez la concurrence, et ne trouvent d'équivalent que sur le haut de gamme beaucoup plus cher.

Des efforts semblent donc avoir été faits rapidement pour compenser les fonctionnalités non officielles interdites suite au verrouillage, notamment pour les constantes physiques.

Après, ce n'est certes pas suffisant.

Comme gros manque, il y aurait encore par exemple l'application de tableau périodique des éléments , ou encore l'application tableur de .
Mais il semble justement que cela vienne d'être mis en projet pour une future mise à jour en version
18
. ;)


Par contre bien évidemment, tant qu'il n'y aura pas de remplaçant au moteur de calcul littéral d' ou encore mieux moteur de calcul formel de , on pourra toujours dire que ce n'est pas suffisant. Et là par contre, nous n'avons à ce jour aucune bonne nouvelle à t'annoncer.


Mais restons donc à ce jour sur une note positive en notant donc ces très gros efforts, certes insuffisants, en faisant justement le souhait qu'ils se poursuivent au minimum au même rythme.

Liens
:

-
Search
-
Social
-
Featured topics
Concours de dessin de Noël 2021 Jusqu'au 31 janvier 2022 inclus par Casio. Dessine ta liste au Père Noël sur calculatrice/émulateur Graph 90/35+E II en Python ou fx-92+ Spéciale Collège. Ouvert aux élèves et enseignants, classement séparé. À gagner 2 consoles Nintendo Switch pour les élèves, 2 trottinettes électriques pour les enseignants, 10 calculatrices Graph 90/35+E II au choix, 72 montres Casio G-Shock ou Vintage. Pas de perdant, goodies Casio pour tous les autres !
Coque NumWorks édition limitée Janvier 2022 à gagner.
Comparaisons des meilleurs prix pour acheter sa calculatrice !
123
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
546 utilisateurs:
>533 invités
>7 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)