π
<-
Chat plein-écran
[^]

TI-z80 DeeperYouGo, la grande descente pour Oiram CE

Nouveau messagede critor » 11 Déc 2017, 17:46

7698Pour t'amuser cette semaine voici
DeeperYouGo
, un pack de 6 niveaux par
Nero_the_Necro
pour le moteur de jeux
Mario-like
Oiram CE
sur ta
TI-83 Premium CE
.
Mario Oiram
commence son aventure au Paradis, mais, comme le suggère le titre du pack, ainsi que les titres de niveaux, va rapidement descendre sur Terre, puis sous l'eau, sous terre... à la poursuite du terrible
Bowser Reswob
.

Serait-ce une véritable descente aux Enfers ?... A toi de le découvrir si tu en as le courage ! ;)













Rappelons que
Oiram CE
nécessite les bibliothèques C téléchargeables ci-dessous. Rien de compliqué, juste à transférer les fichiers en question devenant alors immédiatement fonctionnels. :)




Téléchargements
:
Lien vers le sujet sur le forum: DeeperYouGo, la grande descente pour Oiram CE (Commentaires: 1)

Divers Résultats catégorie NumWorks concours Galactik rentrée 2017

Nouveau messagede critor » 10 Déc 2017, 22:15

Image

Après la publication du classement de la catégorie
HP
dans un article précédent, voici enfin aujourd'hui le classement catégorie
NumWorks
de notre concours de rentrée 2017
Galactik
! :bj:

Samuel V.
arrive
8ème
avec une disposition périphérique évaluée à .


Manu R.
quant à lui arrive à une disposition valant , se classant ainsi
7ème
.


Mention honorable pour
MMBC_Chris
qui passe à une disposition quadripolaire lui obtenant un score de après
2 participations
. Toutefois il a par la suite changé pour la catégorie
TI
.


Iamissam
arrive quant à lui à faire mieux après
3 participations
avec un unique amas d'étoiles central, terminant avec à la
6ème
place.


Mention honorable avec un amas d'étoiles un peu plus excentrée pour
Cyril S.
mais avec un peu plus d'ordre avec des dispositions remarquables en triangle et en carré, qui arrive ainsi à faire encore mieux avec . Il a par la suite opté pour la catégorie
HP
.

@Cyril, quel est ton secret ?

Cyril S. a écrit:Quand j’ai découvert le concours, pour des raisons de facilités, j’ai commencé à chercher dans la catégorie Numworks, où j’ai posté un premier score trouvé empiriquement. Bien qu’appréciant les calculatrices, je suis totalement novice dans la programmation sur calculatrice ou simplement le transfert de fichiers.
Puis j’ai chargé le programme pour ma Casio CP400 (que j’ai depuis deux mois), même si les lots ne m’intéressait pas vraiment. Après avoir essayé de déplacer fastidieusement les étoiles et pensé que soit j’avais mal fait l’importation, soit que le programme était bogué, j’ai chargé l’émulateur HP Prime, et j’ai vraiment commencé à être méthodique.
J’ai commencé par placer toutes les planètes en haut de l’écran, j’ai descendu la première, puis les autres une à une, afin d’établir un tableau répertoriant les différentes interactions avec des --, -, +, ++, tableau qui correspondra à la matrice G. Cela m’a permis de voir la distance 20 revenant pour les interactions positives.
J’ai ensuite copié le programme dans Notepad++, afin de l’indenter, et l’analyser en détail. J’ai découvert le fonctionnement du ranseed, puis compris comment le score était calculé. J’ai créé une liste avec les valeurs du ranseed(42) que j’ai exportée vers Excel, elle m’a permis de créer la matrice G.
Puisqu’il fallait placer les planètes avec une distance de 20, sur papier, j’ai disposé les planètes sur un maillage en formant des triangles équilatéraux en fonction des valeurs de G, en trouvant les coordonnées avec un peu de trigonométrie. Et j’ai obtenu un score aux alentours de 121 millions.
Pour essayer d’améliorer, j’ai repris Excel et créé une succession de matrices afin d’y calculer directement le score et d’utiliser les algorithmes du solveur. Que ce soit clair, il s’en sort peut être bien pour une fonction du second degré, mais là, il y a beaucoup trop d’extrema locaux, et globalement, il n’a presque jamais été en mesure d’améliorer la position initiale donnée, parfois quelques centièmes grappillés quand même.
J’ai fini par trouver à la main encore une réponse un peu meilleure avec 124,4 millions que je n’ai pas postée. Je comptais la garder pour revenir dans la catégorie HP, après avoir posté des résultats dans d’autres catégories, mais des vacances m’ont empêché de poursuivre mes recherches.
Je regrette quand même de ne pas avoir posté le score de 9,4 millions que j’avais trouvé sur CP400, puisqu’aucun score n’a été envoyé avec cette version du programme.

Ce concours était très intéressant, j’ai découvert la HP Prime via son émulateur, et je l’ai vraiment appréciée, la programmation y est compréhensible assez vite.
galactik HP Casio.xlsx
(43.6 Kio) Téléchargé 5 fois


En
5ème
position
Tom H.
scinde la constellation en 2 pôles mais ordonne intégralement l'un d'entre eux selon un quadrillage triangulaire, arrivant ainsi à atteindre un score de ,
3 participations
.


En reprenant cet ordonnancement triangulaire mais avec un unique amas d'étoiles, arrive à monter jusqu'à et donc à se classer
4ème
après avoir persévéré pendant
7 participations
.


Mention honorable avec une disposition partiellement triangulaire mais centrale pour
Lephenixnoir
, qui arrive ainsi à faire monter les enchères à . Il a toutefois la malchance d'être administrateur de
Planète Casio
et ne pouvait donc pas être classé.

@Lephenixnoir, comment t'y étais-tu pris pour disposer tes étoiles ?

Lephenixnoir a écrit:J'ai implémenté un pur algorithme génétique. Ce type d'algo consiste à prendre un population, ici un ensemble de solutions avec leurs scores. Il applique ensuite un cycle bien précis :

