Page 1 of 2

RadioNZ 1.0

Unread postPosted: 12 Dec 2008, 14:37
by critor
Je viens de pondre un petit programme ces 2 dernières semaines: RadioNZ 1.0.

C'est un programme de physique destiné en priorité aux élèves de Terminale S possédant des TI-82 Stats, TI-83, TI-83+ et TI-84+.

Il permet d'afficher tous les isotopes connus de nos 118 éléments sous forme de diagramme NZ, et pour chacun le type de désintégration radioactive, avec l'équation correspondante.
Sont inclus un affichage sur plusieurs niveaux de zoom, ainsi qu'un moteur de recherche.


Les données sont celles de la base de données NUBASE 2004.
Le programme est un petit peu lent, car la base de données reste compressée/codée en mémoire (et occupe 2.5Ko). Les informations doivent donc à chaque fois être plus ou moins calculées, et non simplement lues (j'ai bien sûr optimisé le plus possible tout en économisant la mémoire: il faut trouver un compromis).

Pour rentrer NUBASE (c'est-à-dire, les symboles de 118 éléments, les types de désintégrations de 3177 isotopes, et leurs positions dans le diagramme) dans la calculatrice, je précise que ce fut de vraies acrobaties de compression et codage binaire.
Essayez par exemple de créer une liste ou matrice de 3177 cases: vous explosez la mémoire, et en plus il n'y a qu'une seule information par case...


Voilà, j'aimerais donc avoir quelques avis, quelques remarques, et quelques reproches; surtout de la part de notre spécialiste en tableaux, notre cher Xywez : :):

PS: Xywez - J'ai posté mon programme dans la même rubrique que ton Périod 82, comme ça c'est facile à trouver pour toi :;):

Image

Re: RadioNZ 1.0

Unread postPosted: 12 Dec 2008, 17:59
by ced78fr
Héhé premier a répondre ^^

Ba écoute je regarde sa et je te dis ce que j'en pense ^^

Par contre il y a un ptit soucis dans le gif du programme, l'image ne s'affiche pas sur la site apparement...
A non en fait sa venais de moi !


-------------------


Coucou, vous êtes plus futé que vous en avez l'air ! :)
Voici donc la 3ème question : Un topic a été crée à l'occasion des 5 ans de ti-bank. Quelle est l'heure du dernier message de ce topic ?
Vous savez maintenant où aller :)

Re: RadioNZ 1.0

Unread postPosted: 12 Dec 2008, 18:28
by ced78fr
Bon alors premières impressions (pour l'instant j'ai juste regardé le programme 82 - 83) :

Mais avant toute chose, je voudrai dire que c'est un vachement bon programme, bien complexe et qu'il requiert un très bon niveau de programmation !

- déjà je suis pas sur que le programma soit compatible sur 82 car y a des minuscules a certains endroits (sauf si tu les a fais avec "vars", "statistics", ...). T'as testé de le transférer sur 82 ?

- on pourrait supprimer le "done" quand on quitte le programma en ajoutant juste un Output(1,1," à la fin du programme

- il faudrait remettre l'écran en mode "full" a la sortie du programme, remettre les axes, le zoom, supprimer les variables (c'est très pénible)

- on pourrait réduire la taille du programma en mettant des : entre chaque affectation de variables
Exemple :
A-1
B-2
fais un octet de plus que
A-1:B-2

- c'est sur que le programma est assez lent... on pourrait sans doute l'améliorer au niveau du code... Même si j'ai pas encore bien explorer une piste, j'ai quelques interrogations :
* quel est l'intérêt de ne pas mettre tous les point au même niveau ?
* pourquoi ne pas placer d'abord tous les point, puis les croix et ensuite tous les traits (ou l'inverse, voir même commencer par les traits ferrais plus joli) ? Je pense qu'on pourrait gagner énormément de temps la dessus (comme le graphique semble être plus ou moins régulier.
* pourquoi ne pas décaler tout le graphique d'un pixel vers le haut pour ne pas avoir le commencement d'un nouveau carreau ? tu me dira, sa fais aussi pas mal, sa montre qu'on est pas tout en haut...

- ce serais bien (mais sa peut être parfois plus difficile) d'essayer d'incorporer les sous programmes au code principale, ou du moins un maximum. Du genre "Z2ELEM" vus ce qu'il contient, sa devrait être faisable...

Par contre ce que j'aime bien :

