π
<-

News 2025
January (14)

News 2024
October (12)
August (9)
July (10)
June (20)
May (14)
April (16)
March (7)
January (20)

News 2023
October (19)
August (14)
July (13)
June (21)
May (29)
April (24)
March (24)
January (24)

News 2022
October (23)
August (14)
July (15)
June (17)
May (31)
April (27)
March (28)
January (34)

News 2021
October (24)
August (37)
July (50)
June (32)
May (48)
April (61)
March (35)
January (34)

News 2020
October (17)
August (43)
July (43)
June (45)
May (60)
April (78)
March (36)
January (39)

News 2019
October (13)
August (18)
July (23)
June (28)
May (31)
April (26)
March (38)
January (37)

News 2018
October (13)
August (32)
July (23)
June (64)
May (63)
April (45)
March (43)
January (45)

News 2017
October (26)
August (39)
July (52)
June (88)
May (51)
April (43)
March (37)
January (33)

News 2016
October (25)
August (42)
July (34)
June (109)
May (55)
April (34)
March (37)
January (24)

News 2015
October (22)
August (56)
July (22)
June (94)
May (56)
April (32)
March (40)
January (21)

News 2014
October (26)
August (18)
July (23)
June (101)
May (57)
April (59)
March (54)
January (31)

News 2013
October (67)
August (50)
July (43)
June (193)
May (93)
April (102)
March (45)
January (50)

News 2012
October (64)
August (63)
July (53)
June (132)
May (88)
April (73)
March (57)
January (58)

News 2011
October (56)
August (31)
July (27)
June (71)
May (61)
April (32)
March (36)
January (24)

News 2010
October (11)
August (8)
July (14)
June (10)
May (3)
April (3)
March (1)

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

Mise à jour 5.5.2 TI-83 Premium CE + nouvelle appli Python

New postby critor » 13 Aug 2020, 17:22

Aujourd'hui, Texas Instruments nous sort pour ta TI-83 Premium CE sa mise à jour de rentrée 2020, la version 5.5.2.

A noter que cette version ne concerne que les modèles français TI-83 Premium CE, pas les TI-84 Plus CE.

Elle fait donc suite à la mise à jour 5.5.1.0038 précédente (12 mai 2020).

Plus précisément il s'agit ici d'une version 5.5.2.0044 compilée pour sa part le 30 juillet 2020.

Seule nouveauté à notre connaissance, une toute nouvelle version de l'application Python.


Nous étions donc restés à la mise à jour précédente avec une application Python en version 5.5.0.0038.

Cette version incluait à l'attention du coprocesseur Atmel un firmware TI-Python en version 3.1.0.57, comme on pouvait le découvrir en appelant sys.implementation.

Problème, cette application Python ne fonctionnait pas correctement.

Ce n'était pas systématique mais régulièrement, des caractères étaient perdus lors du retour d'informations du coprocesseur Atmel dédié au Python vers le processeur eZ80. :mj:

L'affichage de tes résultats pouvait donc apparaître erroné ou incohérent.

Et pareil lorsque tu rappelais une saisie précédente avec
. Tu pouvais n'en récupérer en apparence qu'une partie, et comme l'erreur ne concernait que l'affichage il ne fallait surtout pas tenter de corriger. :#non#:

Et bien voilà, la mise à jour 5.5.2 si effectuée via le fichier bundle combinant l'OS et les applis, mettra à son tour à jour ton application Python avec une version qui semble avoir corrigé le problème ! :bj:

Plus précisément, l'application Python passe en version 5.5.2.0044 et intègre un tout nouveau firmware TI-Python 3.1.0.58.




Si tu disposes d'une ancienne TI-83 Premium CE (pas l'Edition Python donc), tu n'as aucune obligation et fort peu d'intérêt à mettre à jour et donc à renoncer à toute la bibliothèque de jeux et outils assembleur disponible chez nous ou ailleurs sur Internet. :#non#:
L'application Python ne fonctionnera de toutes façons pas sur ta calculatrice.
Quant aux applications apportant le reste des nouveautés 5.5 aucun besoin de mettre à jour le système, tu peux parfaitement les installer séparément à partir des liens ci-dessous.

Si tu disposes d'une TI-83 Premium CE Edition Python et souhaites bénéficier des dernières formidables nouveautés Python pas le choix, tu dois mettre à jour en version 5.5.1 ou supérieure.
Les applications Python 5.5 refuseront en effet de fonctionner avec un système en version 5.4 ou inférieure.
Attention si tu fais le choix d'installer l'OS 5.5.2 c'est définitif, ta calculatrice refusera tout retour à une version inférieure à 5.5.1 et il n'y a aucun menu pour réinitialiser cela. /!




Téléchargements :

Broken Holyxe World, le monde perso Oiram CE revisité

New postby critor » 16 Aug 2020, 14:49

12495Ta formidable TI-83 Premium CE dispose disposait d'une pièce maîtresse sur la scène vidéo-ludique qui a pu expliquer jusqu'à présent son succès extraordinaire en France, le dénommé Oiram CE.

Publié en janvier 2017 par MateoConLechuga, il s'agit d'un moteur de jeux Mario-like, bénéficiant d'une formidable bibliothèque de pas moins de 81 packs de niveaux perso, dont d'excellents remakes de Super Mario Bros, Super Mario Bros 2 / Super Mario Bros The Lost Levels mondes 1-8 et mondes 9-13, Super Mario Bros 3 mondes 1-2 et monde 3, New Super Mario Bros...
Attention, une réalisation aussi exceptionnelle que Oiram CE nécessite que le code puisse littéralement prendre le contrôle du matériel de ta TI-83 Premium CE. Cela était possible officiellement depuis 1995 dans la gamme de calculatrices graphiques Texas Instruments grâce au support des programmes en langage machine, pouvant être créés à partir de code source écrit en langage C ou assembleur, et appelés plus généralement dans la communauté "programmes assembleur".

