π
<-
Chat plein-écran
[^]

Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Online

Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Unread postby critor » 15 Jul 2020, 14:03

12655
NumWorks
nous sort la nouvelle version
14
pour sa calculatrice. Plus précisément il s'agit de la version
14.4.0
et nous allons découvrir ensemble les nouveautés apportées :




1) Calculs

Go to top

Commençons par l'application
Calculs
qui bénéficie d'améliorations notables.

L'affichage de l'historique de calcul avait le défaut de perdre beaucoup de place en affichant systématiquement le résultat en-dessous de l'expression saisie. Dans certains cas c'était à peine si tu pouvais visualiser plus d'un calcul à l'écran sans avoir à faire défiler.

Désormais lorsque possible, le résultat sera affiché sur la même ligne que l'expression saisie, pour une bien meilleure vue d'ensemble de ton travail ! :bj:

Une fonctionnalité demandée depuis longtemps par la communauté et justement implémentée dans plusieurs
firmwares
tiers, dorénavant plus besoin de s'embêter à installer un
firmware
tiers pour ça ! :)


En cours de saisie, tu avais la possibilité avec la touche
d'aller chercher des éléments dans ton historique de calcul, afin de les intégrer à ton expression.
Toutefois, la touche
sert également pour la navigation au sein de l'expression naturelle en cours de saisie.

Or, l'élément récupéré était systématiquement inséré à la dernière position du curseur. Pour les expressions s'affichant en empilant plusieurs niveaux
(quotients, puissances, ...)
, seul le niveau supérieur pouvait donc recevoir l'élément récupéré, puisque c'était le dernier par lequel était passé ton curseur. Impossible notamment de récupérer quelque chose au dénominateur d'un quotient.

La dernière version permet maintenant enfin de récupérer des éléments de l'historique de calcul à n'importe quel endroit d'une expression en cours de saisie ! :bj:

Lorsque donc tu tapes
pour aller chercher un élément dans l'historique de calcul, les éventuelles zones de l'expression en cours de saisie par lesquels ton curseur ne fait que traverser en un temps très court ne sont maintenant plus retenues comme position d'insertion. :)




Depuis la dernière version ta
NumWorks
disposait d'une formidable nouveauté, la gestion des calculs utilisant des unités.
L'unité du résultat était choisi automatiquement par la calculatrice, selon ce qu'elle jugeait être le plus pertinent.

Mais voilà, contrairement à toi ta calculatrice ne disposait pas du contexte du problème, et ne faisait donc pas toujours le meilleur choix.

Tu te devais donc à chaque fois de demander manuellement une conversion vers l'unité souhaitée, avec pas mal de touches à presser.

Dans la nouvelle version, il y a mieux.

Lorsque tu remontes dans l'historique de calcul, sur les résultats utilisant des unités tu as maintenant la possibilité de demander d'une simple touche des résultats complémentaires. Et ces résultats complémentaires utilisent justement d'autres unités jugées pertinentes par la calculatrice. :bj:




2) Paramètres et nouvelles langues

Go to top

La
NumWorks
parlait jusqu'à présent 5 langues différentes, langues que tu pouvais choisir dans l'application
Paramètres
:
  • Anglais
  • Français
  • Espagnol
  • Allemand
  • Portugais
Avec cette nouvelle version, pas moins de 2 langues supplémentaires sont au menu :
  • Néerlandais
  • Italien
Ce n'est pas une surprise dans le contexte tout récent de l'acceptation de la
NumWorks
sur les listes officielles de modèles autorisés aux examens aux Pays-Bas et en Italie, c'était la moindre des choses.

Quand au mode examen, il continue à offrir 2 choix lorsque la calculatrice est en anglais ou maintenant également néerlandais :
  • mode examen dit international
    (celui proposé par défaut dans toutes les autres langues dont le français : ne fait qu'effacer la mémoire)
  • mode examen néerlandais
    (interdit en prime l'utilisation de l'application
    Python
    , la réglementation des Pays-Bas interdisant l'accès pendant l'épreuve à tout éditeur de texte)




3) Probabilités et loi géométrique

Go to top

Passons maintenant à l'application
Probabilités
.
Jusqu'à présent lorsque l'on effectuait des calculs de lois de probabilités selon une distribution géométrique, l'on n'obtenait bizarrement pas les mêmes résultats que sur les autres calculatrices graphiques. Tous les autres modèles suffisamment capables désapprouvaient même à l'unison :


Ce n'était pas que la calculatrice avait faux, c'était qu'elle n'utilisait pas la même définition que les autres modèles.

C'est corrigé, la nouvelle version utilise bien à partir de maintenant la définition de loi géométrique du contexte scolaire. :)




4) Régressions et proportionnalité

Go to top

Dans l'application
Régressions
, tu pouvais tester l'adéquation de tes données avec pas moins de 9 modèles différents :
  • linéaire :
    $mathjax$y = a x + b$mathjax$
  • quadratique :
    $mathjax$y = a x ^ 2 + b x + c$mathjax$
  • cubique :
    $mathjax$y = a x ^ 3 + b x ^ 2 + c x + d$mathjax$
  • quartique :
    $mathjax$y = a x ^ 4 + b x ^ 3 + c x ^ 2 + d x + e$mathjax$
  • logarithmique :
    $mathjax$y = a \ln \left( x \right) + b$mathjax$
  • exponentielle :
    $mathjax$y = a e ^ { b x }$mathjax$
  • puissance :
    $mathjax$y = a x ^ b$mathjax$
  • trigonométrique :
    $mathjax$y = a \sin \left( b x + c \right) + d$mathjax$
  • logistique :
    $mathjax$y = \frac { c } { 1 + a e ^ { - b x } }$mathjax$
Mais aucune n'était adaptée à une situation très simple connue depuis le collège, la proportionnalité des grandeurs
(
$mathjax$y = a x$mathjax$
)
.

Tu pouvais choisir la régression linéaire et donc la proportionnalité des accroissements, pour un résultat pas toujours proche de ce que tu attendais et donc difficilement exploitable.

La nouvelle version accueille donc à cette fin une nouvelle régression dite proportionnelle. :bj:

Un modèle cette fois-ci parfaitement adapté à l'étude de l'adéquation à une situation de proportionnalité des grandeurs. :)




5) Python et autocomplétion

Go to top

L'application
Python
passe dès maintenant sur la nouvelle version
1.12
de
MicroPython
. :)

La
NumWorks
devient de plus le premier modèle à disposer d'un assistant d'aide à la saisie
Python
! :D

Il prend la forme d'une fonctionnalité d'auto-complétion, une exclusivité sur calculatrices
Python
à ce jour. Mais c'est bien plus creusé que ce que tu pourrais croire, il y a un véritable assistant d'aide à la saisie derrière. :)

A peine commences-tu à taper un nom de fonction ou variable dans l'éditeur
Python
, que la calculatrice est désormais capable de te faire une suggestion, affichée en grisé directement au sein de l'éditeur. Si la suggestion te convient, tu peux alors la valider d'une seule touche en tapant
OK
ou
. :bj:

Et si jamais la suggestion ne te convient pas, tu peux soit poursuivre ta saisie avec les caractères suivant en espérant mieux, soit demander de suite d'autres suggestions d'une simple touche,
var
. :bj:




6) Python et turtle

Go to top

Nous avions noté il y a quelques semaines à l'occasion de la sortie d'un module similaire chez
Casio
, quelques points faibles du module
Python
turtle
de la
NumWorks
par rapport au standard :
  • absence de la fonction
    write()
    permettant d'écrire du texte à la position de la tortue
  • absence de la fonction
    colormode()
    permettant de choisir l'unité de coordonnées couleur RGB
    (nombres flottants entre 0 et 1, ou nombres entiers entre 0 et 255)
    , pour compatibilité avec les scripts conçus pour des plateformes n'ayant pas fait le même choix par défaut
    (
    Casio
    et justement le standard sur ordinateur)
    .
  • appels
    circle(r)
    avec un paramètre de rayon
    r
    négatif pour inverser le sens de tracé ignorés

Nous avons le plaisir de voir que ces détails ont tous été soigneusement traités et corrigés ! :bj:




7) Turtle et compatibilité

Go to top

Repassons un petit peu maintenant sur la conformité au standard du module
turtle
de la
NumWorks
, et donc sa compatibilité avec les scripts disponibles dans les livres ou en ligne.

Commençons déjà par tester les déplacements relatifs de la tortue. Voici par exemple avec la construction d'une rosace par rotation d'un polygone régulier :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
from turtle import *

def rosap(n1=12, n2=8, l=30):
  d1, d2 = 360//n1, 360//n2
  for i in range(n1):
    left(d1)
    for i in range(n2):
      forward(l)
      left(d2)

speed(0)
rosap()

La tortue travaillant en pixels, le code aurait besoin d'être adapté pour l'écran
Graph 35+E II
à plus faible définition. Mais à part cela, le code passe ici sans problème sur
Casio
,
NumWorks
et ordinateur. :)

Complexifions un petit peu la chose avec la
fractale de Koch
. Rajoutons également un levé de crayon
(penup)
, un déplacement absolu
(goto)
, ainsi que l'utilisation d'une des couleurs prédéfinies :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
from turtle import *

def koch(n, l):
  if n==0:
    forward(l)
  else:
    koch(n-1, l/3)
    left(60)
    koch(n-1, l/3)
    right(120)
    koch(n-1, l/3)
    left(60)
    koch(n-1, l/3)

pencolor('blue')
penup()
goto(-180, -50)
pendown()
koch(4, 360)

Ici pareil, compatibilité totale ! :)

Allons bien plus loin niveau couleurs avec maintenant un soleil :
Code: Select all
from math import exp
from turtle import *

for i in range(1,37):
  red=(exp(-0.5 * ((i-6)/12)**2))
  green=(exp(-0.5 * ((i-18)/12)**2))
  blue=(exp(-0.5 * ((i-30)/12)**2))
  pencolor([red, green, blue])
  for i in range(1, 5):
    forward(60)
    right(90)
    right(10)

Problème ici sur
NumWorks
, qui a fait le choix de ne pas utiliser le même système de coordonnées que le standard pour les composantes de couleurs RVB :
  • nombres flottants de 0.0 à 1.0 sur
    Casio
    et ordinateur
  • nombres entiers de 0 à 255 sur
    NumWorks
    et
    TI-83 Premium CE Edition Python
Mais nous disposons donc sur
NumWorks
de la nouvelle fonction
colormode()
pour choisir le système de coordonnées. Il suffira donc tout simplement de rajouter un appel colormode(1.) à tout script compatible
Casio
ou ordinateur pour le rendre également fonctionnel sur
NumWorks
! :bj:

Par contre, chez
Casio
cette fonction certes inutile ici n'est pas présente. Il nous faut donc sécuriser son appel en interceptant toute erreur éventuelle.
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
from math import exp
from turtle import *

try: colormode(1.)
except: pass

for i in range(1,37):
  red=(exp(-0.5 * ((i-6)/12)**2))
  green=(exp(-0.5 * ((i-18)/12)**2))
  blue=(exp(-0.5 * ((i-30)/12)**2))
  pencolor([red, green, blue])
  for i in range(1, 5):
    forward(60)
    right(90)
    right(10)

Poursuivons avec une coquille d'escargot en appliquant la même astuce, et l'appel à la fonction de tracé de cercle
circle()
:
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
from turtle import *
from math import *

try: colormode(1.)
except: pass

penup()
goto(0, -20)
pendown()
for i in range(1,37):
  red=(exp(-0.5 * ((i-6)/12)**2))
  green=(exp(-0.5 * ((i-18)/12)**2))
  blue=(exp(-0.5 * ((i-30)/12)**2))
  mypencolor([red,green,blue])
  circle(50-i)
  right(10)

Sous réserve de cette toute petite astuce donc, compatibilité totale. :)

Faisons maintenant neiger quelques
flocons de Koch
, en faisant variant l'épaisseur du crayon avec
pensize()
:
Graph
35+E II
Graph
90+E
NumWorks
ordi
Code: Select all
from turtle import *