- le programme prend en charge tout seul le fais que le curseur arrive en haut / bas de l'écran
- les différents modes de zoom
- la taille correcte du programme
- le design sympa


Sinon très bon travail, c'est sur. On peut encore sûrement l'améliorer beaucoup mais sa demande pas mal de temps vu la complexité !

J'essayerai l'autre version dès que j'aurais le temps, promis !
J'airais sans doute d'autres remarque, que je posterais biensûr...

Et fier d'avoir fait le premier téléchargement !!!

Re: RadioNZ 1.0

Unread postPosted: 12 Dec 2008, 18:43
by critor
Merci beaucoup, pour ton analyse détaillée et pertinente :):
Je vais tenir compte de bon nombre de tes conseils à la prochaine mise-à-jour.

Effectivement, le programme n'est pas compatible TI-82.
Et sinon, ne te fatigue pas: la version 83+ est exactement la même, à part que quelques lignes d'assembleur lui permettent de s'exécuter à partir de la mémoire d'archive.

Re: RadioNZ 1.0

Unread postPosted: 15 Dec 2008, 12:06
by critor
Alors là j'ai trouvé un truc pas croyable...

Avec le même programme (RADIONZ) pour le dessin du diagramme, ma TI-82-Stats avec un processeur à 6MHz bât largement en vitesse ma TI-84+ et son processeur de 16MHz.

Alors ne parlons même pas des performances sur TI-83+...


Après investigation, je pense avoir trouvé la cause du problème: c'est la faute à l'application Inequalz, qui lorsqu'elle est installée (par défaut) et activée ralentit les opérations graphiques.

Cette application préinstallée sur les calculatrices neuves, permet de colorier des demi-plans inférieurs ou supérieurs à une courbe.

Ce n'est pas spécifique à mon programme: même le tracé de courbe (ex y=x²) prend plus de temps si Inequalz est activé (et pour que ce soit visible sans chronomètre, c'est que c'est vraiment significatif comme écart).


Donc la solution (en attendant que je fouille d'avantage) est de désinstaller ou quitter l'application Inequalz. (les performances sont alors potables et bien sûr supérieures à la TI-82 Stats)



Mais donc apparemment, il doit y avoir un bug ou quelque chose de mal fait dans Inequalz, car quand un programme n'est pas sollicité (aucune fonction tracée: juste des Pt-On() et Line(), le comportement normal serait de ne pas intervenir, et donc ne pas ralentir le fonctionnement du reste).

Re: RadioNZ 1.0

Unread postPosted: 15 Dec 2008, 16:41
by ced78fr
Mais de rien ^^

Biensûr que le programme déchire Mic, il mériterait même une petite news sur le portail (peut être pour la mise à jour ?) nan ?

Sinon pour le truc du traçage c'est fort possible, mais comme j'ai pas l'application en question, ba j'ai pas eu ce problème...
C'est un peu comme la 89 qui par défaut trace les courbes 2 fois moins vite que la 82 car elle calcule trop de points en fait (faut modifier un truc dans le mode).

Et la nouvelle version pour 2009 ? :#top#:

Re: RadioNZ 1.0

Unread postPosted: 16 Dec 2008, 19:34
by tama
critor2000 > ta 84+ est à 16 MHz ? c'est marrant ça :D

sinon pour le truc ça serait explicable parce que p'tet que le programme tourne en fond tout le temps et donc bouffe des cycles du processeur, rendant ainsi les instructions graphiques plus lentes, enfin j'en sais rien, mais c'est possible
en général les applications comme ça, j'évite :D

Re: RadioNZ 1.0

Unread postPosted: 16 Dec 2008, 23:47
by critor
Tama -> Ben oui je l'ai overclockée...
Non, je plaisante, elle est à 15MHz, donc j'ai fait 6,67% d'erreur en disant 16.
Aille... plus de 5% d'erreur à l'écrit, c'est pas bon ça... :#oups#:

Re: RadioNZ 1.0

Unread postPosted: 17 Dec 2008, 02:18
by critor
Et bien Tama, on dirait que tu as raison.

Autre application qui divise par 2-3 la vitesse de mon programme sur TI-83+/84+: Symbolic (pour faire les dérivées formelles).

Re: RadioNZ 1.0

Unread postPosted: 17 Dec 2008, 11:00
by ced78fr
A oui mais faut jamais installer symbolic. Faut toujours l'avoir en mode désinstallé sur sa calculette et installer Omnicalc (sa revient au même sauf que sa ralentit pas...)