Hélas, suite à l'irresponsabilité incommensurable d'un enseignant-vidéaste français, Texas Instruments a décidé de supprimer cette fonctionnalité historique, griffe qui avait fait le succès de ses produits, ce qui revient en gros à interdire tout développement non officiel de qualité professionnelle.

Les mises à jour 5.5.1 et supérieures suppriment cette possibilité et t'interdiront de plus de revenir à toute version inférieure les autorisant. Et pour cette rentrée 2020, des modèles préchargés avec ces versions commencent à apparaître dans les stocks de boutiques. Tu ne peux donc bénéficier de ce qui suit que si tu as acheté une TI-83 Premium CE ou TI-84 Plus CE préchargée d'une version 5.4 ou inférieure, et si tu ne l'as pas mise à jour depuis.


En novembre 2018, Holyxe te sortait son propre pack de 7 niveaux perso, Holyxe World. Une formidable aventure à sensations te conduisant des plus hautes tours aux profondeurs les plus abyssales.

Aujourd'hui OiramLevelDesigner, un passionné de Oiram CE extrêmement productif avec pas moins de 22 packs de niveaux perso publiés chez nous, résiste courageusement à Texas Instruments. OiramLevelDesigner se propose de revisiter Holyxe World, ou plus précisément un monde parallèle qu'il a nommé Broken Holyxe World. Au menu quelques petites altérations afin de te forcer à emprunter certains chemins plutôt que d'autres, ou encore à exploiter certains glitchs. ;)


Note bien que pour fonctionner correctement, Oiram CE a obligatoirement besoin des bibliothèques C téléchargeables ci-dessous. Mais rien de bien compliqué, il suffit juste de les transférer. :)


Téléchargements :

QCC 2020 épisode 6 : Constantes physiques

New postby critor » 16 Aug 2020, 20:45

5409
Quelle Calculatrice programmable Choisir 2020
(index des épisodes)

Episode 6 - Constantes physiques




Cette année il y a du nouveau au niveau des bibliothèques de constantes physiques ; voyons donc ce qu'offrent les calculatrices graphiques conformes ou se disant conformes 2021.

Si jamais tu avais opté pour un modèle dépourvu d'une telle bibliothèque, tu pouvais jusqu'à présent télécharger gratuitement des programmes en rajoutant.
Hélas, c'est désormais impossible à cause du mode examen à diode qui sera mis en place pour la première fois de façon nationale à l'occasion des épreuves d'examen 2020-2021, un mode qui désactive tout ce que tu auras rajouté.

Il ne faut donc pas te tromper dans ton achat cette année, particulièrement si tu envisages une coloration sciences expérimentales de ton orientation.



Déjà, commençons par dénoncer les modèles dépourvus à l'achat d'une bibliothèque de constantes physiques, et sans aucune solution à ce jour :
  • l'Esquisse GCEXFR
  • la Lexibook GC3000FR
  • la Casio Graph 25+E
  • la Casio Graph 25+E II
114038493518112581

Sur les TI-83 Premium CE et TI-83 Premium CE Edition Python, la bibliothèque de constantes physiques est apportée par l'application SciTools (outils scientifiques), venant préchargée dans les calculatrices neuves.
Si jamais cette application a été effacée, il suffit juste de la retélécharger et réinstaller gratuitement. :)

15 constantes physiques y sont disponibles, avec pour chacune : description, symbole et unité ! :bj:
Les symboles toutefois ne sont pas toujours standard.

Le menu de bas d'écran
EXPT
permettra d'exporter la valeur numérique intégrale vers la ligne de saisie de l'écran de calculs.
Les constantes ont ainsi le défaut de ne pas pouvoir être appelées automatiquement depuis un calcul ou un programme.

On peut ainsi déplorer l'impossibilité pour un programme de récupérer automatiquement une valeur de constante.

Bref il n'y a donc ici pas beaucoup de constantes ; mais la quantité ne fait pas tout. ;)
Pour cette rentrée 2020, l'application bénéficie d'une mise à jour 5.5 avec des corrections de valeurs de certaines constantes.

Tentons donc d'évaluer la précision de cette bibliothèque. Nous allons nous baser pour cela sur les valeurs de 8 constantes communes à toutes les solutions que nous allons te présenter :
  • e : charge élémentaire
  • G : constante de gravitation universelle
  • h : constante de Planck
  • k : constante de Boltzmann
  • me : masse de l'électron
  • mp : masse du proton
  • NA : nombre d'Avogadro
  • R : constante universelle des gaz parfaits

Nous prendrons comme référence les valeurs officielles du CODATA (Comité de données pour la science et la technologie), dont la dernière mise à jour date de 2018 : CODATA 2018.

Voici un petit script Python auquel il suffira de fournir les chiffres significatifs des constantes de la calculatrice pour obtenir les écarts relatifs de chacune ainsi que l'écart relatif moyen :
Code: Select all
from math import log

def mean(l):
  return sum(l)/len(l)

