Posté le 22/10/2008 à 19:44 Membre depuis le 09/10/2008, 43 messages
Bonjour,
j'aimerais savoir si il a une fonction qui met tous les nombre a 0 au lieu de mettre "0->A:0->B"....?

merci d'avance
Posté le 22/10/2008 à 22:07 Membre depuis le 24/08/2007, 729 messages
heu... pas à ma connaissance...
tu peut faire 0->A:A->B:.. mais c'est la m^me chose smile

a propos, ça vien de me passer par la tête :
Si on fait :
"AB...XYZ"->Str1
For(X,1,26)
0->Sub(Str1,X,1)
End


ça marche ?
Ca me parais pas sûr (le sub revoi une expression, mais... Je testerais ça demain
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 23/10/2008 à 17:45 Membre depuis le 09/10/2008, 43 messages
Et si on fait "AB...XYZ"_>Str1
Fill(0,Stri

cela ne marcherait pas?
Posté le 23/10/2008 à 18:59 Membre depuis le 25/12/2006, 499 messages
Roo Loclamor... La fonction sub() donne une chaîne de caractère. 0 est un nombre. La fonction -> ne prend pour argument que des objets de même type.
Enfin même si tu avais eu l'idée de composer la fonction expr() avec sub(), ça ne marche pas, puisque expr() donne la valeur de la variable dans la chaîne, et pas la variable elle-même.
Pour le Fill, je vois pas pourquoi tu poses la question, ça prend 5 sec à vérifier. Et non ça ne marche pas.

Tu peux économiser de l'espace en utilisant DelVar A au lieu de 0->A.
Posté le 23/10/2008 à 19:18 Membre depuis le 24/08/2007, 729 messages
ok ok, c'était juste un truc qui me passait par la tête
Baruch (./4) :
DelVar A au lieu de 0->A.

ça ne marchera pas non plus, enfin, si il fait après des test genre If A=0 Then ... et si A existe pas :s error :^°
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 23/10/2008 à 19:44 Membre depuis le 25/12/2006, 499 messages
Non, si tu fais DelVar A, puis A, A prend la valeur 0. Donc pas de problèmes.
Posté le 23/10/2008 à 20:40 Membre depuis le 24/08/2007, 729 messages
oui, mais si tu fait le test juste après le delvar, tu dis avoir une erreur...
Et donc en plus, niveau octet, ça doit revenir au même,
Delvar A:A 4octets
A<-0 : 3 octets
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 23/10/2008 à 21:24 Membre depuis le 09/10/2008, 43 messages
okai bon ba c'est pas grave je vais marquer toutes mes variable. Fodrait qu'il pense la prochaine fois a une commande pour mettre toutes les variable a 0
Posté le 23/10/2008 à 21:52 Membre depuis le 24/08/2007, 729 messages
sinon tu utilise une liste ;
et tu fait Fill(0,L1)
après pour utiliser les valeurs de la liste tu fait L1(#)
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 24/10/2008 à 07:57 Membre depuis le 09/10/2008, 43 messages
non je ne pense pas que cela soit possible. Car le programme que je fait et en faite un programme qui demande des entrées qui fait le calcul et qui me donne le résultat. Le problème est que j'avais beaucoup d'entré et donc quand je revennais au début il y avait une liste de pas mal d'inconnu.

donc je voulais mettre toutes mes entré a 0 pour ne pas avoir besoin de 0->A ....

ps:si vous voulez je vous met mon programme.
Posté le 24/10/2008 à 10:09 Membre depuis le 09/07/2003, 21783 messages
( ce que voulait faire loclamor, opération géniale qui s'appelle joliment une indirection, (transformer un string en la variable qui est contenu dans ce string ), permis directement que par des langages interprétés, est possible sur Ti 68k mais pas sur Ti z80. C'est vraiment dommage. )
Posté le 24/10/2008 à 10:10 Membre depuis le 09/07/2003, 21783 messages
jerem512> est-tu sûr que tu a réellement besoin d'initialiser ces nombres ? (si ils sont affectés par un prompt ou un calc ensuite... bha tu t'en fou de la valeure initiale)
Posté le 24/10/2008 à 14:25 Membre depuis le 09/10/2008, 43 messages
oui j'en est vraiment besoin de cela car je fait plusieur meme calcul et donc lorsque je reviens sur le menu il me fait absolument quel soit egale a 0 é non a celle d'avant
Posté le 24/10/2008 à 14:47 Membre depuis le 09/07/2003, 21783 messages
bon j'vois pas beaucoup mieux que de faire à la main
Posté le 24/10/2008 à 17:22 Membre depuis le 06/02/2006, 349 messages
ça serait pas plus simple de remettre les valeurs utilisées par les calculs à 0 avant de revenir au menu ?
enfin, je sais pas comment est fait ton programme
sinon tu peux toujours essayer les listes, ça sera peut-être plus simple .....
Posté le 24/10/2008 à 17:35 Membre depuis le 24/08/2007, 729 messages
met nous ton prog, comme ça on pourra voir la meilleur solution.
Mais je vois pas pourquoi la liste te conviens pas, perso je trouve que c'est un très bon moyen de stoker plusieurs variables au même endroit, et surtout si tu veut tout effacer, ben Fill(0,Liste ... o_O
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 24/10/2008 à 17:56 Membre depuis le 09/07/2003, 21783 messages
ça perd des octets d'utiliser L1(n) plutôt que A, et c'est moins rapide en accès mémoire (mais j'en conviens ça doit pas être critique ici)
Posté le 24/10/2008 à 18:57 Membre depuis le 25/12/2006, 499 messages
Rooo mais DelVar A tout seul c'est bon !
Posté le 25/10/2008 à 10:51 Membre depuis le 24/08/2007, 729 messages
ouis mais pas si il doit le faire sur les 26 variables, autant dans ce cas faire 0->A:0->B:0->C:...:0->Z
Mais ton DelVar doit marcher aussi DelVar AgrinelVar BgrinelVar CgrinelVar D:...grinelVar Z
Alors que pour la liste de dimmention 26 y a juste à faire Fill(0,Liste) C'est pas plus rapide ??
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 25/10/2008 à 11:03 Membre depuis le 09/07/2003, 21783 messages
( Delvar A ça prends moins d'ocets que 0->1 en tout cas (2 au lieu de 3))
Posté le 25/10/2008 à 12:55 Membre depuis le 09/10/2008, 43 messages
voila mon programme
\start83\
\comment=Program file 10/24/08, 12:21
\protected=FALSE
\name=ELEC
\file=C:\DOCUME~1\FAMILL~1\MESDOC~1\TI\PROGRA~1\ELEC.TXT
EffEcr
Lbl \theta\
0\->\F:0\->\D:0\->\E:0\->\A:0\->\B:0\->\O:0\->\P:0\->\Q:0\->\R:0\->\V
Menu("ELECTROTECHN","FLUX TOTAL",1,"FACT SUSPENS",2,"DIST MAX LUM",3,"INDICE LOCAL",4,"NBR LUMINAIR",5,"DIF HT,HU",6,"QUITTER",7)

Lbl 7
EffEcr
Return

Lbl 1
Input "ECLAIREMENT: ",E
Input "LONGUEUR: ",A
Input "LARGEUR: ",B
Disp "FACTEUR DE
Input "DEPRECIATION: ",D
Disp "RENDEMENT
Input "INFERIEUR: ",O
Disp "UTILANCE
Input "INFERIEUR: ",P
Disp "RENDEMENT
Input "SUPERIEUR: ",Q
Disp "UTILANCE
Input "SUPERIEUR: ",R
(E*A*B*D)/(O*P+Q*R)\->\F
EffEcr
Disp "FLUX
Disp "LUMINEUX TOTAL:
Output(7,12,F)
Pause :EffEcr
Goto \theta\

Lbl 2
Disp "HAUTEUR DES
Input "SUSPENSIONS: ",P
Disp "HAUTEUR DU PLAN
Input "DE TRAVAIL: ",Q
Input "HAUTEUR TOTALE: ",R
P/(R-Q)\->\E
EffEcr
Disp "LE FACTEUR DE
Disp "SUSPENSION
Disp "EST DE:
Output(7,12,E)
Pause :EffEcr
Goto \theta\

Lbl 3
Disp "FACTEUR
Input "DINTERDISTANCE: ",V
Disp "DIFFERENCE DE
Input "HAUTEUR: ",A
A*V\->\D
EffEcr
Disp "LA DISTANCE MAX
Disp "EST DE:
Output(7,12,D)
Pause :EffEcr
Goto \theta\

Lbl 4
Input "LONGUEUR: ",A
Input "LARGEUR: ",B
Disp "DIFFERENCE DE
Input "HAUTEUR: ",H
A*B/((A+B)*H\->\Q
EffEcr
Disp "LINDICE DE LOCAL
Disp "EST DE:
Output(7,12,Q)
Pause :EffEcr
Goto \theta\

Lbl 5
Input "FLUX TOTAL: ",F
Disp "FLUX LUMINEUX
Input "DUNE LAMPE: ",A
Disp "NOMBRE DE LAMPES
Disp "DANS UN
Input "LUMINAIRE: ",E
F/(A*E)\->\O
EffEcr
Disp "LE NOMBRE DE
Disp "LUMINAIRE
Disp "EST DE:
Output(7,12,O)
Pause :EffEcr
Goto \theta\

Lbl 6
Input "HAUTEUR TOTAL: ",P
Input "HAUTEUR UTILE: ",Q
Disp "HAUTEUR DES
Input "SUSPENSIONS: ",R
P-Q-R\->\F
EffEcr
Disp "LA DIFFERENCE DE
Disp "HAUTEUR EST DE:
Output(7,12,F)
Pause :EffEcr
Goto \theta\
\stop83\


PS: si on pe le racourcir ditet le moi en mm tem???
Posté le 25/10/2008 à 14:37 Membre depuis le 24/08/2007, 729 messages
en fait, ça sert à rien que tu remette tes variables à 0 en début de ton prog, avec un rapide coup d'oeuil, elle semble toutes êtres initialisées par des input, donc tu peut suprimer toute la ligne des 0->..
C'est certain cette ligne sert à rien.
very (./20) :
( Delvar A ça prends moins d'ocets que 0->1 en tout cas (2 au lieu de 3))


ok, mais si tu as 20 variables, Delvar A:...(18 autres DelVar)...grinelVar Z ça prend moins d'octets d'écrire Fill(0,Liste), même si la liste prend aussi elle m^me de la place, mais elle peut êtres supprimée en fin de prog
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 25/10/2008 à 14:42 Membre depuis le 25/12/2006, 499 messages
Oui mais ça prend 3 octet pour appeler la variable.
Posté le 25/10/2008 à 15:19 Membre depuis le 09/07/2003, 21783 messages
Loclamor (./22) :
ok, mais si tu as 20 variables, Delvar A:...(18 autres DelVar)... biggrin.gif elVar Z ça prend moins d'octets d'écrire Fill(0,Liste), même si la liste prend aussi elle m^me de la place, mais elle peut êtres supprimée en fin de prog


C'était pour ./18
Sinon 3 ocets pour chaque appel ensuite et moins rapide... faut compter.


Sinon je suis d'accord avec le début de ton post, il n'a pas besoin d'intialiser, comme je lui avait dit avant:
very (./12) :
jerem512> est-tu sûr que tu a réellement besoin d'initialiser ces nombres ? (si ils sont affectés par un prompt ou un calc ensuite... bha tu t'en fou de la valeure initiale)


Mais visiblement il est pas très très à l'aise encore avec certains principes de prog...

Posté le 25/10/2008 à 20:04 Membre depuis le 09/10/2008, 43 messages
oui c'est mm certain .....
Posté le 26/10/2008 à 22:54 Membre depuis le 24/08/2007, 729 messages
Donc pour résumer, supprime ta ligne de code ou tu met toutes les variables a 0, elle sert à rien.
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 27/10/2008 à 12:33 Membre depuis le 09/10/2008, 43 messages
okai c'est fait