def koch(n, l):
  if n<=0:
    forward(l)
  else:
    koch(n-1, l/3)
    left(60)
    koch(n-1, l/3)
    right(120)
    koch(n-1, l/3)
    left(60)
    koch(n-1, l/3)

def flock(n, l):
  koch(n, l)
  right(120)
  koch(n, l)
  right(120)
  koch(n, l)

try: colormode(1.)
except: pass

l=80

penup()
goto(105,3)
left(120)
pendown()
pencolor((0, 0, 0))
flock(3, l)
left(120)

penup()
goto(105,-10)
right(60)
pendown()
pencolor((1, .5, 0))
flock(4, l)
right(60)

pensize(2)
penup()
goto(5,45)
right(60)
pendown()
pencolor((0, 0, 1))
flock(2, l)
right(60)

penup()
goto(-100,17)
left(120)
pendown()
pencolor((1, 0, 0))
flock(0, l)
left(120)

pensize(3)
penup()
goto(-100,-5)
right(60)
pendown()
pencolor((0, 1, 0))
flock(1, l)
right(60)

penup()
forward(400)

Les réglages d'épaisseur du crayon via
pensize()
semblent hélas totalement ignorés chez
Casio
.

Passons maintenant à une rosace construite par rotation d'un cercle, avec une écriture de texte via la fonction
write()
.

Cette fonction standard n'était jusqu'à présent pas disponible dans le module
turtle
de
NumWorks
.

Mais maintenant c'est le cas alors voyons ce que ça donne :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
from turtle import *

def rosac(r=50,n=10):
  d=360//n
  for k in range(n):
    circle(r)
    left(d)

r=50
rosac(r)
penup()
left(40)
fd(2.1*r)
right(40)
write('Rosace')

Petit écart chez
Casio
, avec le texte qui est écrit en prenant la position de la tortue comme coin supérieur gauche, alors que le standard la prend comme coin inférieur gauche.

Passons maintenant au script de démo dédié à la
Casio Graph 90+E
, avec inversion du sens de tracé des cercles.

Il suffisait pour cela de passer un rayon négatif à la fonction
circle()
, ce qui n'était hélas pas géré chez
NumWorks
et ignoré.

Mais maintenant apparemment désormais c'est bon : :bj:
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
from turtle import *

forward(40)
backward(100)
left(90)
forward(30)
right(60)
forward(60)
right(30)
forward(30)
penup()
forward(18)
right(90)
forward(60)
pendown()
right(30)
backward(30)
right(60)
forward(60)
pencolor("red")
penup()
goto(80,40)
right(140)
pendown()
circle(30)
penup()
goto(105,50)
pencolor("green")
pendown()
circle(-50)
penup()
pencolor("red")
right(21)
goto(60,20)
pendown()
circle(40,60)
penup()
pencolor("blue")
goto(-50,15)
setheading(0)
pendown()
write("CASIO")

Juste pour le plaisir, un dernier exemple avec les
triangles de Sierpiński
:
Graph
35+E II
Graph
90+E
Num
Works
ordi
Code: Select all
from turtle import *

def sierp(n, l):
    if n == 0:
        for i in range (0, 3):
            fd(l)
            left(120)
    if n > 0:
        sierp(n-1, l/2)
        fd(l/2)
        sierp(n-1, l/2)
        bk(l/2)
        left(60)
        fd(l/2)
        right(60)
        sierp(n-1, l/2)
        left(60)
        bk(l/2)
        right(60)

try: colormode(1.)
except: pass
penup()
backward(109)
left(90)
backward(100)
right(90)
pendown()
pencolor((1, 0, 0))
sierp(6, 217)
penup()
forward(400)

Une implémentation du module
turtle
hautement fidèle, en excellent adéquation avec le standard sur cette série d'exemples ! :bj:

La
NumWorks
nous apparaît ainsi clairement comme la solution nomade la plus facile à utiliser en pratique en classe dans le contexte du module
turtle
; c'est a priori celle où l'on rencontrera le moins d'incidents avec les scripts conçus pour d'autres plateformes fournis par les livres ou Internet. :D




8) Python et matplotlib

Go to top

De même, nous avions noté il y a quelques semaines lors de la sortie d'un module similaire chez
Casio
, quelques points faibles avec le module
Python
matplotlib.pyplot
de la
NumWorks
par rapport au standard :
  • impossibilité d'afficher un diagramme vide
  • erreur en cas de précision d'un paramètre de couleur pour les tracés de diagrammes
  • erreur en cas de précision du paramètre de forme pour les tracés de points
  • erreur en cas de précision du paramètre nommé de taille pour les tracés de flèches ou vecteurs


Et ici de même, ce que nous avons évoqué semble avoir été traité. ! Plus d'erreur de syntaxe donc quand tu réutilises des scripts conçus pour d'autres plateformes ! :bj:

Les paramètres de couleurs sont donc désormais acceptés et fonctionnels, conformément au standard :
  • paramètres de couleur optionnels
    (fonction plot)
  • paramètres de couleur nommés
    (fonctions scatter, bar, hist, et arrow)




9) Matplotlib et compatibilité

Go to top

Testons donc maintenant la conformité au standard de
matplotl.pyplot
, et donc par conséquent sa compatibilité avec les scripts conçus pour d'autres plateformes.

Commençons déjà avec les fonctions de base, comme
axis()
pour régler les bornes de la fenêtre graphique, même si ce n'est pas obligatoire et qu'elles s'adapteront par défaut au contenu affiché :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

axis([0,10,2,5])
show()

Plus aucun problème donc sur la
NumWorks
à afficher une fenêtre graphique vide. :)

Sortons maintenant
text()
pour afficher du texte :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

text(0.4,0.9,"TITRE")
show()

Petit écart, on remarque que la
NumWorks
opte pour une graduation sur les axes, alors que les autres plateformes utilisent une graduation en bordure de fenêtre.

Démarrons maintenant avec de petits diagrammes en barres via la fonction
bar()
:
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

x = [119.1, 119.3, 119.5, 119.6, 119.9, 120.0, 120.1, 120.3, 120.4]
y = [1, 3, 4, 3, 1, 3, 1, 3, 1]

bar(x, y, 0.08)
show()

Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