1. Évaluation : On calcule le score de chaque configuration
2. Sélection : On ne garde que les meilleures
3. Croisement : On croise les meilleures entre elles pour recréer de la population
4. Altération : On modifie aléatoirement quelques positions (pour éviter de stagner)
5. On recommence à l'étape 1.

Les deux premières étapes sont simples à s'imaginer. Pour la troisième, j'avais deux manières de croiser deux configurations. Dans chacune d'elles, je considérais pour chaque étoile, sa position dans la première configuration, puis dans la deuxième. La première méthode choisissait, pour placer cette étoile dans la configuration fille, une position au hasard sur le segment. La seconde aussi, mais elle se mettait au même endroit (au même rapport de distance, ie. le même barycentre) pour toutes les étoiles, ce qui donnait une sorte de rotation qui préservait bien le score.

Pour l'altération, je faisais vibrer toutes les étoiles sur une amplitude de λ autour de leur position. Tant que le score maximal de la population grandissait, λ restait fixe, mais s'il stagnait, λ devenait plus petit pour permettre de gagner de la précision. Si ça ne suffisant pas, λ devenait très grand pour tenter de débloquer la situation.

Je faisais tourner ça sur 65'000 à 4 millions de générations selon les cas (plus le score semblait prometteur et plus je faisais durer la simulation), en partant de configurations entièrement aléatoires. En le faisant tourner quelques minutes, je sortais plusieurs configurations à plus de 9 millions, mon meilleur score étant 9846814.67 sur Casio et 107711137.32 sur Numworks.

Comme ça ne suffisait pas pour rattraper les premiers, j'ai imaginé un autre système (que je n'ai malheureusement pas eu le temps d'implémenter). Ça consistait à traduire les relations entre les étoiles en forces et à appliquer de la mécanique sur le système. En gros, en combinant la somme de toutes les forces, le système aurait convergé naturellement vers un équilibre local. En plus de ça, j'aurais fait vibrer doucement toutes les planètes avec l'algorithme génétique pour éviter de stagner.
https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=14990#150945


Avec quelque chose de similaire,
Thomas M.
arrive à monter jusqu'à et à se classer
2nd
, si si, après avoir persévéré pendant
5 participations
.


Avec une disposition centrale intégralement ordonnée selon un quadrillage triangulaire,
Oakwood
arrivait initialement à faire mieux, .

Toutefois, il a volontairement envoyé par la suite une configuration moins optimale, expliquant tout à son honneur qu'il pouvait se payer la calculatrice
NumWorks
et préférait laisser leur chance à d'autres candidats, terminant ainsi
3ème
avec après un total de
7 participations
.


Toutes nos félicitations à
proghy_v2
. Avec une organisation triangulaire centrale, il culmine à et décroche ainsi la
1ère
place après
3 participations
.

@proghy_v2, explique-nous vite comment tu as fait ! :)

proghy_v2 a écrit:Déjà si vous me connaissez pas, c'est normal. Je m’intéressais aux calculatrices quand j'étais au lycée, j'ai posté quelques programmes z80 sur le site avant TI Planet, mais dès que j'ai eu un pc portable mon intérêt s'est détourné des calculatrices, donc je suis pas resté longtemps sur TI Planet.

Et puis la semaine dernière s'était Halloween, et je me disais que plus beaucoup de site changeaient de look pour l'occasion, alors je suis venu checker pour voir s'il y avait toujours des beaux artworks Halloween ici. Et je suis tombé sur la news qui annonçait la fin du concours, ça m'a trigger.

J'ai réinstallé wabbitemu pour tester le programme TI mais j'ai pas réussi, il me disait qu'il y avait pas assez de mémoire sur la calculatrice, wtf. Pas envie de me casser la tête, je suis parti sur la version Numworks en js. Comme je suis un quiche en js j'ai utilisé js2py pour convertir tout ça en python. J'ai juste réécris la fonction recalc() à la main pour qu'elle soit performante. Après j'ai testé a peu près tous les algos de la librairie scipy.optimize. Les algo de minimisation locale arrivaient à rien, la fonction est pas assez régulière / linéaire / différentiable que sais-je. Du coup je suis parti sur l'algo « differential evolution ». J'ai essayé pas mal de combinaisons de paramètres pour l'algo et rapidement j'arrivais dans les 106 millions, mais difficile de faire mieux.

Je me suis dit que j'avais plus le choix, qu'il fallait réfléchir. J'ai regardé le code et je me suis mis en tête d'exprimer la fonction avec la matrice de distance en entrée plutôt qu'avec des coordonnées de points. J'avais l'intuition que la fonction serait bien plus régulière et que les algo à descente de gradient pourraient converger. Et ils ont très bien convergé en effet : plus de 150 000 000 millions ! Alors j'ai essayé de placer des points dans le plan qui correspondaient à ces distance, mais c'était pas possible évidemment. J'ai alors ajouté aux problème de minimisation les contraintes pour que les distances vérifient les 3 inégalités triangulaires dans tous les triangles. Encore une fois ça converge bien, plus de 130 millions, je crois avoir touché au but. Mais non, la solution est toujours pas constructible en termes de points.

Je me suis dit qu'il manquaient encore des contraintes au niveau des quadrilatères. J'ai exprimé la longueur de la 6ème longueur en fonction des 5 autres. On se retrouve avec 2 cas :

cas convexe :
f^2=a^2+b^2-2*a*b*cos(arcos((a^2+e^2-c^2)/(2*a*e))-arcos((e^2+b^2-d^2)/(2*e*b)))

cas concave :
f^2=a^2+b^2-2*a*b*cos(arcos((a^2+e^2-c^2)/(2*a*e))+arcos((e^2+b^2-d^2)/(2*e*b)))

Je fais tourner mon algo avec ces contraintes... « math domain error » :/

Donc je prolonge ma fonction arcos pour qu'elle soit continue, pseudo-périodique parce que... je voyais pas quoi faire d'autre qui ait du sens.

Et l'algo a convergé vers un truc pourri, genre 80 millions. Je sas pas si c'est mes contraintes qui étaient trop fortes, ou la fonction pas assez comme il faut. J'ai ragequit, je suis retourné sur l'algo génétique, et au bout d'un moment j'ai trouvé des bon paramètres, ça me donnait dans les 113 millions, suffisant pour être premier.

Après j'ai essayé une autre lib de minimisation qui s'appelle pygmo. L'algo self adaptative differetial evolution arrivait à trouver dans les 110 millions sans se casser la tête à choisir les paramètres. L'algo CMA-ES a réussir à atteindre les 116 millions (fallait juste diviser la sortie de la fonction par un million sinon il stagnait dans les 108 millions). J'ai pas posté ce dernier résultat parce que c'était plus de minuit par contre ^^

Au final j'ai appris pas mal de trucs sur python et la algo de minimisation, c'était cool.
https://tiplanet.org/forum/viewtopic.php?f=49&t=20678&p=223473#p223473


Very honourable distinction for . With a similar but maybe more central constellation, he achieved . But he then moved to the
TI
category
.

@jacobly, how did you manage to achieve such a high score ?

jacobly a écrit:I used simulated annealing programmed in C to get all of my scores. Initially I assumed that I was restricted to integer coordinates which was difficult to optimize and didn't produce very good scores. Then I found out that other people were getting higher scores with fractional coordinates so I switched to a continuous algorithm. At some point I noticed that most of my good configurations had the stars near a "hexagonal" lattice of points where each point is 20 units away from 6 other points. I used this information to create another discrete implementation that only considered the points on this lattice. This let me find close to an optimal score fairly quickly, which I could then polish off by alternating two continuous algorithms. Since I was working with binary floats the whole time, I had no reasonable way to fully optimize the last digit when computed with decimal rounding error, and I ended finding a solution within an ulp of first place in 3 categories.
https://tiplanet.org/forum/viewtopic.php?f=49&t=20678&start=10#p223474



Merci à vous tous pour les efforts, mais aussi pour vos très nombreux messages positifs d'encouragements ou remerciements ayant accompagné vos participations ou comptes rendus de recherche, et qui nous ont fait bien chaud au coeur. :) En effet, ce concours a nécessité de notre part un investissement bénévole très conséquent ainsi qu'une forte abnégation puisque nous n'avons compté :
  • ni notre temps, avec littéralement 4 mois de préparation qui sont à rajouter aux 3 mois s'étant écoulés depuis son lancement
  • ni les goodies, nombre d'entre eux provenant de nos stocks personnels pour lesquels nous avons raclé jusqu'au fond des tiroirs, afin d'accompagner généreusement et équitablement un maximum de lots par catégorie
  • ni notre argent, avec des frais d'expédition atteignant déjà 3 chiffres alors que les envois ne sont même pas terminés
A bientôt. ;)
Lien vers le sujet sur le forum: Résultats catégorie NumWorks concours Galactik rentrée 2017 (Commentaires: 5)

NumWorks Performances, la NumWorks détrône la HP Prime ! :o

Nouveau messagede critor » 09 Déc 2017, 19:07

