Forum

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

Quelques questions

Stupid le 05/12/2007 à 18:02
slt j'ai quelques questions en rapport avec les ralentissements

est-ce que plus un programme est long plus ce programme est lent?
Si oui est-ce que créer une multitudes de programmes répare le probléme?

est-ce que :

Code
If A=1
Then
blabla
end
If A=2
then
blabla
end
If A=3
...


rame plus que

Code
If A=1
Goto 1
If A=2
Goto 2
If A=3
Goto 3
...
Lbl 1
blabla
Goto 0
Lbl 2
blabla
Goto 0



y'a moyen de raccourcir sans faire lagger:

Code
Lbl Z
getKeyü ( ) C
Pt-On(A,B
If C=24 ou C=26
Then
-25+Cü ( ) D
0ü ( ) E
End
If C=25 ou C=34
0ü ( ) D
If C=34
-1ü ( ) E
If C=25
1ü ( ) E
A+Dü ( ) A
B+Eü ( ) E
if 1#pxl-test(62-B,A
Goto Z


merci^^
coc5 le 05/12/2007 à 18:20
A prioris, la longueur d'ubn programme n'influ pas sur la vitesse de lecture (le Ti-Basic est un language interprété).

Voici une manière plus courte :

Code
Repeat pxl-test(62-B,A
getKey -> C
If C:Then
(C=26)-(C=24 -> D
(C=25)-(C=34 -> E
A+D -> A
B+E -> B
End
Stupid le 05/12/2007 à 18:22
(C=25)-(C=34 -> E

c'est trés astucieux ça !!!

merci coc5
vibra le 05/12/2007 à 22:08
Si tu veux plus que ça rame il faut utiliser prgm en fin de programme… (un grand merci à Ratuss pour cette astuce happy.gif ).
Stupid le 06/12/2007 à 18:26
à ouias? ahh.gif sympa mais bon faut recréer la variable et tout ça...^^ ouias je vais essayer
vibra le 06/12/2007 à 18:46
Non pas la peine, par exemple ton programme s'appelle "ABC". A la place de mettre :
Code
Lbl1

Goto 1
,tu fais le code :
Code

prgm ABC
ratuss le 06/12/2007 à 18:51
je déconseille... :/
vibra le 06/12/2007 à 18:59
Et pourquoi ??!! J'ai fais tous mes programmes comme ça, et j'ai jamais eu de mauvaise surprises !!
coc5 le 06/12/2007 à 20:25
Il est vrai que les inclusions répétitives occupent pas mal de mémoire vive eyeonly.gif .
vibra le 06/12/2007 à 20:42
Oui mais puisqu'elle s'efface à chaque fois que l'instruction "prgm" est exécutée ?! En tout cas, je l'utilise, et ça fonctionne très bien et mes programmes ne ralentissent plus.
ratuss le 06/12/2007 à 20:57
Citation
Oui mais puisqu'elle s'efface à chaque fois que l'instruction "prgm" est exécutée ?! En tout cas, je l'utilise, et ça fonctionne très bien et mes programmes ne ralentissent plus.


je viens de faire le test suivant :

Code
If 1
then
prgm A
end



prgm A :
Code
return


Or s'il y avait vraiment vidage de la ram il devrait y avoir un bug au end, ce qui n'est pas le cas... :/
vibra le 06/12/2007 à 20:59
Alors pourquoi tu déconseilles ?
ratuss le 06/12/2007 à 21:02
bah essaye toi même

si tu rentres

prgmNOMDUPROG


et

lbl 1
goto 1

le premier remplit la ram en quelques secondes, tandis que le deuxième tourne en rond indéfiniment.
vibra le 06/12/2007 à 21:15
C'est vrai, mais comment expliquer que le phénomène ne se produit pas lors de l'exécution de mes programmes ?
coc5 le 06/12/2007 à 21:30
Ta mémoire n'est peut-être pas pleine de programme (c'est la taille du programme inclue qui est demandée à la RAM, j'ai eu l'occasion de le tester avec mon pendu).
vibra le 07/12/2007 à 08:32
Il me reste 5000 octets.
Stupid le 07/12/2007 à 21:48
si dans ce programme je lance un autre programme et que je reviens au premier programme il se passe quoi?
Sangohan38 le 08/12/2007 à 01:15
Je pense que la mémoire vive n'est pas vidée puisqu'il n'y a pas d'interruption dans l'exécution.

Sangohan38
vibra le 08/12/2007 à 10:26
Et pourtant je vous assure que mon snake je peux le faire tourner pdet une heure il ne ralentit pas d'un pet ! happy.gif
ratuss le 08/12/2007 à 13:48
bah... tant mieux ! :-D