String en une variable sans les guillemets ?

Une question sur la programmation TI-Nspire? Ce foum est là pour vous aider.

String en une variable sans les guillemets ?

Messagepar p75 le 09 Mai 2010, 09:32

Bonjour,

Je souhaite savoir comment transformer une chaine de caractères (string) en une variable sans les guillemets afin de pouvoir stocker les valeurs.

J'ai des strings du type

For i, 2,10
mat[i,3]:="a"&string(j-1)
endfor

je voulais sans le guillemet


Merci
p75
 
Messages: 22
Inscrit le: 14 Mars 2010, 15:40

Re: String en une variable sans les guillemets ?

Messagepar p75 le 09 Mai 2010, 09:55

Je voulais supprimer mon post car j'ai trouvé la solution.

Mais je mes ici au cas où :

For i, 2,10
mat[i,3]:=expr("a"&string(j-1))
endfor

expr : transforme la chaine de caractère en variable sans les guillemets
p75
 
Messages: 22
Inscrit le: 14 Mars 2010, 15:40

Re: String en une variable sans les guillemets ?

Messagepar alexcazaux le 09 Mai 2010, 11:22

Bonjour,
bonne idée d'avoir laissé ce message. Ça m'a permis de comprendre le fonctionnement de la conversion chaîne de caractères <-> variable.
Je cherche à créer un bout de code qui permet de demander à l'utilisateur d'entrer des points avec leurs coordonnées. C'est assez proche de ce qui est expliqué ci dessus.
Voici la procédure (qui sera a priori une boucle "loop" :
1) demander nom du point
2) demander cordonnée en x
3) demander cordonnée en y
4) éventuellement cordonnée en z (pas d'utilité immédiate)
5) créer ce point dans une variable qui porte le nom donné par l'utilisateur en 1) sous forme d'un vecteur, contenant x et y, voire z.
6) permettre à l'utilisateur de quitter cette boucle en validant la fenêtre du 1) en laissant le champ vide.

J'ai réalisé ce code, mais il y a des erreurs qui m'empêchent de le tester. Quelqu'un peut-il me dire ce qui ne va pas ?
Code: Tout sélectionner
Define points()=
Prgm
local name, x, y
loop
  RequestStr "Nom du point ?", name
     If dim(name)=0 Then
       Goto end
     Endif
  Request "x = ?", x
  Request "y = ?",y
  expr(name)→[x,y]
  Text "Pour terminer la saisie, laissez le champ vide et cliquez sur Ok."
Endloop
Lbl end
EndPrgm

Merci d'avance !
Alexandre.
alexcazaux
 
Messages: 17
Inscrit le: 07 Sept 2008, 12:51

Re: String en une variable sans les guillemets ?

Messagepar nelsonsousa le 09 Mai 2010, 13:06

There are a few things you should change in your program:

1. on expr(name)=:[x y] you have the order wrong: first is the value, then is the variable to store it in;
2. expr(name) evaluates the content of name and returns the result; if you want to get the results as a variable name use indirection, #name
3. requeststr requires the user to input something; if you leave the request box empty you get an error. It's advisable to get everything on a Try/Endtry block.

This program will work:

Define points()=
Prgm
:Local name,x,y
:Loop
:Try
: RequestStr "Nom du point ?",name
:Else
:Goto end
:EndTry
: Request "x = ?",x
: Request "y = ?",y
: #name:=[x,y]
: Text "Pour terminer la saisie, laissez le champ vide et cliquez sur Ok."
:EndLoop
:Lbl end
:EndPrgm
nelsonsousa
 
Messages: 75
Inscrit le: 09 Sept 2008, 02:46

Re: String en une variable sans les guillemets ?

Messagepar alexcazaux le 09 Mai 2010, 14:08

Great !
Thanks a lot for helping me so quickly.
Alexandre.
alexcazaux
 
Messages: 17
Inscrit le: 07 Sept 2008, 12:51


Retourner vers Aide au développement sur TI-Nspire



Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron

© Copyright 2008 - Tous droits réservés.