π
<-

Problème Programmation

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Problème Programmation

Message non lude corentin legros » 16 Déc 2012, 17:13

Bonjour à tous,

Je débute actuellement sur Nspire CAS.

Je tente actuellement de créer un programme qui m'effectue les calculs vectorielle pour la mécanique torsorielle.

J'ai effectué ce meme programme sur une TI-83, j'ai donc tenté de faire un équivalent sur Nspire.

Voila à quoi j'arrive :
Code: Tout sélectionner
Define vectorielle(a)=
Prgm
:If a=0 Then
:Disp"Nouveau Point"
:Request "X Nouveau Point =",xa
:Request "Y Nouveau Point =",ya
:Request "Z Nouveau Point =",za
:ClrErr
:Disp "Ancien Point"
:Request "X Ancien Point",xb
:Request "Y Ancien Point",yb
:Request "Z Ancien Point",zb
:ClrErr
:xd:=xa-xb
:yd:=ya-yb
:zd:=za-zb
:EndIf
:If a=1 Then
:Disp "Vecteur directeur"
:Request "Xdir",xd
:Request "Ydir",yd
:Request "Zdir" ,zd
:ClrErr
:EndIf
:Disp "Force"
:Request "X Force",xf
:Request "Y Force",yf
:Request "Z Force",zf
:ClrErr
:l:=yd*zf-yf*zd
:m:=zd*xf-zf*xd
:n:=xd*yf-yd*xf
:Disp "Vecteur Direction"
:Disp "Xdir=",xd
:Disp "Ydir=",yd
:Disp "Zdir=",zd
:Disp "Moment résultant"
:Disp "L=",l
:Disp "M=",m
:Disp "N=",n
:EndPrgm


(Le "a" que je définit au départ me sers juste à savoir de quelle façon je rentre mes variables par la suite, en fonction des données de départ)

Seul problème lorsque je lance mon programme j'ai un message d'erreur qu'il me dit qu'il y a trop d'arguments.

Je ne sais pas d'ou cela peut venir ...
Je ne suis pas sur également de l'utilisation des fonction REQUEST.

Pourriez vous m'éclairer sur ma programmation ?

Cordialement
Avatar de l’utilisateur
corentin legros
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 26.7%
 
Messages: 5
Inscription: 16 Déc 2012, 17:03
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Problème Programmation

Message non lude Levak » 16 Déc 2012, 17:16

Salut,

1) Il faut que tu appelles ton programme avec vectorielle(0) ou vectorielle(1).
Si tu penses que l'assertion précédente est d'une évidence même, je t'invite à faire un Ctrl+B sur ton programme, et à recommencer.

2) ClrErr ne fait pas ce que tu penses. Je t'invite à regarder du côté de Request "var", var, 0

3) ElseIf sert à quelque chose

4) Local est magique aussi
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: Problème Programmation

Message non lude corentin legros » 16 Déc 2012, 18:39

Merci Levak pour ton aide.

Merci pour le coup de pouce pour le elseif.

Pour les Clrerr je pensai que c'était une toute autre fonction.

J'ai déclarer mes variables en local à chaque début de chaque partie mais toujours ce problème d'argument. J'ai également essayer de toute les déclarer en debut de programme mais j'ai également eu un problème.

Et depuis le début j'appelle mon programme avec vectorielle(0) ou (1).

Code: Tout sélectionner
Define vectorielle(a)=
Prgm
:If a=0 Then
:Local xa,ya,za,xb,yb,zb,xd,yd,zd
:Request "X Nouveau Point =",xa
:Request "Y Nouveau Point =",ya
:Request "Z Nouveau Point =",za
:Request "X Ancien Point",xb
:Request "Y Ancien Point",yb
:Request "Z Ancien Point",zb
:xd:=xa-xb
:yd:=ya-yb
:zd:=za-zb
:Elseif a=1 Then
:Local xd,yd,zd
:Request "Xdir",xd
:Request "Ydir",yd
:Request "Zdir" ,zd
:EndIf
:Local xf,yf,zf,l,m,n
:Request "X Force",xf
:Request "Y Force",yf
:Request "Z Force",zf
:l:=yd*zf-yf*zd
:m:=zd*xf-zf*xd
:n:=xd*yf-yd*xf
:Disp "Vecteur Direction"
:Disp "Xdir",xd
:Disp "Ydir",yd
:Disp "Zdir",zd
:Disp "Moment résultant"
:Disp "L=",l
:Disp "M=",m
:Disp "N=",n
:EndPrgm


Il n'y a t'il pas un nombre de variable limité par programme ?
Avatar de l’utilisateur
corentin legros
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 26.7%
 
Messages: 5
Inscription: 16 Déc 2012, 17:03
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Problème Programmation

Message non lude Levak » 16 Déc 2012, 18:41

Et le Ctrl+B ?

edit : le local est plus pratique au début du programme, mais c'est pas le point ici.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: Problème Programmation

Message non lude corentin legros » 16 Déc 2012, 18:59