Comme rappelé récemment dans l'épisode 19 de notre classement QCC de rentrée 2017, la
HP Prime
était depuis la rentrée 2013 la calculatrice graphique la plus rapide. Mais lors de la mise à jour de cet épisode suite à la sortie de la calculatrice
NumWorks
, nous remarquions que la
NumWorks
semblait la dépasser en performances
(testées sur l'évaluation de programmes de calcul numérique)
.

Avec un processeur cadencé quatre fois moins vite,
ARM Cortex-M4
à
100MHz
pour la
NumWorks
contre
ARM9 (ARMv5)
à
400MHz
pour la
HP Prime
(à moins que cette dernière information répandue sur Internet ne soit que la fréquence nominale et non la fréquence réelle ?)
c'était assez surprenant. Nous ne pouvions exclure une erreur de mesure, les écarts ne faisant que quelques centièmes de seconde. En effet notre protocole de test utilisait le même programme pour tous les modèles, programme que l'on ne pouvait pas corser davantage à cause de limitations sur les modèles les plus faibles, et qui donc sur les meilleurs modèles terminait en moins d'une seconde, faisant ainsi perdre aux mesures en précision.

Aujourd'hui que le langage de programmation
Python
de la
NumWorks
n'est plus en version beta, et que la
HP Prime
gère aussi une forme de
Python
, tentons d'éclaircir un petit peu le mystère entourant les différences de performances entre ces deux modèles, et de les départager équitablement.

Nous allons cette fois-ci tester les performances avec un programme graphique. Reprenons le programme
Mandelbrot
inclus en exemple sur la
NumWorks
, et adaptons-le à l'identique pour la
HP Prime
. Nous ne dessinerons donc dans les deux cas que
320x222
pixels au lieu
320x240
, puisque les écritures sur la barre de titre sont bloquées sur la
NumWorks
ce qui pourrait fausser la comparaison.

programme
NumWorks
en
Python

(versions 1.2.0+)
programme
HP Prime
en
simili-Python

(versions 12951+)
Code: Tout sélectionner
import kandinsky
def mandelbrot(W,H,N) :
for x in range(W):
  for y in range(H):
   z=complex(0,0)
   c=complex(2.7*x/(W-1)-2.1,-(1.87*y/(H-1)-.935))
   j=0
   while j<N and abs(z)<2:
    j=j+1
    z=z*z+c
   t=255*j/N
   col=kandinsky.color(int(t),int(.75*t),int(.25*t))
   kandinsky.set_pixel(x,y,col)
Code: Tout sélectionner
#cas
def fractal_python(W,H,N) :
local x,y,z,c,j,t,col
for x in range(W):
  for y in range(H):
   z=0
   c=2.7*x/(W-1)-2.1-i*(1.87*y/(H-1)-.935)
   j=0
   while j<N and abs(z)<2:
    j=j+1
    z=z*z+c
   t=255*j/N
   col=RGB(IP(t),IP(.75*t),IP(.25*t))
   PIXON_P(x,y,col)
FREEZE
WAIT(0)
#end


La
NumWorks
met seulement
1min26s
à effectuer le tracer pendant que la
HP Prime
se traîne péniblement pendant
4min22s
. On confirme donc, hélas, des performances très décevantes pour la
HP Prime
, le même programme mettant 3 fois plus de temps à allumer le même nombre de pixels. :'(

Notons que dans les deux cas, on peut voir à l’œil nu les pixels s'allumer progressivement de haut en bas sur chaque colonne, ce qui suggère bien un fonctionnement similaire des instructions graphiques, légitimant ainsi la comparaison.

Bien que les
TI-Nspire
disposent d'un
Python
non officiel
, nous ne pouvons y exécuter exactement le même programme et c'est pour cela qu'elles sont absentes de ce test. En effet, les fonctions graphiques de l'évaluateur
Python
en question fonctionnent différemment et ne permettent pas d'écrire directement sur l'écran, obligeant à définir et écrire des zones hors écran (offscreen) qui seront remplies puis affichées d'un seul coup. Un très mauvais choix d'ailleurs dans le contexte scolaire de lycéens débutants d'imposer ce fonctionnement, alors qu'au contraire il faudrait leur laisser expérimenter l'écriture directe et en saisir les limites pour qu'il puissent alors comprendre l'intérêt de passer par une zone 'offscreen'. Pas possible non plus de choisir un autre langage interprété comme le TI-Basic, puisqu'il ne dispose pas de fonctions de sorties graphiques sur ces modèles. Le Lua n'est pas non plus une solution puisqu'il ne gère pas les nombres complexes d'une part, obligeant donc à passer par divers astuces risquant de fausser la comparaison, et d'autre part 'bufferise' les sorties écran, les temporisant donc pour les rendre effectives de façon groupée en fin d'exécution de la fonction de rafraîchissement on.paint(gc).




Pourquoi la
HP Prime
est-elle si lente ? Deux hypothèses :
  1. soit on incrimine le
    CAS
    , le langage
    simili-Python
    de la
    HP Prime
    n'étant disponible que dans le contexte
    CAS
    , et nous avions vu dans l'épisode en question que les calculs étaient nettement plus lents dans ce cadre
  2. soit on incrimine son évaluateur/traducteur
    Python

Pour valider ou infirmer cette dernière hypothèse, traduisons le même programme dans le langage interprété
HPPPL CAS
originel de la
HP Prime
:
Code: Tout sélectionner
#cas
fractal_cas(w,h,n)
BEGIN
local x,y,z,c,j,t,col
FOR x FROM 0 TO w-1 DO
  FOR y FROM 0 TO h-1 DO
   z:=0
   c:=2.7*x/(w-1)-2.1-i*(1.87*y/(h-1)-.935)
   j:=0
   WHILE j<N AND abs(z)<2 DO
    j:=j+1
    z:=z*z+c
   END;
   t:=255*j/N
   col=RGB(IP(t),IP(.75*t),IP(.25*t))
   PIXON_P(x,y,col)
  END;
END;
FREEZE
WAIT(0)
#end

[

Et bien c'est pire, la
HP Prime
passant de
4min22s
à
4mins35s
. Ce qui implique que l'écriture à la
Python
ne complexifie pas la chose, et le temps additionnel étant probablement dû à l'évaluation des lignes supplémentaires de fin de bloc qui sont omises en
Python
.



Ce serait donc la faute du
CAS
? Voyons si nous pouvons valider cette hypothèse en réécrivant le même programme en langage interprété
HPPPL non-CAS
:
Code: Tout sélectionner
EXPORT fractal(w,h,n)
BEGIN
local x,y,z,c,j,t,col
FOR x FROM 0 TO w-1 DO
  FOR y FROM 0 TO h-1 DO
   z:=0
   c:=2.7*x/(w-1)-2.1-i*(1.87*y/(h-1)-.935)
   j:=0
   WHILE j<N AND abs(z)<2 DO
    j:=j+1
    z:=z*z+c
   END;
   t:=255*j/N
   col=RGB(IP(t),IP(.75*t),IP(.25*t))
   PIXON_P(x,y,col)
  END;
END;
FREEZE
WAIT(0)
#end


Bien, la
HP Prime
tombe cette fois-ci à seulement
2min24s
, doublant presque ses performances. Le contexte
CAS
limite bien les performances même quand on ne fait pas appel à ses spécificités, et il est ainsi dommage que le langage
simili-Python
ne soit donc disponible que dans ce cadre, surtout quand il n'y a aucune intention de faire du calcul exact ou littéral.

Toutefois,
2min24s
c'est quand même nettement plus lent que les
1min26s
de la
NumWorks
. D'autres facteurs interviennent donc visiblement, et l'on peut valider la constatation de l'épisode 19.

Cela ne veut pas forcément dire que son processeur est plus puissant, mais en tous cas en terme de performances effectives et ce depuis la rentrée 2017, la meilleure calculatrice graphique est donc la
NumWorks
. :bj:
Lien vers le sujet sur le forum: Performances, la NumWorks détrône la HP Prime ! :o (Commentaires: 50)

TI-z80 Mini-test TI-Rover - exo Scratch DNB 2017 Amérique du Sud

Nouveau messagede critor » 09 Déc 2017, 13:04

Pour Noël, nous voici enfin équipés du robot
TI-Innovator Rover
, pilotable à partir d'une
TI-83 Premium CE
,
TI-84 Plus CE
ou
TI-Nspire CX
munie d'une interface
TI-Innovator Hub
.

Avant d'apprendre à mieux le connaître, tentons de voir ce que nous sommes capables d'en tirer directement
"out of the box"
, pour le tracer de figures.

9042Munissons-nous à cette fin de quelques éléments non inclus :
  • un tableau blanc sous forme de rouleau 2x1m²
  • un feutre pour tableau blanc, de moins de 12,5mm de diamètre
L'avantage est que nous disposons ainsi d'une part d'un tableau amovible transportable disposable à plat, pouvant être aisément changé de salle ou emporté pour des événements, et d'autre part effaçable et donc réutilisable à l'infini.
Un possible inconvénient est que la surface est glissante, et risque de faire patiner le robot.

Prenant comme exemple l'exercice de programmation qui vient de tomber à l'épreuve de Mathématiques du
DNB 2017
en
Amérique du Sud
.

C'est parti pour l'adaptation
TI-83 Premium CE
, puisque malheureusement nous n'y disposons pas
(encore ? ;) )
du langage
Scratch
:

PROGRAM1
PROGRAM2
CARRE
Code: Tout sélectionner
0.075→K
10→L
Send("CONNECT RV
For(I,1,4
prgmCARRE
L+20→L
End
Code: Tout sélectionner
0.1→K
10→L
Send("CONNECT RV
For(I,1,4
prgmCARRE
L+2→L
End
Code: Tout sélectionner
For(J,1,4
Send("RV FORWARD eval(KL
Send("RV LEFT 90
End


9037
De premiers résultats plus que passables, qu'il serait à ce jour miraculeux d'obtenir avec d'autres systèmes comme le
TI-Robot E3
. Le
TI-Rover
nous trace en apparence de belles lignes droites. Toutefois il se décale progressivement de la trajectoire prévue lors des 16 rotations, ce qui voudrait dire qu'il ne tourne pas de 90 degrés à gauche comme demandé, mais de légèrement moins. Cela ne semble pas être un problème de précision de ses capteurs, sinon le décalage devrait pouvoir avoir lieu dans les deux sens et donc de temps en temps se compenser. Peut-être donc plutôt ici un problème de calibrage. Les 16 erreurs dans le même sens s'additionnent donc progressivement, ne faisant qu'empirer l'écart au départ négligeable.


Mais quel dommage que les modules externes soient interdits sur les calculatrices au
DNB
! :P
Lien vers le sujet sur le forum: Mini-test TI-Rover - exo Scratch DNB 2017 Amérique du Sud (Commentaires: 3)

Divers Modèles non conformes en magasin, continue à être vigilant !

Nouveau messagede critor » 08 Déc 2017, 17:49

As-tu fait l'erreur de te prendre un modèle d'entrée de gamme qui t'handicapera en mode examen, comme la
Lexibook GC3000FR
dont nombre de possesseurs tentent déjà de se débarrasser tout en lui attribuant collectivement toutes les qualités du monde ? :p
(parfaite pour le lycée, le BAC, la Seconde, les séries non scientifiques, technologiques ou professionnelles et j'en passe...)
:troll:
Envie d'une meilleure calculatrice pour Noël ?
Il est en effet loin d'être trop tard et tu as encore largement le temps de la maîtriser même pour des examens ou concours cette année. :)

Tâche toutefois de ne pas te faire avoir une seconde fois. Car même si nombre de magasins ont enfin eu le respect pour cette rentrée 2017 de nettoyer leur rayon scolaire en en retirant tous les modèles non conformes, ce n'est hélas pas le cas partout. :'(

9034Ci-contre un magasin
Géant
, possiblement non représentatif de l'ensemble de la chaîne puisque nous avions pu remarquer les rentrées précédentes que les politiques d'affichage variaient grandement d'un magasin à un autre, mais qui continue quand même scandaleusement encore en 2017-2018 à tenter de te refiler ses
Casio Graph 35+ USB
et
Casio fx-CP400
non conformes, c'est-à-dire désormais inutilisables et non revendables. Autrement dit elles ne valent quasiment plus rien en France. Modèles affichés en rayon scolaire sans aucune mention de cette grave limitation
(manquement au devoir d'information du vendeur professionnel)
et sans aucune réduction, histoire en prime de te faire payer l'arnaque plein pot. :mj:

N'hésite pas à consulter la liste des modèles conformes ainsi que notre classement indépendant
QCC 2017
.
Lien vers le sujet sur le forum: Modèles non conformes en magasin, continue à être vigilant ! (Commentaires: 2)

TI-z80 Un vrai monde de glitches pour les experts Oiram CE !

Nouveau messagede critor » 06 Déc 2017, 20:40

7698Il y a quelques temps, te sortait
Glitches
, 2 niveaux spéciaux pour t'entraîner à exploiter tel un
speedrunner
les
glitches
(une catégorie de bugs ouvrant des possibilités non voulues)
de
Mario Oiram CE
sur ta
TI-83 Premium CE
. Arriver à passer à travers murs, plafonds et sols était une nécessité absolue pour arriver au bout du niveau.

Cette semaine c'est qui reprend cette idée avec
Hmmm... Glitches !
. Cette fois-ci il ne s'agit plus d'un agrégat concentré de
glitches
dans 2 niveaux, mais d'un véritable pack où les
glitches
sont correctement mis en scène au sein de 10 niveaux ! :bj:






Si tu penses maîtriser
Oiram CE
sur le bout des doigts, alors relève le défi de ton épreuve ultime et entre dans l'Histoire ! :bj:


Rappelons que
Oiram CE
nécessite les bibliothèques C téléchargeables ci-dessous pour fonctionner correctement. Mais il y a juste à transférer les fichiers en question qui deviennent alors immédiatement fonctionnels. :)




Téléchargements
:
Lien vers le sujet sur le forum: Un vrai monde de glitches pour les experts Oiram CE ! (Commentaires: 6)

NumWorks Nouvel OS NumWorks 1.2.0 - Calcul exact+littéral et Python !

Nouveau messagede critor » 05 Déc 2017, 14:28

9033Aujourd'hui sort le nouveau
firmware
1.2.0
pour ta calculatrice
NumWorks
. Découvrons ensemble les toutes dernières nouveautés et améliorations.

Sommaire
:

  1. Moteur de calcul exact…
  2. … et littéral ?
  3. Environnement de développement Python
  4. Conclusion


1) Moteur de calcul exact…
Go to top

Comme déjà présenté sur le stand
NumWorks
aux journées APMEP à Nantes, la première chose qui saute aux yeux après l’installation du nouveau
firmware
, c’est la présence enfin d’un moteur de calcul exact dans l’application
Calculs
; l’un des points essentiels qui manquaient face aux modèles concurrents de milieu de gamme
TI-83 Premium CE
et
Casio Graph 35/75/90+E
. :bj:

NumWorks
ne manque pas d’y rajouter sa petite touche habituelle d’originalité, avec un affichage mixte profitant intelligemment de la définition de l’écran en 320x240 pixels pour y présenter les résultats à la fois en écriture exacte et décimale. Cela a certes l’avantage évident d’éviter à l’utilisateur des manipulations plus ou moins complexes pour basculer de l’une à l’autre, comme il devrait le faire sur les autres modèles. Mais cet affichage a également des effets positifs sur les compétences de l’utilisateur, ayant l’avantage de lier ici clairement ces formes comme deux représentations du même objet mathématique au lieu de les séparer, et de plus avec une formulation mathématique correcte avec le symbole environ; de quoi améliorer à la fois l’acquisition des compétences
Représenter
et
Communiquer
. :bj:

Accessoirement pour peut-être mieux optimiser l’affichage par rapport à cette nouveauté, notons que dans l’application
Paramètres
il est désormais possible de choisir le nombre maximum de chiffres significatifs affichés, par défaut 7. Mais notons bien que même si c’est un paramètre global, il ne s’appliquera en pratique qu’à l’application
Calculs
.

Le moteur de calcul exact utilisé semble à priori aussi performant que la concurrence de milieu de gamme, gérant de même les binômes de radicaux ainsi que les nombres imaginaires
(Terminales S, STI2D et STL-SPCL)
. :bj:

Rappelons pour référence que les modèles de milieu de gamme concurrents
TI-83 Premium CE
et
Casio Graph 35/75/90+E
gèrent deux familles de résultats réels exacts :
  • $mathjax$\pm\frac{a\pi}{b}$mathjax$
    pour la trigonométrie bien évidemment
  • $mathjax$\frac{\pm a\sqrt{b} \pm c\sqrt{d}}{f}$mathjax$
    qui est une famille de nombres avec des propriétés aisément vérifiables par les processeurs légers, et couvrant l’essentiel des besoins des lycéens jusqu’en Première

Quelle n’est donc pas notre surprise en découvrant que le moteur de calcul exact intégré gère d’autres formes plus complexes, notamment les valeurs trigonométriques remarquables en
$mathjax$k\frac{\pi}{5}$mathjax$
,
$mathjax$k\frac{\pi}{8}$mathjax$
et
$mathjax$k\frac{\pi}{10}$mathjax$
avec
k
entier. Valeurs non gérées chez la concurrence en-dessous des modèles haut de gamme
(du moins, pas sans des programmes additionnels qui seront de toutes façons détruits par le mode examen)
. :o

NumWorks
aurait-il géré une liste de formes exactes un peu plus nombreuses ou générales que celles des moteurs exacts de milieu de gamme concurrents ?


En fait, il ne semble pas y avoir de limite selon nos tests. Pour tout calcul n’utilisant pas d’écriture décimale, aussi complexe soit-il, la calculatrice est désormais potentiellement capable de retourner une valeur exacte. En pratique, des conséquences fort sympathiques pour tous les élèves de séries générales et technologiques, avec un modèle de milieu de gamme enfin conforme aux programmes de Terminale qui ne font travailler quasiment que sur les fonctions logarithmique et exponentielle, dont les formes exactes qui en découlent n’étaient pas gérées par les modèles concurrents de milieu de gamme ! :bj:

En théorie, cela impliquerait que le fonctionnement interne du moteur utilise non pas une liste de formes prédéfinies, mais des arbres binaires de calculs, soit la base d’un moteur de calcul littéral. Et si en fait… :o



2) … et littéral ?
Go to top

… et bingo, le nouveau moteur de calcul
NumWorks
ne fait pas que fonctionner comme un moteur de calcul littéral, il fait vraiment du calcul littéral ! :bj:

Il semble toutefois très limité, et ne saurait en rien être comparé avec les moteurs de calcul dits CAS intégrés aux modèles haut de gamme :
  • D’une part il ne sait rien faire d’autre que simplifier des expressions littérales. Pas de possibilité de préciser si l’on souhaite que la simplification se fasse par factorisation ou développement.
  • D’autre part, il n’y a eu aucun ajout de fonction utilisant ce moteur. Pas de possibilité donc contrairement aux modèles CAS de résoudre des équations, dériver, primitiver, calculer des limites, déterminer des ensembles de définition ou encore obtenir des tableaux d’étude de fonction comme sur et .

Une autre sérieuse limitation est que le moteur refuse bizarrement de travailler sur des expressions littérales contenant des inconnues nommées avec d’autres lettres que
x
.
S’agirait-il d’un moteur de calcul littéral avec un alphabet à 1 lettre ?


En fait non. Après avoir écumé les touches et menus, on se rend compte qu’il s’agit d’un alphabet à 2 lettres, le moteur de calcul littéral fonctionnant avec les lettres minuscules
x
et
n
. En pratique, cela nous donne une fois de plus des conséquences très agréables au niveau lycée. Il sera par exemple très aisé pour les élèves d’interroger le moteur de calculs pour lui faire recracher nombre de formules du cours, pour les exponentielles par exemple, à un renommage de variables près.

Même si cela reste très limité par rapport aux modèles haut de gamme, ce calcul littéral extrêmement basique pourra parfaitement couvrir les besoins de nombre de lycéens de séries non scientifiques pour lesquels les derniers sujets de BAC fournissent de plus en plus les expressions littérales à utiliser au lieu de les demander. Pour les séries plus scientifiques, si il y aurait un point à rajouter en priorité pour nous, ce serait la dérivation.

La calculatrice
NumWorks
une fois mise à jour fait du calcul littéral. Mais avec toutes les limitations que nous venons de lister, on peut toutefois se demander si son moteur de calcul mérite ou pas l’appellation "moteur de calcul littéral" et si dans l’affirmative on peut pousser jusqu’à l’appellation de "CAS" (Computer Algebra System) ou pas, tout dépendant des définitions que l’on retient. Cette nuance est en effet essentielle car nombre d’examens/pays interdisent le CAS (Portugal, Pays-Bas, Baccalauréat International, plusieurs examens américains…), et ce serait plus que dommage que la
NumWorks
s'y fasse refuser…


Quoiqu’il en soit, après mise à jour la
NumWorks
devient bel et bien capable de faire du calcul littéral. Nous ne pouvons honnêtement qu’en tirer un bilan extrêmement positif. Pour la première fois en ce jour historique, le calcul littéral devient accessible sans programmes additionnels
(qui de toutes façons seraient détruits par le mode examen)
sous la barre psychologique des 100 € et donc avec un prix à seulement 2 chiffres, 80€ pour rappel, c'est une véritable Révolution ! :bj:


3) Environnement de développement Python :
Go to top

L’application
Python
bénéficie pour sa part d’améliorations significatives présentées en avant-première au séminaire national d’Algorithmique au lycée le 20 novembre dernier, seule calculatrice à avoir l’honneur d’y être mentionnée d’ailleurs car seule calculatrice conforme aux évolutions du programme mises en oeuvre cette rentrée 2017 et auxquelles était dédié ce séminaire.

Jusqu’à présent l’éditeur de scripts
Python
de la
NumWorks
était en version beta, et était même jugé plutôt inutilisable en classe selon certains commentaires. De notre côté, nous l’avions toujours vu comme un aperçu certes limité - car probablement développé en vitesse - mais très encourageant, d’une fonctionnalité forcément destinée à évoluer rapidement. Un peu comme une démo jouable. Et voici aujourd’hui le grand jour. ;)

Oubliez le script unique à écraser et recommencer à chaque utilisation, l’application
Python
gère désormais plusieurs scripts *.py, que l’on peut librement rajouter, nommer, renommer et bien évidemment supprimer. Ils prendront alors la forme de modules pouvant être importés ou lancés directement
(standalone)
. :bj:

Niveau éditeur nous avons aussi de belles améliorations avec une indentation automatique se déclenchant sur les retours à la ligne après saisie de toute instruction introduisant un bloc
(boucles, conditionnelles…)
. On peut également remarquer que les espaces saisis en début de ligne sont désormais insérés et supprimés par paires. De quoi saisir plus rapidement du code Python respectant les conventions d’écriture et d’indentation
(indentation avec 2 ou 4 espaces)
, tout en économisant la durée de vie de sa touche espace. ;)

Avec le nouveau bouton s’appelant
console
ou
shell
selon la langue ou via l’exécution directe d’un script
(standalone)
, on a justement accès à une console de type REPL
(Read Eval Print Loop)
. Notons qu’il est possible pour chaque script existant de choisir si il doit être importé automatiquement à l’ouverture de la console via le bouton ou pas, ce qui évitera d’avoir à ressaisir les mêmes commandes d’importation à chaque utilisation. Cette console est particulièrement aboutie, permettant même de remonter dans l’historique pour copier une commande. En cas de déclenchement d’une erreur, elle précise même le numéro de ligne l’ayant déclenchée, permettant enfin une correction rapide du code. Dommage toutefois que l'éditeur ne numérote pas les lignes, surtout en cas d'erreur dans un script conséquent.

Mais ce n’est pas tout. L’éditeur ainsi que la console disposent désormais d’une formidable aide à la saisie via la touche
boîte à outils (toolbox)
. :D

On y dispose entre autres d’un catalogue listant alphabétiquement les fonctions disponibles, mais notamment en tête de liste tous caractères spéciaux et symboles utiles au langage
Python
qui n’avaient pas été inclus sur les touches clavier : :bj:
  • # pour les commentaires
  • % pour le reste d’une division euclidienne
  • \n pour les retours à la ligne dans des chaînes de caractères
  • \t pour les tabulations dans des chaînes de caractères
  • &, ^ et | pour les opérations bit à bit
Quant aux différentes fonctions suivant alphabétiquement ces caractères, on peut y accéder très rapidement en tapant leur première lettre au clavier. Cela manque toutefois d’intuitivité, puisqu’il faudra deviner qu’il faut taper manuellement
alpha
à chaque fois pour débloquer cette fonctionnalité.

On y trouve également des raccourcis pour créer rapidement des blocs d’instructions de boucles et conditionnelles, déclinés eux-mêmes en prime sous plusieurs modèles afin d’accélérer encore davantage leur saisie. :bj:

Enfin la boîte à outils permet de lister les modules disponibles intégrés, et donc de détailler et saisir rapidement les différentes fonctions qu’ils proposent. Outre le module de dessin
kandinsky
, on note l’ajout de deux nouveaux modules :
math
, ainsi que
cmath
pour les nombres imaginaires/complexes très utiles aux Terminales S, STI2D et STL-SPCL.

Profitons-en pour remarquer que toutes ces fonctions, qu’elles soient accédées par les modules ou par le catalogue, disposent d’une ligne explicative; une aide intégrée fort appréciable ! :bj:

Citons aussi la touche
var
qui, de façon complémentaire, permettra de lister les fonctions et variables globales existantes dans le contexte courant, c’est-à-dire définies dans les scripts importés et également dans le script courant si nous sommes dans l’éditeur.


Par défaut l’application est préchargée avec trois scripts d’exemples que l’on peut librement modifier :
  • factorial.py
    qui définit une fonction factorielle récursive
  • polynomial.py
    qui fournit une fonction permettant de récupérer en écriture décimale les racines réelles d’un polynôme du second degré
    (Première)
  • mandelbrot.py
    qui trace une fractale avec des paramètres légèrement différents de l’exemple de la dernière version, et constitue une réécriture intégrale en utilisant les fonctions et le module
    cmath
    .

Concernant la fractale, on peut toutefois bien évidemment modifier légèrement le programme pour lui redonner les mêmes paramètres que dans l’ancienne version et ainsi pouvoir comparer les performances :
version sans cmath
firmware 1.1.2
version avec cmath+fonction
firmware 1.2.0
Code: Tout sélectionner
import kandinsky
N=10
for x in range(320)
for y in range(222)
  zr=0
  zi=0
  cr=2.7*x/319-2.1
  ci=-1.87*y/221+0.935
  i=0
  while i<N and zr*zr+zi*zi<4
   i=i+1
   s=zr
   zr=zr*zr-zi*zi+cr
   zi=2*s*zi+ci
  rgb=int(255*i/N)
  col=kandinsky.color(int(rgb),int(.75*rgb),int(.25*rgb))
  kandinsky.set_pixel(x,y,col)
Code: Tout sélectionner
import kandinsky
def mandelbrot(N) :
for x in range(320):
  for y in range(222):
   z=complex(0,0)
   c=complex(2.7*x/319-2.1,-1.87*y/221+0.935)
   i=0
   while i < N and abs(z) < 2:
    j=j+1
    z=z*z+c
   rgb=int(255*i/N)
   col=kandinsky.color(int(rgb),int(.75*rgb),int(.25*rgb))
   kandinsky.set_pixel(x,y,col)

Appel avec mandelbrot(10)


On note un gain en performances significatif de près de 10%, le temps d’exécution passant de 2min30 à 2min17 ! :bj:



Conclusion :
Go to top

Finalement une très belle mise à jour. Notre classement QCC de rentrée 2017 qui classait la calculatrice
NumWorks
proche de l’entrée de gamme
TI-82 Advanced
n’est clairement plus d’actualité. La calculatrice a su évoluer très rapidement, et se doter d’une part d’un moteur de calcul littéral qui n’est plus l’apanage des modèles avec un prix à 3 chiffres. Le constructeur joue ainsi un rôle d’agitateur nous semblant aller dans le sens de l’intérêt des acheteurs et donc des lycéens français. D’autre part, la calculatrice a su se doter d’un environnement de développement Python complet, en conformité avec les nouveaux programmes de Seconde en vigueur depuis cette rentrée 2017. Si nous ne sommes clairement plus dans des fonctionnalités d’entrée de gamme et que le prix de milieu de gamme est désormais bien positionné, on peut toutefois se demander si la calculatrice
NumWorks
ne va pas finir par nous offrir au même prix des fonctionnalités haut de gamme, si bien sûr le développement continue au même rythme. :bj:

Par rapport au Python, il nous semble toutefois important de préciser qu’il manque encore un point essentiel qui empêchera à notre avis la machine d’être adoptée sérieusement pour son enseignement au lycée. L’activation du mode examen détruira en effet définitivement toutes les données saisies, y compris tous les scripts Python. Mauvaise surprise par exemple de découvrir après coup que le mode examen exigé pour le DS de Physique-Chimie aura détruit toute trace du projet d’ICN/ISN/TPE, ou du devoir/DM de Maths à achever pour le lendemain.
Précisons accessoirement que les scripts d’exemples préchargés n’échappent pas à cet effacement.
polynomial.py
qui aurait pu être très utile pour les élèves de Première disparaîtra donc également les jours d’évaluation. Petit détail, les scripts d’exemples ne réapparaîtront pas automatiquement après une désactivation normale du mode examen. Il faudra utiliser le bouton
reset
au dos de la machine.
Il faudrait selon nous pouvoir disposer assez rapidement d’une connectivité permettant d’importer et exporter à loisir ses scripts Python. Ce serait également le moyen en classe de s’échanger de proche en proche un support de travail fourni par l’enseignant, que ce soit le script du jour à étudier/modifier, ou de mini bibliothèques destinées à fournir quelques fonctions utiles clés en main pour construire les projets par dessus.

A très bientôt dans le fil d'actualités
NumWorks
on espère ! ;)



Liens
:
Lien vers le sujet sur le forum: Nouvel OS NumWorks 1.2.0 - Calcul exact+littéral et Python ! (Commentaires: 72)

TI-z80 Vote Program Of The Year ticalc.org 2017 - TI-Z80 monochrome

Nouveau messagede Lionel Debroux » 04 Déc 2017, 22:59

Ce qui est considéré comme le plus vieux site de la communauté TI toujours en activité (depuis 1996 !), et propose une quarantaine de milliers d'archives (!) en téléchargement,
ticalc.org
, vient de lancer le premier des 5 votes pour élire les programmes de l'année 2017 (
Program of the Year
, abrégé en
POTY
).

La première catégorie est pour la
famille 83+/84+ monochrome
, avec dix programmes en compétition cette année:


Nous vous encourageons à aller voter sur ticalc.org, parce que ce vote reste un rendez-vous significatif de la communauté, et il est bien sûr d'autant plus significatif qu'il y a plus de votants :)
Pour ce faire, il faut avoir un compte; pour les inscrits, le sondage est sur la page principale du site, toujours dans la barre de droite, en-dessous du flux Twitter.

Les autres votes à venir seront pour les
84+CSE (TI-Z80 couleur)
, les
83PCE / 84+CE (TI-eZ80)
, les
TI-68k
et les
Nspire
. Probablement dans cet ordre.
Lien vers le sujet sur le forum: Vote Program Of The Year ticalc.org 2017 - TI-Z80 monochrome (Commentaires: 1)

-
Rechercher
-
Sujets à la une
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
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 !
Transforme ta TI-Nspire CX en console Game Boy Advance!
12345
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety 
-
Stats.
339 utilisateurs:
>267 invités
>64 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)