π
<-
Chat plein-écran
[^]

Firmware NumWorks 10.0.0 bêta; module turtle Python !

Firmware NumWorks 10.0.0 bêta; module turtle Python !

Unread postby critor » 03 Feb 2019, 15:02

NumWorks
travaille actuellement sur la prochaine mise à jour
10.0.0
de sa calculatrice. Celle-ci est déjà disponible en version bêta, à condition de la compiler à partir du code source officiel.

Mais cette fois-ci, une version compilée de la
10.0.0 bêta
vient d'être diffusée par dans le contexte de son Python amélioré pour les jeux. Profitons-en donc pour découvrir les nouveautés à venir. ;)

10238D'une part, nous notons des améliorations apportées au moteur de calcul.

Il est désormais capable de renvoyer des résultats exacts lorsque l'on passe un argument complexe aux fonctions de module et d'argument ! :bj:

D'autre part, pour la rentrée 2019, selon le nouveau programme de
Physique-Chimie
de la
Seconde Générale et Technologique
, il faudra programmer des tracés en langage
Python
:
  • mouvement plan d'un objet ponctuel
  • nuage de points
  • vecteurs vitesse et variations

La
NumWorks
est certes le seul modèle à ce jour à disposer d'une implémentation
Python
constructeur
(et donc disponible en mode examen)
permettant de dessiner sur l'écran, à l'aide du module
kandinsky
.

Mais le dernier point évoqué, à savoir représenter des vecteurs, c'est-à-dire une direction, un sens et peut-être même la flèche qu'il y a au bout, n'en reste pas moins un problème trigonométrique bien conséquent, qui ne nous semble pas évident à faire résoudre à un niveau Seconde.
A moins bien sûr de distribuer des fonctions Python précodées par l'enseignant, ce qui n'aura alors pas grand intérêt...

10224Une fois de plus, le constructeur
NumWorks
nous prouve sa grande réactivité en n'attendant pas le dernier moment pour apporter une solution, l'inclusion dans son application
Python
du module
turtle
développé par en novembre 2018.

Tracer maintenant un vecteur en coordonnées relatives et non absolues, même avec la flèche au bout, n'a plus du tout la même complexité ! :bj:
C'est doublement une excellente solution à notre problème, puisque c'est également l'occasion de réinvestir les acquis de collège avec le codage de tracés en langage
Scratch
, mais dans le cadre maintenant d'un langage textuel conformément aux programmes du lycée. :bj:

Y sont disponibles des équivalents pour l'ensemble des fonctions
Scratch
du collège :
10237102361023510234
10233102321023110230


10229De quoi tracer facilement des vecteurs ou même encore plus complexe comme des fleurs ! ;)
Code: Select all
from turtle import *
import kandinsky

def forbackward(d):
  forward(d)
  backward(d)
 
def pf(d=1,gd=-1,nervure=False):
  n=9
  pos=position()
  for j in range(2):
    for k in range(n):
      forward(d)
      right(gd*90/n)
    right(gd*90)
  if nervure:
    right(gd*40)
    forbackward(5*d)
    right(-gd*40)

def fleur(npetales=8,nfeuilles=2,ltige=160,kfeuille=1,c=kandinsky.color(255,255,0)):
  d=ltige/(nfeuilles+1)
  color(0,191,0)
  for j in range(nfeuilles):
    forward(d)
    pf(kfeuille,2*(j%2)-1,True)
  forward(d)
  color((c>>11)<<3,((c>>5)%64)<<2,(c%32)<<3)
  for j in range(npetales):
    pf(kfeuille,-1)
    left(360/npetales)

#example
from math import *

def hsv2color(h,s=1,v=1):
  c=v*s
  x=c*(1-abs((h%120)/60-1))
  m=v-c
  k=int(h/60)
  r=255*(m+x*(k==1 or k==4)+c*(k==5 or k==0))
  g=255*(m+c*(k==1 or k==2)+x*(k==3 or k==0))
  b=255*(m+x*(k==2 or k==5)+c*(k==3 or k==4))
  return kandinsky.color(round(r),round(g),round(b))

def horiz(y,col):
  for x in range(320):
    kandinsky.set_pixel(x,y,col)

for j in range(112):
  horiz(111-j,hsv2color(210,0+1*j/111,1))
  horiz(111+j,hsv2color(30,.1+.9*j/111,.7))

sw=320
sh=222
ymax=sh/2
ymin=ymax-sh+1
xmin=-sw/2
xmax=xmin+sw-1
penup()
goto(0,ymin)
setheading(90)
pendown()
fleur(12,9,ymax-ymin+1-26,3,kandinsky.color(255,255,0))

