π
<-

Astuce : Savoir si une liste existe

Astuce : Savoir si une liste existe

Messagede Adriweb » 19 Aoû 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: Tout sélectionner
: 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
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 82.2%
 
Messages: 14887
Images: 1211
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Astuce : Savoir si une liste existe

Messagede ProgVal » 19 Aoû 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
Avatar de l’utilisateur
ProgVal
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 60.7%
 
Messages: 2747
Inscription: 05 Juil 2007, 00:00
Localisation: Metz
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Terminale S SI (Sciences de l'Ingénieur)

Re: Astuce : Savoir si une liste existe

Messagede Ver2guerre » 19 Aoû 2008, 12:53

-_-"

C'est ce qu'on appelle du leech : http://tamast.actifforum.com/z80-f6/ast ... -t1323.htm
Avatar de l’utilisateur
Ver2guerre
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 26%
 
Messages: 2473
Inscription: 29 Sep 2006, 00:00
Localisation: Le plus loin possible des casio
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: boup

Re: Astuce : Savoir si une liste existe

Messagede Adriweb » 20 Aoû 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
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 82.2%
 
Messages: 14887
Images: 1211
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Astuce : Savoir si une liste existe

Messagede 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 54.5%
 
Messages: 42500
Images: 17346
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Astuce : Savoir si une liste existe

Messagede 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.
Avatar de l’utilisateur
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 40.9%
 
Messages: 10995
Inscription: 19 Déc 2005, 00:00
Localisation: /dev/null mais je survis :)
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Astuce : Savoir si une liste existe

Messagede 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 54.5%
 
Messages: 42500
Images: 17346
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Astuce : Savoir si une liste existe

Messagede 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.
Avatar de l’utilisateur
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 40.9%
 
Messages: 10995
Inscription: 19 Déc 2005, 00:00
Localisation: /dev/null mais je survis :)
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Astuce : Savoir si une liste existe

Messagede 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
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 82.2%
 
Messages: 14887
Images: 1211
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb


Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
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 !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
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 Calculatrices à acheter chez Calcuso
-
Stats.
3081 utilisateurs:
>3063 invités
>12 membres
>6 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
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)