Merci beaucoup le ctrl+B a résolu le problème

Un problème de compilation ?

Un grand merci à toi Levak :D
Avatar de l’utilisateur
corentin legros
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 26.7%
 
Messages: 5
Inscription: 16 Déc 2012, 17:03
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Problème Programmation

Message non lude Levak » 16 Déc 2012, 19:04

corentin legros a écrit:Un problème de compilation ?

Le TI-Basic n'est pas compilé.
Ctrl+B exécute simplement ce que tu as tapé dans l'éditeur, ce qui revient à affecter vectorielle à la définition d'un programme (Define vectorielle(a) = Prgm ... EndPrgm). Si tu ne fais pas ça c'est comme si tu tapais a:=1 et que tu effaçais la ligne sans la lancer.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: Problème Programmation

Message non lude corentin legros » 16 Déc 2012, 19:05

Je voudrai améliorer mon programme, pour que celui-ci effectue des calcul formel.

Je m'explique :
J'insere une variable genre "x" à la place d'un chiffre et qu'il me le resorte dans les resultat ?

Avez vous une idée pour effectuer ceci ?
Avatar de l’utilisateur
corentin legros
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 26.7%
 
Messages: 5
Inscription: 16 Déc 2012, 17:03
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Problème Programmation

Message non lude Levak » 16 Déc 2012, 19:06

Si tu as une TI-Nspire CAS, tu peux très bien mettre x (non défini) dans les Request.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: Problème Programmation

Message non lude corentin legros » 16 Déc 2012, 19:09

J'ai tenté de remplacer une des valeur par un x, mais il m'indique que la variable n'est pas défini.

Meme si j'ai la CAS il faut que j'effectue des modif dans le programme non ?

EDIT : J'ai réussi à faire un calcul avec des inconnu

Mais depuis pas moyen il me sors toujours le problème de variable non défini

EDIT 2 : Sa fonctionne avec le a=0 (en écrivant les points) mais avec le a=1 (mode vecteur), sa ne marche pas

EDIT 3 : Problème résolu, je déclarer mes variables dans le premier if mais pas dans le elseif, je les ai donc déclarées avant de rentrer dans la boucle du if et là ça marche nickel.

Un grand merci !

Je joins mon programme en version finale si quelqu'un veut le réutiliser :

Code: Tout sélectionner
Define vectoriel()=
Prgm
:Local a
:Request "Mode Points (0) - Mode Vecteur (1)",a
:Local xa,ya,za,xb,yb,zb,xd,yd,zd
:If a=0 Then
:Request "X Nouveau Point =",xa
:Request "Y Nouveau Point =",ya
:Request "Z Nouveau Point =",za
:Request "X Ancien Point",xb
:Request "Y Ancien Point",yb
:Request "Z Ancien Point",zb
:xd:=xa-xb
:yd:=ya-yb
:zd:=za-zb
:ElseIf a=1 Then
:Request "Xdir",xd
:Request "Ydir",yd
:Request "Zdir",zd
:EndIf
:Local xf,yf,zf,l,m,n
:Request "X Force",xf
:Request "Y Force",yf
:Request "Z Force",zf
:l:=yd*zf-yf*zd
:m:=zd*xf-zf*xd
:n:=xd*yf-yd*xf
:Disp "Vecteur Direction"
:Disp "Xdir",xd
:Disp "Ydir",yd
:Disp "Zdir",zd
:Disp "Moment résultant"
:Disp "L=",l
:Disp "M=",m
:Disp "N=",n
:EndPrgm
Avatar de l’utilisateur
corentin legros
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 26.7%
 
Messages: 5
Inscription: 16 Déc 2012, 17:03
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Problème Programmation

Message non lude Bisam » 19 Déc 2012, 21:32

En fait, en utilisant les listes, tu peux simplifier énormément ton programme.
Voici ce que ça peut donner :
Code: Tout sélectionner
Define vectoriel()=
Prgm
:Local mode, pta, ptb, vd, vf, mom
:Request "Mode Points (0) - Mode Vecteur (1)",mode
:If mode=0 Then
:  Request "Nouveau Point",pta
:  Request "Ancien Point",ptb
:  vd:=pta-ptb
:ElseIf mode=1 Then
:  Request "Vecteur direction",vd
:EndIf
:Request "Vecteur Force",vf
:mom:=crossp(vd,vf)
:Disp "Vecteur Direction",vd,"Moment résultant",mom
:EndPrgm

Pour l'utiliser, il suffit de rentrer des listes (contenant les coordonnées des point ou des vecteurs concernés) à la place des coordonnées 1 par 1.
En fait, ta calculatrice SAIT calculer des produits vectoriels !!
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5670
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile


Retourner vers Problèmes divers / Aide débutants

Qui est en ligne

Utilisateurs parcourant ce forum: ClaudeBot [spider] et 11 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
968 utilisateurs:
>918 invités
>42 membres
>8 robots
Record simultané (sur 6 mois):
7582 utilisateurs (le 25/06/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)