Creusons un petit peu la chose, et explorons ce que renferme ce module à l'aide du script suivant :
Code: Select all
#platforms:
#0: MicroPython / TI-Nspire
#1: MicroPython / NumWorks
#2: MicroPython / G90+E
#3: MicroPython / G35+E/USB / G75/85/95
#4: CircuitPython / TI-Python / 83PCE
#5: Xcas / HP Prime
#6: KhiCAS / Graph 90+E
def getplatform():
  id=-1
  try:
    import sys
    try:
      if sys.platform=='nspire':id=0
      if sys.platform=='TI-Python Adapter':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]
#max chars per line
#(error or new line if exceeded)
pcols =[53,99,509,32,32,0,0]

nlines=plines[platform]
ncols=pcols[platform]
curline=0

def mprint(*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
  print(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):
  s=str(obj)
  return s.startswith("<module '") or s.startswith("<class '")

def explmod(pitm,pitmsl=[],reset=True):
  global curline
  if(reset):
    curline=0
    pitmsl=[sstr(pitm)]
  hd="."*(len(pitmsl)-1)
  spath=".".join(pitmsl)
  c=0
  for itms in sorted(dir(pitm)):
    c=c+1
    try:
      itm=eval(spath+"."+itms)
      mprint(hd+itms+"="+str(itm))
      if isExplorable(itm):
        pitmsl2=pitmsl.copy()
        pitmsl2.append(itms)
        c=c+explmod(itm,pitmsl2,False)
    except:
      mprint(hd+itms)
  if c>0:
    mprint(hd+"Total: "+str(c)+" item(s)")
  return c

10225102261022710228

38
éléments donc, soit de quoi chambouler notre classement de la richesse des implémentations de
pythonnettes
dès la sortie de cette mise à jour ! :bj:
NumWorks
Casio
Graph 90+E
module externe
TI-Python
pour
TI-83 Premium CE
builtins218188175204190
array444
collections2
cmath121212
gc777
math4141254128
random8888
sys151215
time34
turtle38
spécifique
10
(nsp)
5
(kandinsky)
4
(handshake)
Modules
7
7
3
7
9
Éléments
307
295
208
288
262


D'où le classement suivant :
  1. avec
    7
    modules et
    307
    entrées
  2. NumWorks
    avec
    7
    modules et
    295
    entrées
  3. avec
    7
    modules et
    288
    entrées
  4. module externe
    TI-Python
    pour
    TI-83 Premium CE
    avec
    9
    modules et
    262
    entrées
  5. Casio Graph 90+E
    avec
    3
    modules et
    208
    entrées

Attention le firmware
10.0.0
téléchargeable ci-dessous est donc en version bêta non finale. Des problèmes peuvent apparaître même en dehors des points évoqués; il t'est déconseillé de l'installer si tu as de prochains rendez-vous importants
(DS, examens, concours...)
. :#non#:

Téléchargement
:
firmware
10.0.0 bêta
(installable facilement via webdfu_numworks )
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 87.8%
 
Posts: 31864
Images: 8193
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Firmware NumWorks 10.0.0 bêta; module turtle Python !

Unread postby critor » 03 Feb 2019, 22:31

Pour la taille du firmware que l'on m'a demandée.

Nette progression par rapport à la version 9.2.0 :
Image
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 87.8%
 
Posts: 31864
Images: 8193
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Firmware NumWorks 10.0.0 bêta; module turtle Python !

Unread postby compsystems » 04 Feb 2019, 03:33

Hello, Critor, please you can add a platform more xcas-online and also attach the link, this can be obtained by pressing the [f] button at the top of the following link, which copies it to the clipboard

https://www-fourier.ujf-grenoble.fr/~pa ... casen.html

Thank you
Example


session Xcas-online

#platforms:
#0: MicroPython / TI-Nspire
#1: MicroPython / NumWorks
#2: MicroPython / G90+E
#3: MicroPython / G35+E/USB / G75/85/95
#4: CircuitPython / TI-Python / 83PCE
#5: KhiCAS / Graph 90+E
#6: Xcas / HP Prime
#7: Xcas On-line
User avatar
compsystems
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 29.7%
 
Posts: 232
Joined: 30 May 2011, 13:44
Gender: Male
Calculator(s):


Return to News NumWorks

Who is online

Users browsing this forum: No registered users and 1 guest

Campagne de dons
Pour nous aider à financer nos déplacements sur les salons/congrès qui vous donnent du contenu exclusif

Vous aurez droit aux avantages VIP et des goodies !
30%
-
Search
-
Featured topics
Avantages VIP et goodies pour les donateurs !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
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 
-
Stats.
374 utilisateurs:
>362 invités
>6 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)