Page 2 sur 2

Re: Renseignement programmation

Message non luPosté: 18 Jan 2023, 10:50
de azertyuiop197194500
Adriweb a écrit:Regarde ma reponse a ta question de conversion, dans mon premier message de ce topic :)
Tu copie/colle ton code lua dans l'editeur du logiciel nspire et ensuite tu peux sauver le document dans un .tns a transferer sur ta calculatrice.

Il existe aussi cette version de Luna en ligne : https://tiplanet.org/scripts/luna-web/ cela dit c'est une version un peu vieille, mais bon ca marchera peut etre quand meme.
Mais avec le logiciel tu peux utiliser le debuggeur, donc ca reste mieux pour un usage interactif.

Je ne comprends pas ta question, sinon, pour lancer le programme, j'ai deja repondu que le script se lancait deja automatiquement, il n'y a pas de commande a effectuer cote Basic.

Bonjour,
Je disais ça dans le sens que par exemple le programme tabvar il faut allez dans la page deux et marquer "metude(...)" pour lancer l'étude de variation sur l'intervalle choisit, sinon si le script lua ce lance automatiquement rien ne se lance quand j'ouvre mon classeur, par ailleurs j'ai regardé le site de tutoriel lua pour TI nspire pardon je voulais dire survolé mais je l'ai trouvé un peu lite (ou peut être que c'est moi qui est mal regarder, très probable) car par exemple la fonction :
Code: Tout sélectionner
e = io.read("*n")

Il n'est pas lisible par la calculatrice mais j'ai vu nulle part une fonction équivalente dans les tutoriels, je vais quand même regarder de plus près quand j'aurais un peu plus de temps libre, en tout cas merci déjà pour l'aide que vous m'avez fournie.

Re: Renseignement programmation

Message non luPosté: 18 Jan 2023, 11:14
de azertyuiop197194500
Je viens de compiler mon code celui-ci :
https://fromsmash.com/Luatest
que j'ai convertie avec le site que vous m'avez donné mais j'ai ca sur ma calculatrice maintenant c'est pour ca que je veux intégre une commande a écrire pour lancer le script

Image

Re: Renseignement programmation

Message non luPosté: 18 Jan 2023, 12:03
de Hamza.S
Tabvar récupère les variables globales de metudes pour afficher le tableau de variation. C'est une autre façon d'entrer des variables saisies dans un programme Lua. Tous les programmes ne fonctionnent pas de cette manière. Pour ton programme il n'y a pas forcement besoin de ça.

Adriweb a précisé sur un précédent message :
Adriweb a écrit:Pour demander des infos à l'utilisateur dynamiquement, il y a plusieurs choix, en Nspire Lua pur (en gérant les touches clavier une par une etc.), via un 2DEditor creable dans ton script (probablement le plus joli/intégré), ou via la récupération de variables Basic (moins bien intégré mais plus simple/rapide)

la méthode 2DEditor, tu as https://compasstech.com.au/TNS_Authorin ... tut22.html

pour gérer les touches clavier une par une c'est : https://compasstech.com.au/TNS_Authorin ... _tut4.html

Re: Renseignement programmation

Message non luPosté: 18 Jan 2023, 13:08
de Adriweb
azertyuiop197194500 a écrit:Je viens de compiler mon code celui-ci :
https://fromsmash.com/Luatest
que j'ai convertie avec le site que vous m'avez donné mais j'ai ca sur ma calculatrice maintenant c'est pour ca que je veux intégre une commande a écrire pour lancer le script


Le script est deja lancé et s'est meme terminé sans erreur, sinon il te le dirait.

C'est juste que tu utilises la fonction print pour afficher tes résultats sauf que cette fonction ne fait rien de visible sur l'ecran - ca s'affiche en fait dans la console de debuggage. Donc 2 choix :
- depuis l'editeur de script du logiciel (cf. mon post avant...) tu pourras voir le message généré par ton print (apres l'avoir relancé avec le bouton "set script" ou equivalent francais bref)
- tu utilises l'API Nspire Lua pour afficher des choses à l'ecran (donc dans la fonction on.paint(gc), tu fais un gc:drawString etc.)

Bref, suis les tutoriaux, c'est tout expliqué :)

Re: Renseignement programmation

Message non luPosté: 18 Jan 2023, 14:02
de azertyuiop197194500
Adriweb a écrit:
azertyuiop197194500 a écrit:Je viens de compiler mon code celui-ci :
https://fromsmash.com/Luatest
que j'ai convertie avec le site que vous m'avez donné mais j'ai ca sur ma calculatrice maintenant c'est pour ca que je veux intégre une commande a écrire pour lancer le script


Le script est deja lancé et s'est meme terminé sans erreur, sinon il te le dirait.

C'est juste que tu utilises la fonction print pour afficher tes résultats sauf que cette fonction ne fait rien de visible sur l'ecran - ca s'affiche en fait dans la console de debuggage. Donc 2 choix :
- depuis l'editeur de script du logiciel (cf. mon post avant...) tu pourras voir le message généré par ton print (apres l'avoir relancé avec le bouton "set script" ou equivalent francais bref)
- tu utilises l'API Nspire Lua pour afficher des choses à l'ecran (donc dans la fonction on.paint(gc), tu fais un gc:drawString etc.)

Bref, suis les tutoriaux, c'est tout expliqué :)

Mais oui je suis bête ! Je vais plutôt aller lire la documentation en plus j'avais même pas vu qu'il y'avais 48 leçons merci à vous bonne journée.

Re: Renseignement programmation

