Forum

Catégorie : Support
Forum : TI-82 STATS.fr
Vues : 842
Réponses : 3
Type : discussion
Etat : réponses autorisées

Aide pour les Goto et Labels

thedarkprogrammeur le 09/06/2012 à 22:14
Bonjour à tous amis programmeurs, en fait voila mon problème:
j'ai plusieurs labels (Lbl)
mais ce que je veux c'est que la calculatrice choisisse aléatoirement une valeur et aille au label qui lui correspond; en claire sur mon programme y'a écrit ça =
:Goto entAléat(1,10
:Lbl 1
:Disp "message"
:Lbl 2
:Disp "message"
etc...
j'aimerai savoir pourquoi ca ne marche pas, cry.gif
sinon je sais que je pourais ecrire à la place =
:entAléat(1,10->A
:If A=1
:Goto 1
:If A=2
:Goto 2
etc... (et définir mes labels à la fin), mais le problème c'est que cela occupe beaucoup de mémoire d'autan plus qu'il y a plusieurs labels (pas que 10), donc si vous pouvez corriger mon premier exemple ou me donner une autre soluce qui occupe le moins de mémoire possible, je vous en serai reconnaissant. loupe.gif
linkakro le 09/06/2012 à 23:03
Je ne connais aucun autre moyen que la série de If.
Il est tout simplement impossible d'intégrer un nombre variable à un goto.
Rest à voir s'il existe une méthode miraculeuse, à laquelle je ne m'attend pas.
thedarkprogrammeur le 10/06/2012 à 00:39
merci de ta réponse linkakro glasses.gif , bon, ben je crois que je n'ai plus qu'à utiliser ces bons vieux If.
Si vous avez d'autres propositions, elles seront bien venues.
F-BVXT le 10/06/2012 à 00:46
Non, désolé, comme l'a dit Linkakro il n'existe probablement pas de méthode miracle, par contre tu peux optimiser ta deuxième proposition en supprimant les Goto et les LBL :
Code
:entAléat(1,10->A
:If A=1
:...     //Instruction
:If A=2
:...     //Instruction

Ou si tu as plusieurs instructions :
:entAléat(1,10->A
:If A=1
:Then
:...
:...
:End
:If A=2
:Then
:...
:...
:End