def error_r(name, val):
  data = (
    ['c',  299792458, 0],
    ['e',  1602176634, -19],
    ['G',  667430, -11],
    ['g',  980665, 0],
    ['h',  662607015, -34],
    ['k',  1380649, -23],
    ['me', 91093837015, -31],
    ['mn', 167492749804, -27],
    ['mp', 167262192369, -27],
    ['NA', 602214076, 23],
    ['R',  8314462618, 0],
    ['u',  166053906660, -27],
  )
  for vref in data:
    if vref[0] == name:
      break
  if vref[0] == name:
    while int(log(val, 10)) < int(log(vref[1] , 10)):
      val *= 10
    while int(log(val, 10)) > int(log(vref[1] , 10)):
      vref[1] *= 10
    return abs(val - vref[1]) / vref[1]

def error_m(l):
  lerr = []
  for v in l:
    err = error_r(v[0], v[1])
    lerr.append(err)
    print(v[0], err)
  return mean(lerr)


Recopions donc les valeurs fournies par la calculatrice dans notre appel, avec l'ancienne puis la nouvelle version :
Code: Select all
error_m([
  ['e',  1602176565],
  ['G',  667384],
  ['h',  662606957],
  ['k',  13806488],
  ['me', 910938291],
  ['mp', 1672621777],
  ['NA', 602214129],
  ['R',  83144621],
])

Code: Select all
error_m([
  ['e',  1602176634],
  ['G',  66743],
  ['h',  662607015],
  ['k',  1380649],
  ['me', 91093837015],
  ['mp', 167262192369],
  ['NA', 602214076],
  ['R',  8314462618],
])

C'est extraordinaire, quel formidable travail de veille scientifique chez Texas Instruments.
L'écart relatif moyen passe de 0,000869% avec la version précédente de l'application à 0% cette année ; c'est-à-dire que toutes les constantes testées sont exactes ! :bj:

Plus précisément la mise à jour nous fait passer des valeurs CODATA 2010 aux valeurs CODATA 2018.
Texas Instruments avait donc pris pas mal de retard mais s'est finalement bien rattrapé. :)

Candidats scolarisés hors de France, attention.

La TI-84 Plus CE-T distribuée dans le reste des pays européens interdira l'accès à l'application SciTools une fois passée en mode examen ! :#non#:

Même problème pour la TI-84 Plus T monochrome. :mj:

Accessoirement ce modèle n'a jamais bénéficié de la moindre mise à jour depuis sa sortie pour la rentrée 2016. Les valeurs utilisées sont donc plus anciennes, avec ici un écart relatif moyen de 0,00247% : :(
Code: Select all
error_m([
  ['e',  1602176462],
  ['G',  6673],
  ['h',  662606876],
  ['k',  13806503],
  ['me', 910938188],
  ['mp', 167262158],
  ['NA', 602214199],
  ['R',  8314472],
])

Il s'agit en fait de valeurs beaucoup plus anciennes correspondant à la base de données CODATA 1998.
C'est-à-dire que Texas Instruments semble n'avoir jamais mis à jour les données de l'application SciTools pour TI-82/83/84+ depuis le lancement de cette gamme avec la TI-83 Plus en 1999, et avoir utilisé la même application pour la TI-84 Plus T en 2016 sans aucun rafraîchissement du contenu.


La TI-82 Advanced monochrome ne dispose hélas pas de l'application SciTools.
Il est certes possible d'installer des applications TI-82/83/84 Plus et même d'y conserver l'accès en mode examen...
Mais les applications installées via cette méthode doivent faire moins de 16 Kio et SciTools est hélas beaucoup trop gros. :'(

Par contre, on peut installer l'application Omnicalc qui inclut une petite bibliothèque de 13 constantes, et aura le gros avantage de rester disponible en mode examen.

Ici on récupère les valeurs de constantes en résultat, et elles ont ainsi le gros avantage de pouvoir être directement appelées depuis un programme.
Par contre pas d'unités ni de description, et les symboles se permettent diverses fantaisies.