Message non luPosté: 19 Jan 2023, 00:00
de azertyuiop197194500
Adriweb a écrit:
azertyuiop197194500 a écrit:Je viens de compiler mon code celui-ci :
https://fromsmash.com/Luatest
que j'ai convertie avec le site que vous m'avez donné mais j'ai ca sur ma calculatrice maintenant c'est pour ca que je veux intégre une commande a écrire pour lancer le script


Le script est deja lancé et s'est meme terminé sans erreur, sinon il te le dirait.

C'est juste que tu utilises la fonction print pour afficher tes résultats sauf que cette fonction ne fait rien de visible sur l'ecran - ca s'affiche en fait dans la console de debuggage. Donc 2 choix :
- depuis l'editeur de script du logiciel (cf. mon post avant...) tu pourras voir le message généré par ton print (apres l'avoir relancé avec le bouton "set script" ou equivalent francais bref)
- tu utilises l'API Nspire Lua pour afficher des choses à l'ecran (donc dans la fonction on.paint(gc), tu fais un gc:drawString etc.)

Bref, suis les tutoriaux, c'est tout expliqué :)

J'ai enfin réussi a le faire afficher le résultat sur l'écran mais je voudrais savoir si il était possible d'assigner un nom de commande comme je l'ai dit avant du genre "énergie()" puis le programme ce lance .
Code: Tout sélectionner
-- Constante
e = -1.6e-19
c = 3e8
me = 9e-31

-- Énergie cinétique donnée en eV
Ec = 200

-- Conversion de l'énergie cinétique en Joules
E = Ec * e

-- Calcul du coefficient gamma
gamma = (1 + (E/(me*c^2)))^(1/2)

-- Calcul de la norme de la vitesse de l'électron
v = c * math.sqrt(1 - (1/gamma^2))

-- Affichage des résultats
local screen = platform.window
local W,H = screen:width(),screen:height()
local text1 = "E = Ec * e = " .. Ec .. " * " .. e .. " = " .. E .. " J"
local text2 = "gamma = (1 + (E/(mec^2)))^(1/2) = (1 + (" .. E .. "/(" .. me .. "" .. c .. "^2)))^(1/2) = " .. gamma
local text3 = "v = c * sqrt(1 - (1/gamma^2)) = " .. c .. " * sqrt(1 - (1/" .. gamma .. "^2)) = " .. v .. " m/s"

screen:invalidate()
function on.paint(gc)
gc:drawString(text1,5,5)
gc:drawString(text2,5,20)
gc:drawString(text3,5,35)
end

D'ailleur le code n'est pas bien centrée j'ai un probleme pour trouver le bon cadrage, et pourquoi lorsque je lance le classeur je ne peut pas écrire sur cette page ?

EDIT : J'ai essayer de centrer le texte mais il est trop long d'ailleur je ne peut toujours pas bouger dans la page
Code: Tout sélectionner
-- Constante
e = -1.6e-19
c = 3e8
me = 9e-31

-- Énergie cinétique donnée en eV
Ec = 200

-- Conversion de l'énergie cinétique en Joules
E = Ec * e

-- Calcul du coefficient gamma
gamma = (1 + (E/(me*c^2)))^(1/2)

-- Calcul de la norme de la vitesse de l'électron
v = c * math.sqrt(1 - (1/gamma^2))

-- Affichage des résultats
local screen = platform.window
local W,H = screen:width(),screen:height()
local text1 = "E = Ec * e = " .. Ec .. " * " .. e .. " = " .. E .. " J"
local text2 = "gamma = (1 + (E/(mec^2)))^(1/2) = (1 + (" .. E .. "/(" .. me .. "" .. c .. "^2)))^(1/2) = " .. gamma
local text3 = "v = c * sqrt(1 - (1/gamma^2)) = " .. c .. " * sqrt(1 - (1/" .. gamma .. "^2)) = " .. v .. " m/s"

screen:invalidate()

function on.paint(gc)
-- Centre le texte sur l'écran
gc:drawString(text1,W/2-gc:getStringWidth(text1)/2,H/2-gc:getStringHeight(text1))
gc:drawString(text2,W/2-gc:getStringWidth(text2)/2,H/2)
gc:drawString(text3,W/2-gc:getStringWidth(text3)/2,H/2+gc:getStringHeight(text3))
end

Re: Renseignement programmation

Message non luPosté: 19 Jan 2023, 07:07
de Hamza.S
tu peux faire comme tabvar et le programme metude oui.
pour cela, il suffit d'utiliser var.recall("variable") le nom de la variable est entre guillet et la variable doit être une variable basic globale.
voir : https://compasstech.com.au/TNS_Authorin ... _tut2.html

Re: Renseignement programmation

Message non luPosté: 19 Jan 2023, 12:46
de azertyuiop197194500
Hamza.S a écrit:tu peux faire comme tabvar et le programme metude oui.
pour cela, il suffit d'utiliser var.recall("variable") le nom de la variable est entre guillet et la variable doit être une variable basic globale.
voir : https://compasstech.com.au/TNS_Authorin ... _tut2.html

Bonjour ,

Cette fonction ne fonctionne qu'avec des variables globales et non des variables locales ou de portée limitée ? (peut être que j'ai pas bien compris)

Re: Renseignement programmation

Message non luPosté: 19 Jan 2023, 13:17
de Hamza.S
oui uniquement les variables globales en langage Basic.
cette fonction c'est pour appeler les variables Basic que tu as sur la liste qui s'affiche quand tu presses :nsva:

c'est lorsque tu fais directement sur la ligne dans une page calcul par exemple : a:=19
la variable a est donc une variable globale.
dans un programme en langage TI-Basic Nspire, il est possible d'utiliser Local pour que les variables reste en local mais là il ne faudra pas que la variable reste en local dans le programme su tu veux pouvoir la récupérer en Lua avec var.recall().