Page 1 of 2

Programme de mécanique

Unread postPosted: 24 Dec 2015, 19:22
by CHRISTO59
Bonjour,

Je suis nouveau dans le forum, j’ai ma calculatrice Ti-spire depuis plus d’un an. Mais j’ai décidé de me lancer dans un programme en ce moment pour résoudre la méthode des trois moments (c’est de la mécanique). Avec ce logiciel je voudrais avoir la méthode, les calculs, les résultats.
J’ai donc commencé un programme mais j’ai beaucoup de mal, malgré les aides de YouTube ou des exemples, puis comme je n’ai pas de recul difficile de retrouver les erreurs.

Donc voilà ce que j’ai réalisé :

Code: Select all
Define troismoments()=
Prgm
:Local(Q,L,N,P,Y,Z)
:Request "Valeur de Q : ",Q
:Request "Valeur de L1 : ",L
:Request "Valeur de L2 : ",N
:If L1>0 Then
: Disp "La formule des trois moment nous permet d'ecrire : Pour l'appui 1 i:1M1-1*L1+M2(L1+L1+1)+M1+1*L1+1=6EI=6EI(Wid-Wrg)M0*2M1(L1+L2)+2M2*L2=6EI(Wid-Wrg)Sachant que que M0=M2=0, cela nous donne : 2M1(L1+L2)=6EI(Wid-Wrg)"
: Disp "On remplace par les valeurs de l'enoncé :"
: Disp "Soit : 2M1(L1+L2)=6((-Q*L2^3)/24-(Q*L1^3)/24"
: Disp "M=??"
:If L1=L2 Then
: Disp " On peut utiliser l'abaque de maquart"
: Disp "P=Q*l"
: P := Q*L
: Disp "Valeur de P :", P
:Y:= 0.375*P
:Z:= 1.25*P
: Disp "Y0=",Y
: Disp "Y1=", Z
:Else
: Disp "If faut utilisé la methode classique"
:EndIf
:Else 
: Disp "Erreur"
: DelVar Q,L,N,P,Y,Z
:EndPrgm


Voilà ce que j’ai fait, lorsque je lance le programme il m’indique que c’est terminé sans afficher de valeur et en ne me demandant aucune valeur alors qu’il y a des formules « request », si vous pouviez m’aider à retrouver les erreurs dans mon programme. Je vous ai mis le programme en pièce jointe.

En vous remerciant d'avance.

Re: Programme de mécanique

Unread postPosted: 24 Dec 2015, 19:29
by critor
Bonjour.

Tu as peut-être tout simplement oublié de valider tes modifications au code du programme et donc la calculatrice considère toujours qu'il est vide.
Depuis l'éditeur de programmes, tu peux le faire avec le raccourci :nsct: :nsb:.
Et sinon, c'est disponible via la touche :nsme:.

Re: Programme de mécanique

Unread postPosted: 24 Dec 2015, 19:58
by Hamza.S
tu as bien fait de joindre ton classeur, tu as "terminé" parce que tu n'es pas sur une ligne de calcul mais l'éditeur mathématique doit doit être sur la page calcul et tu as oublié de faire :nsct: :nsb: .
il y a quelque modification à faire sur ton programme
par exemple L1 et L2 n'existent pas dans ce que tu as rentré à la place c'est L et N
comme tu as mit Local tu n'as pas besoin du Delvar (à la fin)
pour la Ligne Local(Q,L,N,P,Y,Z) cette écriture n'est pas acceptée il faut l'écrire de cette manière :
Code: Select all
Local Q,L,N,P,Y,Z

il y a :
Code: Select all
If ... Then
...
If ... Then
...
Else
...
EndIf
Else

il manque un EndIf à la fin

Edit : j'ai corrigé vite fait les petits erreurs et maintenant à l'écran de gauche tu pourras exécuter ton programme (j'ai mit la page calcul)

Re: Programme de mécanique

Unread postPosted: 25 Dec 2015, 23:48
by CHRISTO59
Bonjour,

Je vous remercie pour votre réponse rapide et exact. J'ai pu comprendre et voir ou sont mes erreurs. Je voulais connaître autre chose, dans mon premier post il avait M comme inconnue. Je voulais détailler le calcul (comme ca je n'est qu'a recopier lorsque je lance le programme), mais les variables ne changent pas avec Disp.

Je voulais donc savoir si il a une formule permettant d'afficher du texte est des variables simultanément ou une manière de faire particulières.

Je sais que par Excel c'est déjà très complique car il faut bidouiller alors sur TI !

Re: Programme de mécanique

Unread postPosted: 25 Dec 2015, 23:59
by critor
CHRISTO59 wrote:Je voulais donc savoir si il a une formule permettant d'afficher du texte est des variables simultanément ou une manière de faire particulières.


Oui, disp admet plusieurs arguments dont il juxtaposer les affichages si il y a assez de place.
Code: Select all
disp "texte1",variable,"texte2"

Re: Programme de mécanique

Unread postPosted: 26 Dec 2015, 11:18
by CHRISTO59
Merci j'ai modifier mon programme mais rien n'y fait, ça ne fonctionne pas.

Dans le programme j'ai modifier en notant :
Code: Select all
Disp "Soit : 2M1(",l,"x",n,")=6((-Q*L2^3)/24-(Q*L1^3)/24"


Je pense avoir reproduit ce qui été noté mais il me note tout en texte lors de exécution.

Je te mets le fichier en pièce jointe au cas ou.

Re: Programme de mécanique

Unread postPosted: 26 Dec 2015, 11:29
by Adriweb
Tu peux aussi tenter :
Code: Select all
Disp "Soit : 2M1("&string(l)&"x"&string(n)&")=6((-Q*L2^3)/24-(Q*L1^3)/24"

Pour avoir qu'un seul string (concaténation des bouts)

Re: Programme de mécanique

Unread postPosted: 26 Dec 2015, 11:34
by Hamza.S
l'erreur vient du fait que tu avais saisi des guillemets puis tu as mit des guillemets dans ces premiers guillemets
2M1("l",q,"n",)=6((-Q*L2^3)/24-(Q*L1^3)/24 ce qui explique les "l" et "n"
je ne sais pas si tu as remarqué mais quand tu ouvres des guillemets (premier) la calculette les ferment automatiquement, tout ce qui se place dedans est considéré comme chaîne de caractère appartenant à un seul bloc de guillemets (celui que tu as créé en premier)
voilà ton classeur corrigé

Re: Programme de mécanique

Unread postPosted: 26 Dec 2015, 12:26
by CHRISTO59
Si je viens de remarqué avec les guillemets quand j'ai réécrit la formule... je vous remercie j'ai compris mes erreurs

Si il a un souci la prochaine fois j’utiliserai string c'est vrai que je ne connaissais pas.

Re: Programme de mécanique

Unread postPosted: 26 Dec 2015, 13:06
by Hamza.S
"string" tu risques d'avoir des guillemets à l'affichage
une idée : tu copies/colles sur une page Word/bloc-note ou autre tu sélectionnes ce que tu as collé et tu copies/colles sur la page de programmation ça devrait marcher je pense