π
<-

Astuce : Savoir si une liste existe

Astuce : Savoir si une liste existe

Unread postby Adriweb » 19 Aug 2008, 12:38

repris de mon blog


B'jour tout le monde :D

Je vous propose aujourd'hui une astuce pour les programmeurs souhaitant savoir si une liste existe et si celle-ci contient alors des données.

L'astuce est en fait très simple.

Il suffit d'écrire cette routine (et de l'adapter avec le nom de votre liste bien sur) :

Code: Select all
: SetUpEditor
: If not(dim(L1


En fait, on regarde la dimension de la liste. Si c'est 0 (d'ou le "not("), la liste n'a pas de données, elle est vide, et on peut considérer qu'elle n'existe pas ;)

Ceci peut être très intéressant dans des programmes d'analyse de liste de donnes entrées par l'utilisateur, par exemple !

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Astuce : Savoir si une liste existe

Unread postby ProgVal » 19 Aug 2008, 12:46

J'ajoute que la fonction SetUpEditor désarchive les listes.

sinon, au lieu de SetUpEditor, tu peux mettre 0-dim(L1
si la liste existe, cette ligne sera sans effet
Image

Image
User avatar
ProgVal
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 60.7%
 
Posts: 2747
Joined: 05 Jul 2007, 00:00
Location: Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S SI (Sciences de l'Ingénieur)

Re: Astuce : Savoir si une liste existe

Unread postby Ver2guerre » 19 Aug 2008, 12:53

-_-"

C'est ce qu'on appelle du leech : http://tamast.actifforum.com/z80-f6/ast ... -t1323.htm
User avatar
Ver2guerre
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 26%
 
Posts: 2473
Joined: 29 Sep 2006, 00:00
Location: Le plus loin possible des casio
Gender: Male
Calculator(s):
MyCalcs profile
Class: boup

Re: Astuce : Savoir si une liste existe

Unread postby Adriweb » 20 Aug 2008, 00:21

lol progval qui a tout repris

+1 v2g

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Astuce : Savoir si une liste existe

Unread postby critor » 25 Oct 2008, 16:55

Tester dim(L1)=0 pour savoir si une liste est vide marche bien sur TI-83+/84+.

Par contre, sur TI-82 Stats, appeller dim(L1) si la liste est vide ne renvoie pas 0, mais un superbe "erreur: dimension".
Chouette! :#top#:

Si quelqu'un a une solution sur TI-82 Stats...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42393
Images: 17091
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Astuce : Savoir si une liste existe

Unread postby tama » 26 Oct 2008, 16:11

ça marche pas le "->L1 ?

j'avais posté une réponse là-bas, ensuite il suffit de tester la dimension de la liste

(pas mal la collection de calculatrices au passage ^^)
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Astuce : Savoir si une liste existe

Unread postby critor » 26 Oct 2008, 17:40

Merci :;):

J'ai juste commencé à "collectionner" il y a 15 ans.
Et comme je ne jette jamais rien...


Sinon oui, le "{0-L1" marche pour réinitialiser une liste.


Mais par exemple, un programme peut avoir besoin de savoir si une liste est vide ou pas.
(pour savoir si il peut écraser la liste, ou bien si il enregistre ses données en fin de liste par exemple)

Donc normalement, il faut utiliser "dim(L1".

Mais pour une liste existante vide sur TI-82Stats, "dim(L1" ne renvoie pas 0 (il devrait pourtant), mais "ERREUR: DIM INVALIDE".


J'ai essayé de contourner ce problème en faisant direct "append(L1,{mes données})", au lieu de tester "dim(L1" mais si l'une des 2 listes est vide, ça provoque la même erreur.


En fait, je me suis rendu compte de ce problème quand j'ai porté AutoCalc (mon programme pour le concours :D: ) que je développais initialement pour TI-83+/84+ sur TI-82 Stats. J'ai donc du bidouiller un truc.

J'ai fait ce portage, car j'ai l'impression que dans les lycées, les TI-82 Stats sont majoritaires devant les TI-83+/84+.


Conclusion, la TI-83+/84+ n'est pas capricieuse, mais la TI-82 Stats semble allergique aux listes vides... Alors qu'elle pourrait répondre 0 ou ne rien faire, elle balance une erreur qui casse tout le programme... :(
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42393
Images: 17091
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Astuce : Savoir si une liste existe

Unread postby tama » 26 Oct 2008, 18:12

"->L1 ça marche pas ?
c'est un peu l'équivalent de 0-dim(L1
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Astuce : Savoir si une liste existe

Unread postby Adriweb » 26 Oct 2008, 20:14

exact, je viens de tester sur un 84+

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2107 utilisateurs:
>2094 invités
>6 membres
>7 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)