Le Forum de TI-BANK.fr

Le forum de la banque de programmes pour calculatrices graphiques Texas Instruments (aide débutants, résolution problèmes...).
Accueil­Portail­Calendrier­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Astuce : Savoir si une liste existe

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1203
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Astuce : Savoir si une liste existe   Mar 19 Aoû - 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:
: 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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
ProgVal
Animateur
Animateur


Masculin Age: 16
Classe: Première S SI (Sciences de l'Ingénieur)
Calculatrice(s): Voyage 200 & TI-NSpire
Messages: 2729
Efficacité: -49
Localisation: Metz
Date d'inscription: 05/07/2007

Divers
Dernière note en maths: 8,5/10

MessageSujet: Re: Astuce : Savoir si une liste existe   Mar 19 Aoû - 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

_________________

<span style="font-size: 0.75em">Fondateur du Forum des Admins: Forum d'aide pour les administrateurs de forums</span>

Salut Invité!
Tu as posté 0 messages.
Le forum compte 71745 messages et 4584 sujets.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://adminforum.fr.cr
Ver2guerre
Légende
Légende


Masculin Age: 18
Classe: MPSI
Calculatrice(s): TI-89 tita x2 + TI 83 Plus
Messages: 2477
Efficacité: 0
Localisation: Le plus loin possible des casio
Date d'inscription: 29/09/2006

Divers
Dernière note en maths: Je crains plutôt la prochaine...

MessageSujet: Re: Astuce : Savoir si une liste existe   Mar 19 Aoû - 12:53

-_-"

C'est ce qu'on appelle du leech : http://tamast.actifforum.com/z80-f6/astuce-de-programmation-basic-savoir-si-une-liste-existe-t1323.htm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1203
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Re: Astuce : Savoir si une liste existe   Mer 20 Aoû - 0:21

lol progval qui a tout repris

+1 v2g
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
critor2000
Modérateur
Modérateur


Masculin Age: 31
Classe: Professeur lycée/collège
Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX
Messages: 2309
Efficacité: 24
Localisation: dans le train entre Montpellier et Nîmes (France)
Date d'inscription: 25/10/2008

Divers
Dernière note en maths: 14/20

MessageSujet: Re: Astuce : Savoir si une liste existe   Sam 25 Oct - 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!

Si quelqu'un a une solution sur TI-82 Stats...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr
tama
Animateur
Animateur


Masculin Age: 18
Classe: oui. (2ème année à l'Epita, sinon)
Calculatrice(s): TI-84+, TI89 tita HW3, TI89 tita HW4 (eh oui, 3 TI :#geek#:)
Messages: 10279
Efficacité: 29
Localisation: Paris ... dans un rayon de 15 km
Date d'inscription: 19/12/2005

Divers
Dernière note en maths: 13/20

MessageSujet: Re: Astuce : Savoir si une liste existe   Dim 26 Oct - 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 ^^)

_________________
Modérateur des salons z80

Lisez le Journal de tibank, y a du bon ! :)

Envie de nous voir IRL ? participez à la réunion Nord de tibank !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tamast.actifforum.com/index.htm
critor2000
Modérateur
Modérateur


Masculin Age: 31
Classe: Professeur lycée/collège
Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX
Messages: 2309
Efficacité: 24
Localisation: dans le train entre Montpellier et Nîmes (France)
Date d'inscription: 25/10/2008

Divers
Dernière note en maths: 14/20

MessageSujet: Re: Astuce : Savoir si une liste existe   Dim 26 Oct - 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 ) 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... :(
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr
tama
Animateur
Animateur


Masculin Age: 18
Classe: oui. (2ème année à l'Epita, sinon)
Calculatrice(s): TI-84+, TI89 tita HW3, TI89 tita HW4 (eh oui, 3 TI :#geek#:)
Messages: 10279
Efficacité: 29
Localisation: Paris ... dans un rayon de 15 km
Date d'inscription: 19/12/2005

Divers
Dernière note en maths: 13/20

MessageSujet: Re: Astuce : Savoir si une liste existe   Dim 26 Oct - 18:12

"->L1 ça marche pas ?
c'est un peu l'équivalent de 0->dim(L1

_________________
Modérateur des salons z80

Lisez le Journal de tibank, y a du bon ! :)

Envie de nous voir IRL ? participez à la réunion Nord de tibank !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tamast.actifforum.com/index.htm
AdRiWeB
Légende
Légende


Masculin Age: 17
Classe: Term. S
Calculatrice(s): TI-84+, Nspire CAS, Nspire CAS+
Messages: 1203
Efficacité: 1
Localisation: Sur ma chaise
Date d'inscription: 01/06/2007

Divers
Dernière note en maths: 100 % ^^

MessageSujet: Re: Astuce : Savoir si une liste existe   Dim 26 Oct - 20:14

exact, je viens de tester sur un 84+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adriweb.net
 

Astuce : Savoir si une liste existe

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Forum de TI-BANK.fr :: Forum TIz80 :: Programmation-
Poster un nouveau sujet   Répondre au sujet