Val=[1,2,4,7,9]
Eff=[10,15,8,13,7]
bar(Val,Eff,0.8)
show()

Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

x=[1,2,3,4,5,6,7]
y=[12,17,35,29,13,9,5]
bar(x,y,0.5)
show()

Ici nous travaillons donc non pas sur des pixels mais des coordonnées, ce qui permet à la
Casio Graph 35+E II
de nous produire un affichage correct malgré un écran très inférieur à la concurrence.

Très léger détail, notons que la
NumWorks
n'utilise pas la même couleur de barre par défaut que les autres plateformes couleur, y compris l'ordinateur.

Passons maintenant à des nuages de points à l'aide de la fonction
scatter()
:
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

Xlist=[1,2,4,7,9]
Ylist=[10,15,8,13,7]
scatter(Xlist,Ylist)
show()

Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

x = [100, 110, 120, 130, 140, 150, 160]
y = [105, 95, 75, 68, 53, 46, 31]

scatter(x, y)
axis([80, 170, 10, 130])
text(110, 125, "Nombre d'acheteurs vs prix de vente")
show()

On apprécie le style de point par défaut conforme au standard
(ordinateur)
sur la
NumWorks
, contraitement à chez
Casio
. :)

On apprécie également d'avoir cette fois-ci désormais la bonne couleur de point par défaut. :)

Par contre, petit problème de positionnement de texte sur la
NumWorks
. Au lieu d'utiliser comme les autres les coordonnées fournies comme coin supérieur gauche du texte affiché, elle les utilise apparemment comme coin inférieur gauche... :(
Précisons toutefois que la
NumWorks
compense cela par une possibilité formidable, celle de faire défiler la fenêtre graphique en cours d'affichage à l'aide des flèches du clavier comme sur ordinateur, ce qui n'est pas possible sur les calculatrices concurrentes ! :bj:

Passons maintenant à quelques diagrammes en ligne brisée et à la fonction
plot()
:
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

def f(a):
  return 6*a-0.1*a**2
x=list(range(70))
y=[f(i) for i in x]
plot(x,y)
show()


Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

def fonction():
    def f(x):
        return x**3-6*x**2+9*x+1
    start = -0.5
    end = 4.5
    steps = 0.1
    x = [start+i*steps for i in range(int((end-start)/steps)+1)]
    y = [f(j) for j in x]
    plot(x, y)
    show()

fonction()

Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

plot([1,5,7],[8,12,10])
show()

On apprécie ici encore avec la fonctio
plot()
l'utilisation de la bonne couleur par défaut. :)

Bon, tentons maintenant de prendre le contrôle des couleurs.
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

V=[20,40,60,80,100]
P=[307,150,101.7,75.8,61]
axis([0,110,0,350])
plot(V,P,"blue")
text(40,250,"P (kPa) versus V (mL)")
show()

Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

plot([1,5,7],[8,12,10],"magenta")
show()

Tiens, surprise, après une première tentative pourtant encourageante nous obtenons une erreur avec pourtant le même genre d'appel. :#roll#:

Ce n'est donc pas que le paramètre de couleur n'est pas géré, mais que le nom de couleur fourni à la deuxième tentative, ici
"magenta"
soir pourtant une couleur de base, est inconnu de la
NumWorks
. :(

Ne disposant pas du module
matplotlib.colors
, on peut tester bêtement toutes les couleurs standard à l'aide du script suivant afin de savoir ce qu'il en retourne :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotl import *
  from casioplot import set_pixel, get_pixel
  sw, sh = 384, 192
  set_pixel(0, 0, (0, 127, 255))
  _col = get_pixel(0, 0)
  if not(_col[0] != _col[1] or _col[1] != _col[2]):
    sw, sh = 128, 64
except ImportError:
  from matplotlib.pyplot import *
  sw, sh = 320, 222

from math import *

lcolors = ["b","g","r","c","m","y","k","w","tab:blue","tab:orange","tab:green","tab:red","tab:purple","tab:brown","tab:pink","tab:gray","tab:olive","tab:cyan","black","dimgray","dimgrey","gray","grey","darkgray","darkgrey","silver","lightgray","lightgrey","gainsboro","whitesmoke","white","snow","rosybrown","lightcoral","indianred","brown","firebrick","maroon","darkred","red","mistyrose","salmon","tomato","darksalmon","coral","orangered","lightsalmon","sienna","seashell","chocolate","saddlebrown","sandybrown","peachpuff","peru","linen","bisque","darkorange","burlywood","antiquewhite","tan","navajowhite","blanchedalmond","papayawhip","moccasin","orange","wheat","oldlace","floralwhite","darkgoldenrod","goldenrod","cornsilk","gold","lemonchiffon","khaki","palegoldenrod","darkkhaki","ivory","beige","lightyellow","lightgoldenrodyellow","olive","yellow","olivedrab","yellowgreen","darkolivegreen","greenyellow","chartreuse","lawngreen","honeydew","darkseagreen","palegreen","lightgreen","forestgreen","limegreen","darkgreen","green","lime","seagreen","mediumseagreen","springgreen","mintcream","mediumspringgreen","mediumaquamarine","aquamarine","turquoise","lightseagreen","mediumturquoise","azure","lightcyan","paleturquoise","darkslategray","darkslategrey","teal","darkcyan","aqua","cyan","darkturquoise","cadetblue","powderblue","lightblue","deepskyblue","skyblue","lightskyblue","steelblue","aliceblue","dodgerblue","lightslategray","lightslategrey","slategray","slategrey","lightsteelblue","cornflowerblue","royalblue","ghostwhite","lavender","midnightblue","navy","darkblue","mediumblue","blue","slateblue","darkslateblue","mediumslateblue","mediumpurple","rebeccapurple","blueviolet","indigo","darkorchid","darkviolet","mediumorchid","thistle","plum","violet","purple","darkmagenta","fuchsia","magenta","orchid","mediumvioletred","deeppink","hotpink","lavenderblush","palevioletred","crimson","pink","lightpink"]

def colors():
  ltcolors = []
  axis((0, sw - 1, 0, sh - 1))
  axis('off')
  for c in lcolors:
    try:
      plot(0, 0, c)
      print(c)
      ltcolors.append(c)
    except:
      pass

  ncols = floor(len(ltcolors)**.5)
  nlines = ceil(len(ltcolors)**.5)
  if ncols * nlines < len(ltcolors): ncols += 1
  lineh = sh // (nlines + 1)
  colw = sw // (ncols + .5)
  x, y = colw / 2, sh - 1 - lineh

  for c in ltcolors:
    plot((x, x + colw / 2), (y, y), c)
    text(x, y, c)
    y -= lineh
    if y<=0:
      y = sh - 1 - lineh
      x += colw

  print(len(ltcolors))
  show()
  return ltcolors


Effectivement, si la
NumWorks
reconnaît 18 noms de couleurs prédéfinies soit un petit peu plus que la concurrence, elle souffre encore de quelques manques parmi les couleurs de base :
Casio
NumWorks
black / k

white / w

red / r

yellow / y

green / g

blue / b

cyan / c

magenta

.
.
.
.
black / k

white / w

red / r

yellow / y

green / g

blue / b

cyan

grey

brown

orange

purple

pink
8
couleurs
15
noms
12
couleurs
18
noms

Allumons maintenant quelques points :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

plot(10,20,"+")
plot(5,12,"+")
plot(7,18,"+")
show()

Aille, ici encore un problème sur la
NumWorks
qui accepte certes désormais le 3ème argument de la fonction
plot()
pour la forme des points, mais en refuse la valeur
"+"
. :'(

Testons de façon similaire tous les styles de point standard à l'aide du script suivant afin de savoir ce qui est géré ou pas :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotl import *
  from casioplot import set_pixel, get_pixel
  sw, sh = 384, 192
  set_pixel(0, 0, (0, 127, 255))
  _col = get_pixel(0, 0)
  if not(_col[0] != _col[1] or _col[1] != _col[2]):
    sw, sh = 128, 64
except ImportError:
  from matplotlib.pyplot import *
  sw, sh = 320, 222

from math import *

lmarkers = [".",",","o","v","^","<",">","1","2","3","4","8","s","p","P","*","h","H","+","x","X","D","d","|","_"," ","None",""]

def markers():
  ltmarkers = []
  axis((0, sw - 1, 0, sh - 1))
  axis('off')

  for c in lmarkers:
    try:
      plot(0, 0, c)
      print(c)
      ltmarkers.append(c)
    except:
      pass

  ncols = floor(len(ltmarkers)**.5)
  nlines = ceil(len(ltmarkers)**.5)
  if ncols * nlines < len(ltmarkers): ncols += 1
  lineh = sh // (nlines + 1)
  colw = sw // (ncols + .5)
  x, y = colw / 2, sh - 1 - lineh

  for c in ltmarkers:
    plot(x, y, c)
    text(x + colw / 4, y, c)
    y -= lineh
    if y<=0:
      y = sh - 1 - lineh
      x += colw

  print(len(ltmarkers))
  show()
  return ltmarkers


Déjà problème, l'allumage d'un point avec
plot()
semble ne pas du tout marcher sur la
NumWorks
.

Et en face chez
Casio
, bien que 4 styles de point différents soient gérés, ils affichent visiblement tous la même chose.

Sinon effectivement, très peu de marqueurs sont gérés sur la
NumWorks
, et pas les mêmes que chez la concurrence :
Casio
NumWorks
.
o
*
+
.
1
_
4
marqueurs
3
marqueurs

Pénultième batterie de tests, passons maintenant à quelques flèches / vecteurs :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

arrow(0.20, 0.54, 0, -0.15)
arrow(0.30, 0.46, 0, -0.15)
arrow(0.40, 0.59, 0, -0.15)
show()

Personne ne semble tracer les pointes de flèches de la même façon, mais au moins ça marche.

Tentons donc de prendre le contrôle de la flèche :
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

arrow(0.2,0.1,0.4,0.6,head_width=0.1)
show()

Enfin, terminons avec les diagrammes en boîte avec la fonction
boxplot()
:
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

Val=[1,2,2,11,8,9,15,18,20,9,2,5,6,7,8,9,5,9]

boxplot(Val)
show()


Et histoire d'avoir des diagrammes en boîte correctement affchés dans le cadre de l'enseignement français,
Casio
rajoute en prime au standard avec la fonction
boxplotFR()
:
Graph 35+E II
Graph 90+E
NumWorks
ordi
Code: Select all
>>> boxplotFR(Val)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'boxplotFR' is not defined
Code: Select all
try:
  from matplotlib.pyplot import *
except ImportError:
  from matplotl import *

Val=[1,2,2,11,8,9,15,18,20,9,2,5,6,7,8,9,5,9]
boxplotFR(Val)
show()

Hélas, la fonction
boxplot()
n'est toujours pas incluse chez
NumWorks
. :'(

Contrairement au module
turtle
précédent,
matplotlib.pyplot
est encore incomplet et souffre également de quelques petits écarts ou bugs. La conformité au standard n'en est pas au même point, et
matplotlib.pyplot
à la différence ne permet donc pas encore de pouvoir lancer les yeux fermés les scripts fournis dans les livres ou récupérés sur Internet.

Il n'empêche que l'implémentation déjà réalisée de
matplotlib.pyplot
est un travail titanesque et qu'elle a en prime beaucoup progressé depuis la version précédente. :bj:

Notre ressenti est donc globalement très positif;
NumWorks
est en très bonne voie, et nous espérons pouvoir continuer à noter des progrès dans la prochaine version. ;)




10) Python et mémoires

Go to top

Les interpréteurs
MicroPython
ou similaires qui tournent sur ta calculatrice font appel à 3 types de mémoires avec les rôles suivants :
  • la mémoire de stockage qui accueille et conserve tes scripts
  • le
    stack (pile)
    qui, à l'exécution, accueille les références vers les objets créés
  • le
    heap (tas)
    qui, à l'exécution, accueille les valeurs de ces objets

En gros le
stack / pile
limite donc le nombre d'objets différents pouvant exister simultanément en mémoire, alors que le
heap / tas
limite la taille globale occupé par ces objets.

La mémoire de stockage est toujours de
32 Kio
.

