menu déroulant

Programmer en RPL

Modérateur: Modérateurs prog.

Messagede nico » 10/05/2002 16:32

deja on y gagnerait en lisibilité si le programme était décomposé en 4 parties

programme principal
Code: Tout sélectionner
« "Prod scalaire" {
{ "p.s.coordonee" 'sp1' }
{ "p.s.norme + somme" 'sp2' }
{ p.s.norme + COS 'sp3' } } 1 CHOOSE
IF
THEN EVAL CLLCD 1
DISP 1 FREEZE
END
»


sp1
Code: Tout sélectionner
« "prod scalaire" { {
"xv =" "Coord v1" 0
} { "yv ="
"Coord v1" 0 } {
"zv =" "coord v1" 0
} { "xt ="
"Coord v2" 0 } {
"yt =" "Coord v2" 0
} { "zt ="
"Coord v2" 0 } } { 3
} { 0 0 0 0 0 0 } DUP
INFORM
IF
THEN 0 2 ROLL OBJ->
DROP -> s xv yv zv xt
yt zt
« xv xt * yv yt *
+ zv zt * + R->I 's'
STO
CASE s 0 ==
THEN
"PERPENDICULAIRE
u.v ="
s +
END s 0 ‹
THEN
"u.v = xx'+yy'+zz':
="
s +
END
END
»
»


sp2
Code: Tout sélectionner
« "prod scalaire"
{{ "u" "norme de u" 0}
{ "v" "norme de v" 0 }
{ "w" "u+v" 0 }
{1} {0 0 0} DUP
INFORM
IF
THEN 0 2 ROLL OBJ->
DROP -> e u v w
« w 2 ^ u 2 ^ v 2 ^ + - 2 / 'e' STO
CASE e 0 ==
THEN
"PERPENDICULAIRE
u.v ="
e +
END e 0 ‹
THEN
"u.v = 1/2 [||u+v||² - (||u||²+||v||²)] :
u.v ="
e +
END
END
»
»


sp3
Code: Tout sélectionner
« prod scalaire
{ { "u" "norme de u" 0 }
{"v" "norme de v" 0 }
{ "w" "angle (u;v)" 0 }
{1} { 0 0 0 }
DUP
INFORM
IF
THEN 0 2 ROLL OBJ->
DROP -> e u v w
« u v w COS * * 'e' STO
CASE e 0 ==
THEN
"PERPENDICULAIRE
u.v ="
e +
END e 0 ‹
THEN
"u.v = ||u||*||v||*cos(w) :
u.v ="
e +
END
END
»
»
nico
Modérateur
 
Messages: 37
Inscription: 05/02/2002 22:29
Gender: homme

Messagede nico » 10/05/2002 16:50

« "Prod scalaire" {
{ "p.s.coordonee" 'sp1' }
{ "p.s.norme + somme" 'sp2' }
{ "p.s.norme + COS" 'sp3' } } 1 CHOOSE
IF
THEN EVAL CLLCD 1
DISP 1 FREEZE
END
»

il manquait ce qui est en rouge. :?: :?: Tu as quoi comme erreur? (syntaxe incorrecte?)

tu te compliques, il existe des fonctions pour calculer le produit scalaire et vectoriel, DOT et CROSS qui calcule à partir de vecteurs ( [ v1 v2 v3 ])
nico
Modérateur
 
Messages: 37
Inscription: 05/02/2002 22:29
Gender: homme

Messagede mcdoil » 10/05/2002 17:00

salut
Ouai invalid syntax !!! je peux mm pas le tester mon pgm ca fait [censure] :evil:
je peux faire des soupartis comme ca ??
si c le cas ca va me faciliter la tache. Comment on fait apres ?? dans la caltos. je tape tout a la suite je nomme mes sou partie ??
j'ai un cable pc mais je fais mes pgm sur pc avec winhp qui est une grosse daube.
la prochaine fois je te maille ca sera plus simple pour toi.
Un jour a seuil du paradis hpgod te regardera et te dira vas y mon fils tu les as bien aide tu merites le repos maintenant ! :smoke:

@+
mcdoil
Débutant
 
Messages: 36
Inscription: 15/03/2002 20:55
Localisation: haute savoie

Messagede nico » 10/05/2002 17:25

mcdoil a écrit:salut
Ouai invalid syntax !!! je peux mm pas le tester mon pgm ca fait [censure] :evil:
je peux faire des soupartis comme ca ??
si c le cas ca va me faciliter la tache. Comment on fait apres ?? dans la caltos. je tape tout a la suite je nomme mes sou partie ??
j'ai un cable pc mais je fais mes pgm sur pc avec winhp qui est une grosse daube.
la prochaine fois je te maille ca sera plus simple pour toi.
Un jour a seuil du paradis hpgod te regardera et te dira vas y mon fils tu les as bien aide tu merites le repos maintenant ! :smoke:

@+


Dans ce cas c'est qu'il y a des " de texte pas fermé ou oublié, des { ou }, ou encore des « ou » manquants

Pour décomposer en partie tu les fais en plusieurs programme (avec un qui appelle les autres, voir l'exemple au dessus (1er message de cette page))
nico
Modérateur
 
Messages: 37
Inscription: 05/02/2002 22:29
Gender: homme

Messagede nico » 10/05/2002 18:01

bon pour la partie qu j'ai appellé sp1:
il manquait un END, pour les 2 autres c'est pareil et il me semble qu'il manque une } dans la liste des INFORM

Code: Tout sélectionner
sp1
« "prod scalaire" { {
"xv =" "Coord v1" 0
} { "yv ="
"Coord v1" 0 } {
"zv =" "coord v1" 0
} { "xt ="
"Coord v2" 0 } {
"yt =" "Coord v2" 0
} { "zt ="
"Coord v2" 0 } } { 3
} { 0 0 0 0 0 0 } DUP
INFORM
IF
THEN 0 2 ROLL OBJ->
DROP -> s xv yv zv xt
yt zt
« xv xt * yv yt *
+ zv zt * + R->I 's'
STO
CASE s 0 ==
THEN
"PERPENDICULAIRE
u.v ="
s +
END s 0 ‹
THEN
"u.v = xx'+yy'+zz':
="
s +
END
END
»
END
»
nico
Modérateur
 
Messages: 37
Inscription: 05/02/2002 22:29
Gender: homme

Messagede mcdoil » 12/05/2002 14:08

ca y est tout marche mon pgm d'origine les souspartie enfin la total.
merci ... bon je sais que le produit scalaire ma machine peux le faire mais le tout c t de trouver un pretexte pour aborder le prog autrement qu'avec un polynome du second degre :wink:
a bientot j'aurais surement d'autre pb


mcdoil
mcdoil
Débutant
 
Messages: 36
Inscription: 15/03/2002 20:55
Localisation: haute savoie

Précédente

Retourner vers RPL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron