Page 1 of 2

[résolu]Requester une variable n fois

Unread postPosted: 16 May 2010, 12:44
by poxtra102
Bonjour,
Ma TI 89 est retourné auprès du grand créateur et je me suis pris une TI nspire CAS. Seulement, elle n'est pas encore très aboutie question programmation (je trouve) et je souhaiterais un peu d'aide pour pouvoir requester une variable n fois. J'explique: Il s'agit d'un programme relatif a une somme de n éléments:

a1+a2+a3+...+ax=b

Le nombre ax dépend de l'exercice, j'ai donc penser faire un programme tels que il me demande le nombre de ax a entrer et ensuite me demande la valeur de chaque ax:

Request "Nombre d'années", r1
???
Request " Valeur pour l'année", a1
???

En gros ce serait une loop s'executant r1 fois et permettant de stocker chaque variable "Valeur pour l'année" dans une variable différente afin de les traiter après...

Vous voyez ce que je veux dire?
En gros au niveau de l'utilisateur, je voudrais que ca donne quelque chose comme:

Nombre d'année?
3
Valeur pour l'année 1:
1
Valeur pour l'année 2:
5
Valeur pour l'année 3:
3
Valeur globale = 7

J'espère avoir été claire...

Merci.

Re: [résolu]Requester une variable n fois

Unread postPosted: 16 May 2010, 12:46
by Levak
Tu peux t'aider de la très utile fonction expr()

en gros, elle va te permettre de construire des instructions sous forme de chaines de caractères que expr() executera comme si te rien n'était.
Regarde le programme PlotBeta sur TIbank, et tu comprendras :)

edit : bon aller, un exemple :

Code: Select all
Request "nb de popup ?",nb

for i,1,nb

expr( "Request 'popup n°"  string(i)  "',var"  string(i)  )

endfor



Le symbole permet de concaténer les chaines de caractère.

Re: [résolu]Requester une variable n fois

Unread postPosted: 16 May 2010, 13:12
by poxtra102
Superbe réactivité,
Merci beaucoup, je lui donne un éssai et je vous tient au courrant!

Re: [résolu]Requester une variable n fois

Unread postPosted: 16 May 2010, 13:18
by Lionel Debroux
elle n'est pas encore très aboutie question programmation (je trouve)

C'est un euphémisme :D:
La HP-50g est bien plus programmable que ne l'est la Nspire.

Re: [résolu]Requester une variable n fois

Unread postPosted: 16 May 2010, 15:14
by Levak
poxtra102 wrote:Superbe réactivité,
Merci beaucoup, je lui donne un éssai et je vous tient au courrant!


Derien :#langue#:

J'ai oublié de préciser que dans mon exemple, les ' sont des " mais si je les avais mis comme cela, on aurait cru que les guillemets de ferment plus tôt. Donc remplace les ' par des " lorsque tu recopie l'exemple.

@toute

Re: [résolu]Requester une variable n fois

Unread postPosted: 16 May 2010, 21:04
by poxtra102
Lionel Debroux wrote:
elle n'est pas encore très aboutie question programmation (je trouve)

C'est un euphémisme :D:
La HP-50g est bien plus programmable que ne l'est la Nspire.


C'est claire :#gni#: mais hp sont un peu mou question réactivité: pas de support de linux ni meme de windows 7 et pas de programmes de programmation sur PC vendu avec, c'est un peu léger... a croire qu'ils se forcent a ne pas conquérire le secteur de la calculatrice.

De meme, je trouve leur OS très mal foutu, un support très moyen de la carte SD (impossibilité de lancer des programmes a partir de celle-ci) et pas de text editor ( ou presque).

Alors question hardware, rien a dire c'est une tuerie, question programmation non plus mais en revanche, ils ont un espece de m'enfoutisme qui a fais que lorsque mon cousin me l'a filé, j'ai bien cru que c'était un prototype qui n'avait jamais été commercialisés :D:

De meme, jusqu'a il y a un mois, j'ai crus que c'était un produit discontinué!

Enfin, la communauté est tres réduite.

C'est vraiment un gachi.

Re: [résolu]Requester une variable n fois

Unread postPosted: 16 May 2010, 21:17
by critor
poxtra102 wrote:
Lionel Debroux wrote:
elle n'est pas encore très aboutie question programmation (je trouve)

C'est un euphémisme :D:
La HP-50g est bien plus programmable que ne l'est la Nspire.


C'est claire :#gni#: mais hp sont un peu mou question réactivité: pas de support de linux ni meme de windows 7 et pas de programmes de programmation sur PC vendu avec, c'est un peu léger... a croire qu'ils se forcent a ne pas conquérire le secteur de la calculatrice.


Parce que TI supporte Linux ?
Avec Windows 7, on a plein de problèmes pour la connectivité des modèles pré-Nspire...


poxtra102 wrote:De meme, je trouve leur OS très mal foutu, un support très moyen de la carte SD (impossibilité de lancer des programmes a partir de celle-ci) et pas de text editor ( ou presque).


Normal, ce n'est pas de la RAM...
Sur les TI-z80 aussi, on ne peut pas exécuter un programme situé en archive.
Pareil chez Casio: tu ne peux pas faire ce que tu veux avec la carte SD...
Pas de véritable text-editor non plus sur les z80...
On doit passer par des programmes-tiers que la plupart des utilisateurs n'arrivent pas à lancer correctement (il suffit de compter le nombre de posts à ce sujet sur le forum...)



poxtra102 wrote:Enfin, la communauté est tres réduite.


La communauté HP était énorme au début des années 90, alors que les HP-48S/SX/G/G+/GX étaient LA référence et que TI était loin derrière avec ses TI-81/82/85.
Mais, HP s'est alors reposé sur ses lauriers, n'a sorti aucune calculatrice pendant presque une décennie...

Ils se sont réveillés très tard, sortant alors une nouvelle calculatrice mais avec le matériel de la HP48G (bref, 10 ans d'âge...), le nouveau hardware n'étant sans doute pas au point...
Puis la suivante bénéficiait bien d'un nouveau matériel, mais qui émulait toujours la matériel de la HP48G, le nouveau software n'étant sans doute pas au point...


Tu as le droit de ne pas aimer HP, mais tu ne peux pas leur reprocher les "défauts" qui se retrouvent à l'identique chez les concurrents.


poxtra102 wrote:C'est vraiment un gachi.


Là, parfaitement d'accord.
HP était 1er, HP a tout gâché...

Re: [résolu]Requester une variable n fois

Unread postPosted: 17 May 2010, 11:32
by poxtra102
Il ne s'agit pas de critiquer hp par rapport a la concurrence, mais quand une calculatrice annonce un support de la carte SD, on s'attend a ce que l'on puisse stocker des programmes dessus, et que ce soit a elle de les loader en RAM lorsque l'on les utilises. C'est pas bien pensé. Aujourd'hui, il faut le faire a la paluche, et c'est lourd a faire. Que CASIO fasse la meme erreur, c'est balo, mais ca reste toujours une erreur. C'est pas parce que un produit est mauvais que celui d'en face est meilleur. Or là, à l'heure actuelle, la 50g est mal conçu. Tant du point de vue de la carte SD, de la compatibilité avec un PC tournant sous XP et surtout pas au dessus, que du fait qu'aucun proqrammes permettant de faire ses programmes sur son PC ne soit fournis. (et meme sous XP).
D'autre part, l'année derniere, avant que ma ti 89 ne meurt, je n'avais aucun probleme de compatibilité avec vista ou seven. (peut etre du au fait que j'avais un vieux modele qui se branchais en port com...)
Fin du HS.

Levak wrote:Tu peux t'aider de la très utile fonction expr()

en gros, elle va te permettre de construire des instructions sous forme de chaines de caractères que expr() executera comme si te rien n'était.
Regarde le programme PlotBeta sur TIbank, et tu comprendras :)

edit : bon aller, un exemple :

Code: Select all
Request "nb de popup ?",nb

for i,1,nb

expr( "Request 'popup n°"  string(i)  "',var"  string(i)  )

endfor



Le symbole permet de concaténer les chaines de caractère.



Excellent, Ça marche!
Super astucieux comme fonction... :#wahoo#:

Je comprend bien le request "popup n*". le string (i) permet a priori de faire qu'a chaque boucle on ai un numero de popup différent (ici correspondant au i), le ",var" string(i) permettent de stocker les variables sous var1, var2, ... . L'utilisation des guillemets me parrait un peu floue cependant.

Code: Select all
expr("Request "popup n°"string(i)"",var"string(i))


Pourquoi la partie "Request ""popup n°"string(i)" est entre guillemet? et pourquoi le dernier string(i) ne l'est pas?

Re: [résolu]Requester une variable n fois

Unread postPosted: 17 May 2010, 12:09
by JayTe
Il faut imaginer que la commande Expr transforme une chaîne de caractères en une commande exécutable par la calculatrice.

Ici, on cherche à effectuer la commande
Code: Select all
Request "Texte",variable

Dans la commande finale le texte à afficher dans la boite de dialogue (Ici "popup n°1" par exemple) doit être entre guillemets (c'est une chaine de caractères), d'où les guillemets à l'intérieur de la chaine de caractères que tu passes à expr.

Re: [résolu]Requester une variable n fois

Unread postPosted: 17 May 2010, 12:48
by poxtra102
Merci beaucoup de ta réponse,

Mais ça je comprend bien pourquoi les guillemets autour du "popup n°1" mais c'est ceux ci qui me posent probleme:
Code: Select all
expr("Request popup n°string(i)"",var"string(i))

Ce sont deux parties que l'on ne mettrais pas entre guillemets sans la fonction expr(), ...
De meme le placement du se fait une fois a l'interieur des guillemets et une fois a l'exterieur des guillemets... Ça n'as donc pas d'influence?