Une façon de mesurer maintenant la capacité de
stack / pile
de façon relative c'est la récursivité, soit les fonctions qui se rappellent elles-mêmes. Prenons le script suivant :
Code: Select all
def sumr(n):return n>0 and n+sumr(n-1)

def maxr(fct):
  n=0
  try:
    while True:
      fct(n)
      n=n+1
  except Exception as e:print(e)
  return n

A moins d'avoir négligé un paramètre, il semble ici y avoir un recul. L'appel maxr(sumr) ne renvoie plus
144
mais
128
.

D'où le classement :
Aux examens :
  1. 128
    :
    NumWorks
  2. 82
    :
    Casio Graph 90+E

    Casio Graph 35+E II
  3. 77
    :
    HP Prime
    (version alpha)
  4. 23

    TI-83 Premium CE Edition Python
En classe :
  1. 5362
    :
    Casio Graph 35/75+E
    (application CasioPython)
  2. 655
    :
    Casio Graph 35+E II
    (application CasioPython)
  3. 128
    :
    NumWorks
  4. 130
    :
    TI-Nspire
    (application MicroPython)
  5. 82
    :
    Casio Graph 90+E

    Casio Graph 35+E II
  6. 77
    :
    HP Prime
    (version alpha)
  7. 23

    TI-83 Premium CE Edition Python
  8. 20

    TI-83 Premium CE + TI-Python
  9. 15

    TI-83 Premium CE + TI-Python

Malgré cela en terme de
stack / pile
, la
NumWorks
apparaît toujours comme disposant du meilleur
Python
en mode examen ! :bj:

Pour mesurer maintenant la capacité de
heap / tas
, nous faisons appel au script :
Code: Select all
def sizeenv():
  s=0
  import __main__
  for o in dir(__main__):
    try:s+=size(eval(o))
    except:pass
  return s
def size(o):
  s,t=0,type(o)
  if t==str:s=49+len(o)
  if str(t)=="<class 'function'>":s=136
  if t==int:
    s=24
    while o:
      s+=4
      o>>=30
  if t==list:
    s+=64
    for so in o:s+=8+size(so)
  return s
def mem(v=1,r=1):
  try:
    l=[]
    try:
      l+=[r and 793+sizeenv()]
      if v*r:print(" ",l[0])
      l+=[0]
      l+=[""]
      l[2]+="x"
      while 1:
        try:l[2]+=l[2][l[1]:]
        except:
          if l[1]<len(l[2])-1:l[1]=len(l[2])-1
          else:raise(Exception)
    except:
      if v:print("+",size(l))
      try:l[0]+=size(l)
      except:pass
      try:l[0]+=mem(v,0)
      except:pass
      return l[0]
  except:return 0

12385Pas de changement notable ici, l'appel
mem()
continue à renvoyer dans les
32 Ko
.

D'où le classement :
Aux examens :
  1. 1,032942 Mo
    :
    Casio Graph 90+E
  2. 1,022145 Mo
    :
    HP Prime
    (version alpha)
  3. 100,560 Ko
    :
    Casio Graph 35+E II
  4. 32,339 Ko

    NumWorks
    (firmware Omega)
  5. 31,624 Ko

    NumWorks
  6. 20,200 Ko

    TI-83 Premium CE Edition Python
En classe :
  1. 2,049276 Mo
    :
    TI-Nspire
    (application MicroPython)
  2. 1,032942 Mo
    :
    Casio Graph 90+E
  3. 1,022145 Mo
    :
    HP Prime
    (version alpha)
  4. 257,636 Ko
    :
    Casio Graph 35/75+E
    (application CasioPython)
  5. 100,560 Ko
    :
    Casio Graph 35+E II
  6. 31,899 Ko
    :
    Casio Graph 35+E II
    (application CasioPython)
  7. 32,339 Ko

    NumWorks
    (firmware Omega)
  8. 31,624 Ko

    NumWorks
  9. 22,605 Ko

    TI-83 Premium CE + TI-Python
  10. 20,200 Ko

    TI-83 Premium CE Edition Python
  11. 19,924 Ko

    TI-83 Premium CE + TI-Python




11) Python et exploration modules

Go to top

Puisque nous avons donc une toute nouvelle version
MicroPython
ainsi que de nouvelles fonctions dans certains modules, petit bilan en passant au sujet de la richesse des solutions
Python
sur calculatrices. Nous explorons les modules avec le script
explmod.py
:
Code: Select all
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform.startswith('TI-Python') or sys.platform=='Atmel SAMD21':id=4
    except:id=3
  except:
    try:
      import kandinsky
      id=1
    except:
      try:
        if chr(256)==chr(0):id=5+(not ("HP" in version()))
      except:
        id=2
  return id

platform=getplatform()
#lines shown on screen
#plines=[29,12,  7, 9,11,0,0]
plines=[29,16,  7, 9,11,0,0]
#max chars per line
#(error or CR if exceeded)
pcols =[53,99,509,32,32,0,0]

unsafe = ((), (), (), ('sys.argv', 'sys.path'), (), (), ())

if platform>=0:
  curline=0
  _p = print
  nlines=plines[platform]
  ncols=pcols[platform]
  def print(*ls):
    global curline
    st=""
    for s in ls:
      if not(isinstance(s,str)):
        s=str(s)
      st=st+s
    stlines=1+int(len(st)/ncols)
    if curline+stlines>=nlines:
      input("Input to continue:")
      curline=0
    _p(st)
    curline+=stlines

def sstr(obj):
  try:
    s=obj.__name__
  except:
    s=str(obj)
    a=s.find("'")
    b=s.rfind("'")
    if a>=0 and b!=a:
      s=s[a+1:b]
  return s

def isExplorable(obj):
  for k in done:
    try:
      if isinstance(obj, eval(k)):
        t, done[k] = done[k], True
        return not t
    except: pass
  if str(obj).startswith("<module"): return False
  l = ()
  try: l = dir(obj)
  except: pass
  return len(l)

done = {'str':False, 'list':False, 'tuple':False, 'dict':False, 'complex':False, 'set':False, 'frozenset': False}

def explmod(pitm, pitmsl=[], reset=True):
  global curline
  spitm=sstr(pitm)
  if(reset):
    curline=0
    pitmsl=[spitm]
    for k in done: done[k] = False
  hd="."*(len(pitmsl)-1)
  c,c2=0,0
  l = sorted(dir(pitm))
  for i in range(len(l)):
    l[i] = (l[i], getattr(pitm, l[i]))
  try:
    if not isinstanceof(pitm, str):
      for i in range(len(pitm)):
        l.append((spitm+'['+str(i)+']',pitm[i]))
  except: pass
  for itm in l:
    c,c2=c+1,c2+1
    isUnsafe = platform >= 0 and '.'.join(pitmsl + [itm[0]]) in unsafe[platform]
    try:
      if isUnsafe: raise Exception
      print(hd+itm[0]+"="+str(itm[1]))
    except:
      print(hd+itm[0])
    if not isUnsafe and isExplorable(itm[1]) and itm[1] != pitm and itm[0] not in pitmsl:
      pitmsl2=pitmsl.copy()
      pitmsl2.append(itm[0])
      c2=c2+explmod(itm[1], pitmsl2, False)[1]
  if c>0 and reset:
    print(hd+"Total: "+str(c)+" 1st level item(s)")
    if c2>0 and c2!=c:
      print(hd+"       "+str(c2)+" item(s)")
  return [c,c2]


D'où le classement :
Casio Graph
35+E II
90+E
NumWorks
TI-83PCE
Ed. Python
builtins
array
collections
cmath
gc
math
matplotlib
matplotlib.pyplot
micropython
os
random
sys
time
turtle
uerrno
84-197
.
.
.
.
25-47
.
.
.
.
8-30
.
.
.
.
97-1581
3-363
.
13-428
9-404
42-602
.
.
10-410
.
.
17-977
.
.
25-1277
89-211
.
.
12-34
.
41-63
3-25
11-33
7-29
.
9-31
.
3-25
40-62
.
92-211
2-24
2-24
.
7-29
28-50
.
.
.
.
8-30
15-93
4-26
.
.
spécifique
casioplot:6-28prime:3-368ion:48-162
kandinsky:6-28
ti_graphics:30-75
ti_hub:20-42
ti_plotlib:49-84
ti_system:12-34
ti_rover:66-92
analogin:3-46
analgout:3-48
bbport:3-44
brightns:5-29
color:6-30
colorinp:3-39
conservo:3-47
dht:3-25
digital:3-25
led:3-25
light:6-30
lightlvl:3-46
loudness:3-25
magnetic:3-25
moisture:3-25
potentio:3-46
power:3-25
ranger:3-25
relay:3-25
rgb:3-25
rgb_arr:3-52
servo:3-25
sound:5-29
speaker:3-25
squarewv:3-46
temperat:3-45
thermist:3-46
timer:3-35
vernier:3-25
vibmotor:3-47
Modules
4
9
11
43
Eléments
123-302
219-6042
269-703
435-1844

  1. 435-1844
    éléments :
    TI-83 Premium CE Edition Python
  2. 269-703
    éléments :
    NumWorks
  3. 219-6042
    éléments :
    HP Prime
    (version alpha)
  4. 123-302
    éléments :
    Casio Graph 90+E / 35+E II
Casio Graph
35+E II
90+E
CasioPython
Casio Graph
35+E II
35+E/USB
75/85/95
MicroPython
TI-Nspire
TI-Python
TI-83PCE
Ed. Python
builtins
array
collections
cmath
gc
math
matplotlib
matplotlib.pyplot
micropython
os
random
sys
time
turtle
uerrno
84-197
.
.
.
.
25-47
.
.
.
.
8-30
.
.
69-126
.
91-230
2-28
.
12-38
7-33
41-67
.
.
6-32
.
8-34
12-38
.
.
24-108
93-218
2-28
.
12-38
7-33
41-67
.
.
3-29
.
.
15-86
.
.
.
92-212
2-24
2-24
.
7-29
28-50
.
.
.
.
8-30
15-93
4-26
.
.
93-214
2-25
2-25
12-35
7-30
41-64
.
.
6-29
15-38
8-31
15-99
8-33
.
.
92-211
2-24
2-24
.
7-29
28-50
.
.
.
.
8-30
15-93
4-26
.
.
spécifique
casioplot:6-28
matplotl:25-68
nsp:3-10board:22
storage:7-47
ti_graphics:30-75
ti_hub:20-42
ti_plotlib:49-84
ti_system:12-34
ti_rover:66-92
ce_box:5-32
ce_chart:8-67
ce_quivr:5-41
ce_turtl:9-98
analogin:3-46
analgout:3-48
bbport:3-44
brightns:5-29
color:6-30
colorinp:3-39
conservo:3-47
dht:3-25
digital:3-25
led:3-25
light:6-30
lightlvl:3-46
loudness:3-25
magnetic:3-25
moisture:3-25
potentio:3-46
power:3-25
ranger:3-25
relay:3-25
rgb:3-25
rgb_arr:3-52
servo:3-25
sound:5-29
speaker:3-25
squarewv:3-46
temperat:3-45
thermist:3-46
timer:3-35
vernier:3-25
vibmotor:3-47
Modules
6
9
8
9
13
47
Eléments
217-496
203-608
176-509
158-488
238-692
462-2082

  1. 462-2082
    éléments :
    TI-83 Premium CE Edition Python
  2. 269-703
    éléments :
    NumWorks
  3. 238-692
    éléments :
    TI-83 Premium CE + TI-Python
    (firmware tiers)
  4. 219-6042
    éléments :
    HP Prime
    (version alpha)
  5. 217-496
    éléments :
    Casio Graph 90+E / 35+E II / fx-CG50 / fx-9750/9860GIII
  6. 203-608
    éléments :
    Casio Graph 75/85/95 / 35+E/USB / 35+E II / fx-9750GII/GIII / fx-9860G/GII/GIII
    (appli CasioPython)
  7. 176-509
    éléments :
    TI-Nspire
    (appli MicroPython)
  8. 158-488
    éléments :
    TI-83 Premium CE + TI-Python

La
NumWorks
apparaît donc comme l'une des solutions nomades les plus riches niveau
Python
! :bj:




Conclusion

Go to top

NumWorks
nous signe donc aujourd'hui une superbe mise à jour avec des progrès très significatifs pour l'utilisateur et l'enseignement en classe ! :bj:

Des avancées majeures dans les applications
Calculs
et
Python
, et de superbes améliorations et extensions des modules
turtle
et
matplotlib.pyplot
de cette dernière. :D

Visiblement
NumWorks
tient compte en un temps record et dans les moindres détails de toutes les critiques bienveillantes que nous pouvons publier. ;)

Et tout cela comme d'habitude disponible gratuitement, que demander de plus ? :)

Petit alerte toutefois, le
firmware
NumWorks
en version
14
est nettement plus gros que la version précédente, avec pas moins de
921,6 Kio
.
Ce n'est absolument pas problématique pour la
NumWorks N0110
distribuée à partir de la rentrée 2019 avec ses
8 Mio
de
Flash
.

Nous sommes toutefois de plus en plus inquiets pour la
NumWorks N0100
originale sortie pour la rentrée 2017. Ses
1 Mio
de
Flash
sont donc maintenant occupés par le dernier
firmware
à plus de
90%
.

Si les améliorations continuent au même rythme, d'ici quelques versions il deviendra impossible de faire tout rentrer sur
NumWorks N0100
... :#roll#:

Le constructeur va visiblement devoir prendre de grandes décisions assez rapidement...

Liens
:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 6.8%
 
Posts: 35644
Images: 9555
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Online

Re: Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Unread postby redgl0w » 15 Jul 2020, 16:22

D'ailleurs autre changement qui, je trouve, a son importance : le fonctionnement de la touche backspace en alpha lock a changé : avant cette version, que l'on soit en alpha ou en alpha lock, la touche backspace insérait un % (ce qui était très peu pratique pour écrire des scripts python, car quand on était en alpha lock, on ne pouvait pas retirer les caractères). Maintenant, en alpha lock, la touche backspace retire le dernier caractère (alors qu'en alpha elle ajoute un %).

Edit : les couleurs en python ont aussi connu d'autres changement, comme la possibilité d'utiliser des couleurs telles que :
- "#ffffff" : style de couleur utiliser en css
- "0.5" pour les niveaux de gris
User avatar
redgl0wGénéreux
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 22.9%
 
Posts: 79
Joined: 30 Oct 2019, 20:36
Gender: Male
Calculator(s):
Class: 2nde
GitHub: RedGl0w

Online

Re: Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Unread postby critor » 15 Jul 2020, 17:21

Merci pour tes précisions. :)

redgl0w wrote:D'ailleurs autre changement qui, je trouve, a son importance : le fonctionnement de la touche backspace en alpha lock a changé : avant cette version, que l'on soit en alpha ou en alpha lock, la touche backspace insérait un % (ce qui était très peu pratique pour écrire des scripts python, car quand on était en alpha lock, on ne pouvait pas retirer les caractères). Maintenant, en alpha lock, la touche backspace retire le dernier caractère (alors qu'en alpha elle ajoute un %).

Il me semble que c'était déjà le cas en version 13.2, ou alors je confonds avec Omega.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 6.8%
 
Posts: 35644
Images: 9555
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Online

Re: Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Unread postby Afyu » 15 Jul 2020, 17:49

Un test rapide sur un simulateur local (compilé) et également sur la version web du simulateur, tout ça en version 13.2 confirme ce que dit Critor. C'était déjà le cas dans la 13.2.
User avatar
AfyuGénéreux
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 97.5%
 
Posts: 70
Images: 2
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
Class: plutôt, oui :)

Re: Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Unread postby Bobb » 16 Jul 2020, 10:57

La fonction pour lire les fichiers n'est pas présente ?
Tous mes programmes sont disponibles
ici

Image
User avatar
Bobb
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 67.2%
 
Posts: 97
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
Class: Seconde

Online

Re: Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Unread postby redgl0w » 16 Jul 2020, 11:06

Bobb wrote:La fonction pour lire les fichiers n'est pas présente ?

Non, mais M4x1m3 a ouvert un PR sur epsilon pour le rajouter, qui est déjà merged dans omega.
User avatar
redgl0wGénéreux
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 22.9%
 
Posts: 79
Joined: 30 Oct 2019, 20:36
Gender: Male
Calculator(s):
Class: 2nde
GitHub: RedGl0w

Re: Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Unread postby Bobb » 16 Jul 2020, 11:10

Ok cool
Tous mes programmes sont disponibles
ici

Image
User avatar
Bobb
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 67.2%
 
Posts: 97
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
Class: Seconde

Online

Re: Super mise à jour NumWorks v. 14.4.0 : Calculs et Python

Unread postby cent20 » 16 Jul 2020, 11:23

Ce qui est super avec ce genre de news de présentation d'une mise à jour d'une calculatrice, c'est que tu y découvres un de nombreux usages possibles en classe avec les élèves.

J'ai suivi plusieurs formations NumWorks, TI, Casio sur python ces derniers mois, et je n'y ai rien appris de sérieux, et là en lisant simplement cette news, même rapidement en 15 minutes, j'ai pris une claque en python.

Maintenant, le support "forum" est-il optimal pour retrouver ce contenu ?

Au détour d'une annonce d'une maj, c'est surtout une présentation exhaustive d'élément de codage en python, de fonctionnalités liées à turtle / matplotlib et leur implémentation sur les différentes machines disponibles.

Merci pour ce travail de documentation et de tests.
Image
Enseignant de mathématiques et de spécialité NSI ( projets, tutos ...)
:favorite: NumWork, Python : démineur, snake, tétris
User avatar
cent20Généreux
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 26.1%
 
Posts: 390
Images: 30
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):


Return to News NumWorks

Who is online

Users browsing this forum: No registered users and 15 guests

-
Search
-
Featured topics
L'OS 5.5 de la TI-83 Premium CE / 84 Plus CE supprime l'assembleur - la plupart des jeux et certains programme ne fonctionneront plus
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Comparaisons des meilleurs prix pour acheter sa calculatrice !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

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.
699 utilisateurs:
>680 invités
>13 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)