Cette application a été mise à jour pour la dernière fois en 2004, donc les valeurs seront ici bien plus obsolètes.
Notons que comme les valeurs étant récupérées en résultat, tous leurs chiffres significatifs ne sont pas forcément affichés.
Voici un petit programme TI-Basic afin d'extraire tous les chiffres significatifs du dernier résultat :
Code: Select all
abs(Rep→X
" →Chn1
"0123456789→Chn0
While partDéc(X
  10X→X
End
While X≥10
  X/10→X
End
While X
  ent(X→I
  10partDéc(X→X
  Chn1+sousch(Chn0,I+1,1→Chn1
End
Chn1

Mais en fait non, les constantes sont tellement peu précises ici qu'il n'y a pas de chiffre significatif masqué.

Ici l'erreur relative moyenne est ainsi de 0,00396% :
Code: Select all
print(error_m([
  ['e',  160217733],
  ['G',  667259],
  ['h',  66260755],
  ['k',  1380658],
  ['me', 91093897],
  ['mp', 16726231],
  ['NA', 60221367],
  ['R',  831451],
]))

En fait, c'est encore pire que ce que l'on pensait, les valeurs correspondent à la banque CODATA 1986...


La Casio Graph 90+E dispose d'une application officielle préchargée Physium qui apporte une bibliothèque de constantes.

Attention, cette application sera inaccessible en mode examen. :#non#:

Pas moins de 39 constantes sont ici disponibles avec leurs symboles et, sur demande, descriptions et unités.

Un gros avantage par contre ici, est que l'on peut modifier les constantes pour s'adapter par exemple à la valeur fournie par un énoncé, et les réinitialiser automatiquement pas la suite.

Pas de possibilité d'appel automatique depuis un programme, par contre l'interface permet de stocker directement la valeur sélectionnée dans une variable de la calculatrice.

Voici de quoi extraire l'ensemble des chiffres significatifs des variables en question :
Code: Select all
?→X
Abs X→X
""→Str 1
"0123456789"→Str 10
While Frac X
  10X→X
WhileEnd
While X≥10
  X÷10→X
End
While X
  Int X→I
  10Frac X→X
  StrJoin(Str 1,StrMid(Str 10,I+1,1))→Str 1
WhileEnd
Locate 1,1,Str 1


Une fois l'ensemble des chiffres significatifs récupérés, nous trouvons ici 0,000422% d'erreur relative moyenne :
Code: Select all
error_m([
  ['e',  16021766208],
  ['G',  667408],
  ['h',  662607004],
  ['k',  138064852],
  ['me', 910938356],
  ['mp', 1672621898],
  ['NA', 6022140857],
  ['R',  83144598],
])

Il s'agit ici des valeurs CODATA 2014.

Physium est tout autant disponible pour Casio fx-CP400+E, avec les mêmes valeurs CODATA et quasiment les mêmes capacités.

Seule et unique chose que nous ne trouvons pas ici, la possibilité de modifier les constantes.


Ici encore, plus rien en mode examen.

Physium est également disponible pour les Casio Graph 35+E II et Graph 75+E monochrome avec exactement les mêmes capacités.

Toujours aussi interdite en mode examen.

L'application passe cette année à la nouvelle version 1.13, première mise à jour concernant la Graph 75+E depuis 2014 !

Le changement est que les constantes basculent sur les nouvelles valeurs qu'utilisaient déjà les versions couleur pour Graph 90+E et fx-CP400+E depuis des années, passant l'erreur relative moyenne de 0,000869% à 0,000422% :
Code: Select all
error_m([
  ['e',  1602176565],
  ['G',  667384],
  ['h',  662606957],
  ['k',  13806488],
  ['me', 910938291],
  ['mp', 1672621777],
  ['NA', 602214129],
  ['R',  83144621],
])

Code: Select all
error_m([
  ['e',  16021766208],
  ['G',  667408],
  ['h',  662607004],
  ['k',  138064852],
  ['me', 910938356],
  ['mp', 1672621898],
  ['NA', 6022140857],
  ['R',  83144598],
])

Nous passons donc ici des valeurs CODATA 2010 aux valeurs CODATA 2014.

Pour les anciennes Casio Graph 35+E il est possible de leur installer le système Graph 75+E pour ensuite leur rajouter l'application Physium.

Toutefois elle restera tout autant inaccessible en mode examen.


Les TI-Nspire CX II CAS, ainsi que les TI-Nspire CX CAS si mise à jour en version 4.5 ou supérieure t'offriront 24 constantes, toutes accompagnées de leurs descriptions et unités.
Leur nommage par contre n'est pas toujours très heureux par rapport à leur symbole, les constantes ayant le défaut d'utiliser le même préfixe que les unités.

Voici de quoi extraire l'ensemble des chiffres significatifs :
Code: Select all
Define fullnbr(x)=
Func
  Local s,i
  s:=""
  x:=abs(x)
  While fPart(x)≠0
    x:=10*x
  EndWhile
  While x≥10
    x:=((x)/(10))
  EndWhile
  While x≠0
    i:=int(x)
    x:=10*fPart(x)
    s:=s&mid(string(i),1,1)
  EndWhile
  Return s
EndFunc


Nous avons ici affaire aux données CODATA 2014.

Les données de nos constantes une fois extraites en intégralité nous donnent une erreur relative moyenne de 0,000422% :
Code: Select all
error_m([
  ['e',  16021766208],
  ['G',  667408],
  ['h',  662607004],
  ['k',  138064852],
  ['me', 910938356],
  ['mp', 1672621898],
  ['NA', 6022140857],
  ['R',  83144598],
])

Les simples TI-Nspire CX II-T, TI-Nspire CX II et TI-Nspire CX si mise à jour en version 4.5 ou supérieure offriront la même bibliothèque de constantes, mais sans les unités.

La TI-Nspire CAS TouchPad quant à elle reprend l'intégralité des fonctionnalités, mais avec le jeu de données beaucoup plus ancien du CODATA 2010, pour une erreur relative moyenne de 0,000869% :
Code: Select all
error_m([
  ['e',  1602176565],
  ['G',  667384],
  ['h',  662606957],
  ['k',  13806488],
  ['me', 910938291],
  ['mp', 1672621777],
  ['NA', 602214129],
  ['R',  83144621],
])

Sur les simples TI-Nspire TouchPad et TI-Nspire, pas de bibliothèque de constantes physiques.

Tu peux toutefois leur rajouter une bibliothèque de constantes complète en installant le logiciel KhiCAS, permettant d'obtenir en prime les unités.

Pour les simples TI-Nspire CX il est en théorie également possible de leur installer un logiciel KhiCAS même un peu plus étendu.
Toutefois en pratique l'ajout de ces outils nécessite de commencer par installer Ndless. Or la plupart des TI-Nspire CX que tu trouveras seront préchargées avec une version 4.5.1 ou supérieure que Ndless ne gère toujours pas. :'(


KhiCAS t'offre ici une bibliothèque de 27 constantes.

Les valeurs semblent toutefois être très anciennes, remontant au CODATA 1986 pour presque toutes celles que nous avons choisi de tester ici. Seule exception parmi notre sélection, la constante G qui correspond bizarrement au CODATA 2014.

Ce qui nous donne donc ici une erreur relative moyenne intermédiaire de 0,000606%.
Code: Select all
error_m([
  ['e',  160217733],
  ['G',  667408],
  ['h',  66260755],
  ['k',  1380658],
  ['me', 91093897],
  ['mp', 16726231],
  ['NA', 60221367],
  ['R',  831451],
])

Hélas tout ceci sera indisponible en mode examen.

Tu peux toutefois obtenir la bibliothèque officielle et ce même en mode examen sur tes TI-Nspire TouchPad et TI-Nspire, en installant directement le système TI-Nspire CAS

Pour les simples TI-Nspire CX, de façon similaire il est en théorie possible de leur installer le système TI-Nspire CX CAS et donc d'accompagner les constantes d'unités.
Il suffit pour cela d'installer nBoot + ControlX si compatible, ou à défaut nLoader.
Toutefois en pratique l'ajout de ces outils nécessite ici encore de commencer par installer Ndless. Or comme la plupart des TI-Nspire CX que tu trouveras seront préchargées avec une version 4.5.1 ou supérieure... :'(


Sur NumWorks au commencement il n'y a rien. Toutefois tu peux installer très facilement le firmware tiers Omega. Omega reprend le firmware officiel tout en y faisant quelques ajouts, dont justement une bibliothèque de constantes physiques.

Nous excluons ici les constantes relatives aux atomes que nous compterons à part avec les applis de classification périodique des éléments, ce qui nous donne quand même un nombre formidable de 82 constantes ici, toutes avec description et unités.

Ici les valeurs sont copiées directement sur la ligne de saisie, ce qui interdit hélas tout accès automatique depuis un programme.

Quelques bizarreries également, les valeurs effectivement saisies ne correspondent pas toujours à celles des menus. Par exemple, la constante R des gaz parfaits perd son 4 final...

Les valeurs ne sont pas uniformes ici, semblant provenir de plusieurs sources et pas directement des banques CODATA officielles. Par exemple :
  • les constantes de Planck (h), de Boltzmann (k) et nombre d'Avogadro (NA) proviennent du CODATA 2018
  • la constante de gravitation universelle (G) et la charge élémentaire (e) semblent être des troncatures des valeurs du CODATA 2014
  • la masse de l'électron (me) semble être une troncature de la valeur du CODATA 2018
  • la masse du proton (mp) semble être un arrondi de la valeur du CODATA 1973
  • la constante des gaz parfaits (R) semblerait correspondre à la valeur du CODATA 2018, mais bizarrement avec des chiffres en plus cette fois-ci...

Tout ceci se ressent bien évidemment dans notre mesure de la pertinence des valeurs, avec ici 0,000765% d'erreur relative moyenne :
Code: Select all
error_m([
  ['e',  160217662],
  ['G',  6674],
  ['h',  662607015],
  ['k',  1380649],
  ['me', 9109383],
  ['mp', 1672649],
  ['NA', 602214076],
  ['R',  83144626181532],
])

Précisons qu'Omega te permet à son tour d'installer l'application KhiCAS, avec les mêmes 27 constantes et capacités que pour l'édition TI-Nspire.

Mais grosse différence ici, KhiCAS restera disponible en mode examen ! :bj:

Enfin terminons avec la HP Prime. On y accède aux constantes via le menu Const affiché par
Shift
Units
.
Décocher
Valeur
permet d'obtenir les unités, et quant à la description on la récupère avec la touche
Help
.
En excluant les constantes mathématiques, nous obtenons ici un total de 21 constantes physiques ! :bj:

Il s'agit des valeurs du CODATA 2014, avec donc 0,000422% d'erreur relative moyenne :
Code: Select all
error_m([
  ['e',  16021766208],
  ['G',  667408],
  ['h',  662607004],
  ['k',  138064852],
  ['me', 910938356],
  ['mp', 1672621898],
  ['NA', 6022140857],
  ['R',  83144598],
])


Précisons de plus que si tu bascules ta calculatrice en mode calcul formel avec la touche
CAS
, tu auras accès aux 27 constantes de KhiCAS déjà couvertes plus haut dans le contexte des TI-Nspire et NumWorks. Avec ici le gros avantage de pouvoir les appeler automatiquement depuis un programme.





Résumé des données, avec :
  • en bas les fonctionnalités officielles présentes à l'achat et persistant en mode examen
  • en haut l'ensemble des possibilités avec améliorations et/ou hors mode examen
Link to topic: QCC 2020 épisode 6 : Constantes physiques (Comments: 3)

Rentrée 2020, la NumWorks disponible chez Carrefour !

New postby Admin » 17 Aug 2020, 17:14

12695Lors de sa sortie à la rentrée 2017, la calculatrice NumWorks se commercialisait exclusivement en ligne, dans la boutique du constructeur ainsi que sur Amazon, à 79,99€ frais de port inclus ! :bj:

Depuis la disponibilité en ligne s'est élargie. On compte aujourd'hui en prime dans le même ordre de prix :
Comme déjà annoncé nous avons également le distributeur scolaire historique de Texas Instruments, Jarrety, qui passe à la concurrence Casio et NumWorks pour cette rentrée 2020, mais bizarrement par son intermédiaire c'est beaucoup plus cher, pas moins de 89,89€, certes toujours port inclus :
https://jarrety.fr/lycee/65-numworks.html

Quant aux boutiques physiques, nous avions déjà vu la calculatrice NumWorks en librairie Gibert Joseph, mais comme ce dernier beaucoup plus chère que si achetée en ligne chez NumWorks / Amazon / fnac avec le port inclus, alors que paradoxalement pour les boutiques physiques il te faudra d'une façon ou d'une autre payer ton déplacement et éventuellement ton stationnement.

Dans un article précédent, nous t'annoncions que pour cette rentrée 2020 la NumWorks était enfin disponible en boutiques spécialisées, plus précisément à la fnac et ici à la différence à seulement 79,99€ comme chez le constructeur ! :bj:

1277412773Et bien ce n'est pas fini, 2020 est vraiment la rentrée de la démocratisation de la NumWorks, la calculatrice est enfin disponible en grande surface, s'y affichant fièrement à côté de la concurrence ! :bj:

Nous sommes allés voir suite à une information communiquée par ismael587, ici nous sommes donc chez Carrefour, et comme tu vois sans aucun surcoût à 79,99€ comme en ligne ! :D
Petite remarque par contre, l'emballage n'est clairement pas conçu pour une exposition en rayon, pas sûr que ça donne envie à tout-le-monde...

Après 3 ans d'attente pour 2020-2021, la NumWorks est enfin disponible près de chez toi, et ainsi accessible à toutes et tous ! :favorite:
Les enseignants peuvent donc librement la recommander, sans se sentir obligés d'organiser une commande groupée.

Mise à jour matplotlib Casio Graph 90/35+E II : arrow()

New postby critor » 18 Aug 2020, 10:30

Pour cette rentrée 2020, la formidable application Python des Casio Graph 90+E et Graph 35+E II si correctement mise à jour (ce qu'il est notamment conseillé de faire si tu viens d'acheter la calculatrice) t'offre 3 modules importables pour tes scripts :
  • math pour les fonctions mathématiques, un standard
  • random pour l'aléatoire, un standard
  • et casioplot, un module graphique propriétaire permettant à tes scripts d'allumer des pixels de l'écran dans la couleur de ton choix

De plus, Casio diffuse 2 scripts Python à rajouter manuellement dans ta calculatrice et qui s'appuient sur le module casioplot précédent :
  • turtle.py, un script fantastique de plus de 300 lignes qui reproduit sur ta calculatrice le fonctionnement du module turtle standard
  • matplotl.py, un script monumental de plus de 600 lignes qui s'occupe quant à lui de reproduire sur ta calculatrice le fonctionnement du module standard matplotlib.pyplot
Il s'agit donc de réimplémentations en Python des modules standard turtle et matplotlib.pyplot, un travail à la fois colossal et d'excellente facture, car hautement fidèle aux modules standard en question ! :bj:

Tous les liens de téléchargement seront disponibles en fin d'article.


12775Cela n'enlève rien à leurs énormes qualités supérieures par rapport à ce qui est disponible sur certaines Pythonnettes concurrentes, mais une réécriture intégrale ne peut pas être parfaite du premier coup.

Nous nous intéresserons ici au script matplotl.py, et plus précisément à sa fonction de tracé de flèche/vecteur notamment pour l'enseignement de Physique-Chimie en Seconde, arrow().
Absolument pas pour se moquer de Casio, mais simplement parce que c'est intéressant et hautement formateur.

Voici un petit script avec de quoi te tracer un soleil de vecteurs (ou un champ de vecteurs radial pour ceux qui préfèrent) :
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *
from math import cos, sin, pi

def radians(x):
  return x * pi / 180

def autoround(x):
  xr = round(x, 0)
  if abs(x - xr) < 10 ** -15:
    x = xr
  return x

def rotarrow(x0, y0, rx, ry, t1, t2, ts, hw, hl, ec, fc):
  for k in range(t1, t2 + ts, ts):
    kr = radians(k)
    w, h = autoround(rx * cos(kr)), autoround(ry * sin(kr))
    arrow(x0, y0, w, h, head_width=hw, head_length=hl, ec=ec, fc=fc)

Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
rotarrow(.0625, .0625, .75, .75, 0, 90, 10, .075, .1875, 'r', 'b')
show()

Bon la NumWorks semble ignorer les paramètres de couleur pour faire absolument n'importe quoi, mais ce n'est pas ce qui nous intéresse aujourd'hui. Voyons donc plutôt les défauts chez Casio.

Sur Graph 35+E II tout semble bon. Par contre sur Graph 90+E il y a un problème avec la couleur des pointes, dans le cas particulier où elles sont orientées horizontalement ou verticalement.

Effectivement ça ne va pas, tentons de comprendre et corriger directement le fichier de Casio puisque ce dernier a eu la gentillesse de laisser le code source consultable et modifiable contrairement à d'autres. ;)

La variable color est donc la couleur utilisée pour le tracé du segment via un appel plot() commun à toutes les orientations.
La variable headcolor est quant à elle la couleur souhaitée pour la pointe.
Pour le tracé de la pointe il y a 2 cas particuliers pour les directions horizontales et verticales, et effectivement les appels plot() associés sont faux, réutilisant color comme paramètre de couleur. La correction est triviale, lignes n°23 et 29 dans les extraits de code ci-dessous : :)
maptplotl.py
de Casio
matplotl.py
corrigé
Code: Select all
def arrow(x,y,dx,dy,**kwargs):
    global win_scaling
    a=x+dx
    b=y+dy
    win_scaling='fixed'
    color=kwargs.get('ec','k')
    color=kwargs.get('edgecolor',color)
    headcolor=kwargs.get('fc',color)
    headcolor=kwargs.get('facecolor',headcolor)
    L=kwargs.get('head_width',0.003)
    l=kwargs.get('head_length',1.5*L)
    plot((x,a),(y,b),color)

    def resol(A,B,C):
        D=B**2-4*A*C
        if D>0:
            return((-B-D**0.5)/(2*A),(-B+D**0.5)/(2*A))
    if dx==0:
        if dy>=0:
            c=1
        else:
            c=-1
        plot((a-L/2,a+L/2,a,a-L/2),(b,b,b+c*l,b),color)
    elif dy==0:
        if dx>=0:
            c=1
        else:
            c=-1
        plot((a,a,a+c*l,a),(b-L/2,b+L/2,b,b-L/2),color)
Code: Select all
def arrow(x,y,dx,dy,**kwargs):
    global win_scaling
    a=x+dx
    b=y+dy
    win_scaling='fixed'
    color=kwargs.get('ec','k')
    color=kwargs.get('edgecolor',color)
    headcolor=kwargs.get('fc',color)
    headcolor=kwargs.get('facecolor',headcolor)
    L=kwargs.get('head_width',0.003)
    l=kwargs.get('head_length',1.5*L)
    plot((x,a),(y,b),color)

    def resol(A,B,C):
        D=B**2-4*A*C
        if D>0:
            return((-B-D**0.5)/(2*A),(-B+D**0.5)/(2*A))
    if dx==0:
        if dy>=0:
            c=1
        else:
            c=-1
        plot((a-L/2,a+L/2,a,a-L/2),(b,b,b+c*l,b),headcolor)
    elif dy==0:
        if dx>=0:
            c=1
        else:
            c=-1
        plot((a,a,a+c*l,a),(b-L/2,b+L/2,b,b-L/2),headcolor)


Bon mais ça c'était un détail. Voici maintenant beaucoup plus dérangeant et épicé : ;)
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
rotarrow(.475, .5, .45, .4, 0, 360, 10, .05, .1, 'r', 'b')
axis([0, 1, 0, 1])
show()

Mais sur Graph 35+E II et Graph 90+E ça ne va pas du tout... Mais qu'est-ce que c'est que cette horreur de soleil à moitié fané ?... :#roll#:

Dans certains cas, les pointes de flèches/vecteurs sont visiblement tracées à l'envers. Là pour le coup c'est un bug bien plus profond et non une simple étourderie.

Tentons de comprendre un peu mieux quand est-ce que cela se produit :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
for k in range(4):
  rotarrow(.475 - (k <= 1), .5 - (k % 2), .45, .4, 0, 360, 15, .075, .1, 'r', 'b')
axis([-1, 1, -1, 1])
show()

Il semble que les pointes de flèches soient ainsi montées à l'envers lorsqu'elles ont une abscisse négative (x<0). Il s'agirait donc a priori d'une erreur de signe, faut-il encore trouver où changer le signe dans le code.

Notons que le problème concerne des flèches qui ne sont ni horizontales ni verticales, et l'erreur est donc à chercher cette fois-ci dans le bloc traitant le cas général. Or il y a justement un test de signe dans ce cas, ligne 34 ci-dessous. Changeons cela... ;)
maptplotl.py
de Casio
matplotl.py
corrigé






Code: Select all
def arrow(x,y,dx,dy,**kwargs):
    global win_scaling
    a=x+dx
    b=y+dy
    win_scaling='fixed'
    color=kwargs.get('ec','k')
    color=kwargs.get('edgecolor',color)
    headcolor=kwargs.get('fc',color)
    headcolor=kwargs.get('facecolor',headcolor)
    L=kwargs.get('head_width',0.003)
    l=kwargs.get('head_length',1.5*L)
    plot((x,a),(y,b),color)

    def resol(A,B,C):
        D=B**2-4*A*C
        if D>0:
            return((-B-D**0.5)/(2*A),(-B+D**0.5)/(2*A))
    if dx==0:
        if dy>=0:
            c=1
        else:
            c=-1
        plot((a-L/2,a+L/2,a,a-L/2),(b,b,b+c*l,b),headcolor)
    elif dy==0:
        if dx>=0:
            c=1
        else:
            c=-1
        plot((a,a,a+c*l,a),(b-L/2,b+L/2,b,b-L/2),headcolor)
    else:
        m=dy/dx
        p=y-m*x
        S=resol(m**2+1,2*(-a-b*m+m*p),p**2+a**2+b**2-l**2-2*b*p)
        if S[0]*dx<0:
            X=S[0]
        else:
            X=S[1]
        Y=m*X+p
        k=b+a/m
        T=resol(1+1/m**2,2*(-a-k/m+b/m),a**2+k**2-2*b*k+b**2-(L**2)/4)
        plot((T[0],T[1],X,T[0]),(-T[0]/m+k,-T[1]/m+k,Y,-T[0]/m+k),headcolor)
Code: Select all
def arrow(x,y,dx,dy,**kwargs):
    global win_scaling
    a=x+dx
    b=y+dy
    win_scaling='fixed'
    color=kwargs.get('ec','k')
    color=kwargs.get('edgecolor',color)
    headcolor=kwargs.get('fc',color)
    headcolor=kwargs.get('facecolor',headcolor)
    L=kwargs.get('head_width',0.003)
    l=kwargs.get('head_length',1.5*L)
    plot((x,a),(y,b),color)

    def resol(A,B,C):
        D=B**2-4*A*C
        if D>0:
            return((-B-D**0.5)/(2*A),(-B+D**0.5)/(2*A))
    if dx==0:
        if dy>=0:
            c=1
        else:
            c=-1
        plot((a-L/2,a+L/2,a,a-L/2),(b,b,b+c*l,b),headcolor)
    elif dy==0:
        if dx>=0:
            c=1
        else:
            c=-1
        plot((a,a,a+c*l,a),(b-L/2,b+L/2,b,b-L/2),headcolor)
    else:
        m=dy/dx
        p=y-m*x
        S=resol(m**2+1,2*(-a-b*m+m*p),p**2+a**2+b**2-l**2-2*b*p)
        if S[0]*dx*x<0:
            X=S[0]
        else:
            X=S[1]
        Y=m*X+p
        k=b+a/m
        T=resol(1+1/m**2,2*(-a-k/m+b/m),a**2+k**2-2*b*k+b**2-(L**2)/4)
        plot((T[0],T[1],X,T[0]),(-T[0]/m+k,-T[1]/m+k,Y,-T[0]/m+k),headcolor)

Ah ben non, ce n'est pas encore ça... cela corrige bien les pointes enfichées sur une extrémité de segment d'abscisse négative, mais pas celles qui franchissent l'axe des ordonnées donnant donc une pointe d'abscisse négative bien que montée sur une extrémité d'abscisse positive.

Les deux sens de montage de la flèche pour l'orientation du segment sont en fait retournées en abscisses par un appel resol(), simple fonction donnant les racines d'un polynôme du second degré.

Reste donc à choisir le bon sens de montage, et le test officiel S[0]*dx<0 ainsi que notre test S[0]*dx*x<0 semblent donc tous les deux faux.

En fait nous ne voyons même pas en quoi la réponse dépendrait du signe de la racine S[0]... à la rigueur de l'ordre de S[0] et S[1] pour savoir qui est à gauche et qui est à droite, mais pas du signe... et ici il n'y a même pas à se préoccuper de l'ordre puisque 1+1/m**2, premier paramètre de l'appel resol(), est strictement positif.

Faire pointer à gauche ou à droite, non ici cela ne dépend plus que d'une seule et unique chose, le signe de dx, et le bon test corrigé en ligne 34 ci-dessous est donc dx<0.
On peut bien se permettre une petite coquille après s'être tapé plus de 320 lignes. ;)
maptplotl.py
de Casio
matplotl.py
corrigé






Code: Select all
def arrow(x,y,dx,dy,**kwargs):
    global win_scaling
    a=x+dx
    b=y+dy
    win_scaling='fixed'
    color=kwargs.get('ec','k')
    color=kwargs.get('edgecolor',color)
    headcolor=kwargs.get('fc',color)
    headcolor=kwargs.get('facecolor',headcolor)
    L=kwargs.get('head_width',0.003)
    l=kwargs.get('head_length',1.5*L)
    plot((x,a),(y,b),color)

    def resol(A,B,C):
        D=B**2-4*A*C
        if D>0:
            return((-B-D**0.5)/(2*A),(-B+D**0.5)/(2*A))
    if dx==0:
        if dy>=0:
            c=1
        else:
            c=-1
        plot((a-L/2,a+L/2,a,a-L/2),(b,b,b+c*l,b),headcolor)
    elif dy==0:
        if dx>=0:
            c=1
        else:
            c=-1
        plot((a,a,a+c*l,a),(b-L/2,b+L/2,b,b-L/2),headcolor)
    else:
        m=dy/dx
        p=y-m*x
        S=resol(m**2+1,2*(-a-b*m+m*p),p**2+a**2+b**2-l**2-2*b*p)
        if S[0]*dx<0:
            X=S[0]
        else:
            X=S[1]
        Y=m*X+p
        k=b+a/m
        T=resol(1+1/m**2,2*(-a-k/m+b/m),a**2+k**2-2*b*k+b**2-(L**2)/4)
        plot((T[0],T[1],X,T[0]),(-T[0]/m+k,-T[1]/m+k,Y,-T[0]/m+k),headcolor)
Code: Select all
def arrow(x,y,dx,dy,**kwargs):
    global win_scaling
    a=x+dx
    b=y+dy
    win_scaling='fixed'
    color=kwargs.get('ec','k')
    color=kwargs.get('edgecolor',color)
    headcolor=kwargs.get('fc',color)
    headcolor=kwargs.get('facecolor',headcolor)
    L=kwargs.get('head_width',0.003)
    l=kwargs.get('head_length',1.5*L)
    plot((x,a),(y,b),color)

    def resol(A,B,C):
        D=B**2-4*A*C
        if D>0:
            return((-B-D**0.5)/(2*A),(-B+D**0.5)/(2*A))
    if dx==0:
        if dy>=0:
            c=1
        else:
            c=-1
        plot((a-L/2,a+L/2,a,a-L/2),(b,b,b+c*l,b),headcolor)
    elif dy==0:
        if dx>=0:
            c=1
        else:
            c=-1
        plot((a,a,a+c*l,a),(b-L/2,b+L/2,b,b-L/2),headcolor)
    else:
        m=dy/dx
        p=y-m*x
        S=resol(m**2+1,2*(-a-b*m+m*p),p**2+a**2+b**2-l**2-2*b*p)
        if dx<0:
            X=S[0]
        else:
            X=S[1]
        Y=m*X+p
        k=b+a/m
        T=resol(1+1/m**2,2*(-a-k/m+b/m),a**2+k**2-2*b*k+b**2-(L**2)/4)
        plot((T[0],T[1],X,T[0]),(-T[0]/m+k,-T[1]/m+k,Y,-T[0]/m+k),headcolor)

En attendant une mise à jour officielle qui réglera cela et peut-être d'autres choses, c'est donc cette version corrigée que nous distribuerons.


Téléchargements :

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
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.
1035 utilisateurs:
>1005 invités
>24 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)