Baruch Le 15/12/2008 à 23:18Edité par Baruch le 17/12/2008 à 00:00 Euh j'ai pas compris, il sert à quoi ton prog ? (déjà) ((hu hu hu ^^))
Bon enfait l'essentiel dans ton prog c'est la transformation d'un nombre en une chaîne de caractères. La concaténation, ça fait une ligne (néanmoins je comprends pourquoi tu dis ça, parce-que une chaîne vide c'est pas possible, et donc il faut initialiser la chaîne qui reçoit le nombre, donc autant l'initialiser avec un truc utile).
Pour ceux qui ne savent pas (je sais que tu sais), il y a un truc idiot pour transformer un nombre en une chaîne, aves les LinReg. Mais c'est pas hyper rapide. Donc ton travail est légitime. Bien sûr, il faudra comparer les 2 méthodes, en différenciant peut-être les cas.
En ce qui concerne le code, les calculs pour extraire les chiffres sont bien à mon avis, mais bon il y a quelques simplifications à faire (en particulier si on veut que ce soit rapide). Ici la méthode que tu utilises est itérative (on transforme à chaque fois le A puis on le réutilise). Est-ce plus rapide quand c'est pas itératif ? --> trouver la formule pour extraire le n-ième chiffre d'un nombre --> voir un de mes posts. Peut-être que ta méthode est mieux, je sais pas. Ah et puis While + décrément = For.
Ah je reviens sur l'alternative à l'itératif (qu'on appelle euh explicite ?). Ca serait cool (mais peut-être moins rapide, j'en sais rien) si on pouvait faire ce que j'appelle un Ans continu. Look :
Si on est en explicite, pas la peine de modifier A. L est modifié dans le For. On peut arriver à ça :
For(L,_,_
Str1+sub(Str0,B=___,1->Str1
End
Donc ce que j'appelle le Ans continu, ça veut dire que ce qu'on construit par itération (ici Str1) n'est jamais stocké, et reste toujours dans le Ans.
Donc on pourrait faire :
Str1
For(L,_,_
Ans+sub(Str0,B=___,1
End
Ans->Str1
Faudrait faire des tests, ça pourrait peut-être marcher mieux surtout pour un grand nombre de tours.
Quant à la virgule, je vois pas trop l'intérêt, enfin tout dépend ce qu'on fait.
Ah tiens au fait, on n'a même pas parlé de l'intérêt du (dé)stockage entre nombre et chaîne !
Quel est l'intérêt de transformer un nombre en une chaîne ? Si tu me dis : si on le transforme en chaîne, on peut le concaténer ac une autre chaîne par le prog au-dessus, et donc on peut afficher du texte et des nombres accolés ; et ben ça marche pas puisqu'on peut déjà faire Text(0,0,"ABC3,32
Bon ok c'était un piège. Oué ça peut servir pour les Input, les Menu, et puis j'en trouve pas d'autres.
Et dans l'autre sens ? Ben étant donné qu'on peut mettre plus d'infos dans un nombre que dans une chaîne, ça me paraît être le sens le plus important.
Yiha !
gon33 Le 16/12/2008 à 10:41 Sinon, sur Ticalc, des progs utilisant exactement le même principe existent déjà...