 |
Apprendre Maple Site dédié au logiciel de calcul formel Maple
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
slave97
Inscrit le: 03 Avr 2006 Messages: 29
|
Posté le: 16 Fév 2012 4:26 Sujet du message: L'ensemble de toutes les opérations possibles. |
|
|
Bonjour,
Je souhaite monter une séquence qui me renvoie l'ensemble de toutes les opérations possibles à partir d'un certain nombre de chiffres donné et de signes d'opération ( du style 1 ; 3 ; 4 ; + ; - )
Exemple :
Prenons l'ensemble des chiffres ( 1 ; 3 ; 4 ) et l'ensemble des signes ( + et - )
En prenant uniquement 2 chiffres par opération on obtient l'ensemble des opérations possibles strictement positifs :
(1+3=4) ; (1+4=5) ; (3+4=7) ; (3-1=2) ; (4-3=1) ; (4-1=3)
Donc on voit qu'à partir des chiffres ( 1 ; 3 ; 4 ) et des 2 signes d'opérations ( + et - ) et en prenant maximum 2 chiffres par opérations il y à que 6 opérations possibles dont le résultat est strictement positif.
Je voudrais donc faire une séquence avec l'ensemble de ces chiffres :
( 1 ; 2 ; 3 ; 5; 7; sqrt2 ; sqrt3 ; sqrt5 ; sqrt7 ) et les signes ( + ; - ; * ; / )
en prenant chaque fois 3 chiffres par opérations et donc utilisant 2 signes
Exemple:
( 1+sqrt5) /2 On a donc 3 chiffres ( 1 ; sqrt5 ; 2 ) et 2 signes ( + ; / )
Merci. |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 16 Fév 2012 8:55 Sujet du message: |
|
|
Bonjour, voici la solution que je vous propose:
Code: |
> nb:=[1,2,3,5,7,sqrt(2),sqrt(3),sqrt(5),sqrt(7)]; ops:=[`+`,`-`,`*`,`/`];
1/2 1/2 1/2 1/2
nb := [1, 2, 3, 5, 7, 2 , 3 , 5 , 7 ]
ops := [+, -, *, /]
> res:=NULL:
> for n1 in nb do
> for n2 in nb do
> if n1<>n2 then
> for k in ops do
> v:=k(n1,n2):
> if evalf(v>0) then
> res:=res,[n1,k,n2,v]
> end if
> od;
> fi
> od
> od:
> [res];
>
>
[[1, +, 2, 3], [1, *, 2, 2], [1, /, 2, 1/2], [1, +, 3, 4],
[1, *, 3, 3], [1, /, 3, 1/3], [1, +, 5, 6], [1, *, 5, 5],
[1, /, 5, 1/5], [1, +, 7, 8], [1, *, 7, 7], [1, /, 7, 1/7],
1/2 1/2 1/2 1/2
[1, +, 2 , 1 + 2 ], [1, *, 2 , 2 ],
1/2
1/2 2 1/2 1/2
[1, /, 2 , ----], [1, +, 3 , 1 + 3 ],
2
1/2
1/2 1/2 1/2 3
[1, *, 3 , 3 ], [1, /, 3 , ----],
3
1/2 1/2 1/2 1/2
[1, +, 5 , 1 + 5 ], [1, *, 5 , 5 ],
1/2
1/2 5 1/2 1/2
[1, /, 5 , ----], [1, +, 7 , 1 + 7 ],
5
1/2
1/2 1/2 1/2 7
[1, *, 7 , 7 ], [1, /, 7 , ----], [2, +, 1, 3],
7
[2, -, 1, 1], [2, *, 1, 2], [2, /, 1, 2], [2, +, 3, 5],
[2, *, 3, 6], [2, /, 3, 2/3], [2, +, 5, 7], [2, *, 5, 10],
[2, /, 5, 2/5], [2, +, 7, 9], [2, *, 7, 14], [2, /, 7, 2/7],
1/2 1/2 1/2 1/2
[2, +, 2 , 2 + 2 ], [2, -, 2 , 2 - 2 ],
1/2 1/2 1/2 1/2
[2, *, 2 , 2 2 ], [2, /, 2 , 2 ],
1/2 1/2 1/2 1/2
[2, +, 3 , 2 + 3 ], [2, -, 3 , 2 - 3 ],
1/2
1/2 1/2 1/2 2 3
[2, *, 3 , 2 3 ], [2, /, 3 , ------],
3
1/2 1/2 1/2 1/2
[2, +, 5 , 2 + 5 ], [2, *, 5 , 2 5 ],
1/2
1/2 2 5 1/2 1/2
[2, /, 5 , ------], [2, +, 7 , 2 + 7 ],
5
1/2
1/2 1/2 1/2 2 7
[2, *, 7 , 2 7 ], [2, /, 7 , ------], [3, +, 1, 4],
7
[3, -, 1, 2], [3, *, 1, 3], [3, /, 1, 3], [3, +, 2, 5],
[3, -, 2, 1], [3, *, 2, 6], [3, /, 2, 3/2], [3, +, 5, 8],
[3, *, 5, 15], [3, /, 5, 3/5], [3, +, 7, 10], [3, *, 7, 21],
1/2 1/2
[3, /, 7, 3/7], [3, +, 2 , 3 + 2 ],
1/2 1/2 1/2 1/2
[3, -, 2 , 3 - 2 ], [3, *, 2 , 3 2 ],
1/2
1/2 3 2 1/2 1/2
[3, /, 2 , ------], [3, +, 3 , 3 + 3 ],
2
1/2 1/2 1/2 1/2
[3, -, 3 , 3 - 3 ], [3, *, 3 , 3 3 ],
1/2 1/2 1/2 1/2
[3, /, 3 , 3 ], [3, +, 5 , 3 + 5 ],
1/2 1/2 1/2 1/2
[3, -, 5 , 3 - 5 ], [3, *, 5 , 3 5 ],
1/2
1/2 3 5 1/2 1/2
[3, /, 5 , ------], [3, +, 7 , 3 + 7 ],
5
1/2 1/2 1/2 1/2
[3, -, 7 , 3 - 7 ], [3, *, 7 , 3 7 ],
1/2
1/2 3 7
[3, /, 7 , ------], [5, +, 1, 6], [5, -, 1, 4],
7
[5, *, 1, 5], [5, /, 1, 5], [5, +, 2, 7], [5, -, 2, 3],
[5, *, 2, 10], [5, /, 2, 5/2], [5, +, 3, 8], [5, -, 3, 2],
[5, *, 3, 15], [5, /, 3, 5/3], [5, +, 7, 12], [5, *, 7, 35],
1/2 1/2
[5, /, 7, 5/7], [5, +, 2 , 5 + 2 ],
1/2 1/2 1/2 1/2
[5, -, 2 , 5 - 2 ], [5, *, 2 , 5 2 ],
1/2
1/2 5 2 1/2 1/2
[5, /, 2 , ------], [5, +, 3 , 5 + 3 ],
2
1/2 1/2 1/2 1/2
[5, -, 3 , 5 - 3 ], [5, *, 3 , 5 3 ],
1/2
1/2 5 3 1/2 1/2
[5, /, 3 , ------], [5, +, 5 , 5 + 5 ],
3
1/2 1/2 1/2 1/2
[5, -, 5 , 5 - 5 ], [5, *, 5 , 5 5 ],
1/2 1/2 1/2 1/2
[5, /, 5 , 5 ], [5, +, 7 , 5 + 7 ],
1/2 1/2 1/2 1/2
[5, -, 7 , 5 - 7 ], [5, *, 7 , 5 7 ],
1/2
1/2 5 7
[5, /, 7 , ------], [7, +, 1, 8], [7, -, 1, 6],
7
[7, *, 1, 7], [7, /, 1, 7], [7, +, 2, 9], [7, -, 2, 5],
[7, *, 2, 14], [7, /, 2, 7/2], [7, +, 3, 10], [7, -, 3, 4],
[7, *, 3, 21], [7, /, 3, 7/3], [7, +, 5, 12], [7, -, 5, 2],
1/2 1/2
[7, *, 5, 35], [7, /, 5, 7/5], [7, +, 2 , 7 + 2 ],
1/2 1/2 1/2 1/2
[7, -, 2 , 7 - 2 ], [7, *, 2 , 7 2 ],
1/2
1/2 7 2 1/2 1/2
[7, /, 2 , ------], [7, +, 3 , 7 + 3 ],
2
1/2 1/2 1/2 1/2
[7, -, 3 , 7 - 3 ], [7, *, 3 , 7 3 ],
1/2
1/2 7 3 1/2 1/2
[7, /, 3 , ------], [7, +, 5 , 7 + 5 ],
3
1/2 1/2 1/2 1/2
[7, -, 5 , 7 - 5 ], [7, *, 5 , 7 5 ],
1/2
1/2 7 5 1/2 1/2
[7, /, 5 , ------], [7, +, 7 , 7 + 7 ],
5
1/2 1/2 1/2 1/2
[7, -, 7 , 7 - 7 ], [7, *, 7 , 7 7 ],
1/2 1/2 1/2 1/2
[7, /, 7 , 7 ], [2 , +, 1, 1 + 2 ],
1/2 1/2 1/2 1/2
[2 , -, 1, 2 - 1], [2 , *, 1, 2 ],
1/2 1/2 1/2 1/2
[2 , /, 1, 2 ], [2 , +, 2, 2 + 2 ],
1/2
1/2 1/2 1/2 2
[2 , *, 2, 2 2 ], [2 , /, 2, ----],
2
1/2 1/2 1/2 1/2
[2 , +, 3, 3 + 2 ], [2 , *, 3, 3 2 ],
1/2
1/2 2 1/2 1/2
[2 , /, 3, ----], [2 , +, 5, 5 + 2 ],
3
1/2
1/2 1/2 1/2 2
[2 , *, 5, 5 2 ], [2 , /, 5, ----],
5
1/2 1/2 1/2 1/2
[2 , +, 7, 7 + 2 ], [2 , *, 7, 7 2 ],
1/2
1/2 2 1/2 1/2 1/2 1/2
[2 , /, 7, ----], [2 , +, 3 , 2 + 3 ],
7
1/2 1/2
1/2 1/2 1/2 1/2 1/2 1/2 2 3
[2 , *, 3 , 2 3 ], [2 , /, 3 , ---------],
3
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
[2 , +, 5 , 2 + 5 ], [2 , *, 5 , 2 5 ],
1/2 1/2
1/2 1/2 2 5 1/2 1/2 1/2 1/2
[2 , /, 5 , ---------], [2 , +, 7 , 2 + 7 ],
5
1/2 1/2
1/2 1/2 1/2 1/2 1/2 1/2 2 7
[2 , *, 7 , 2 7 ], [2 , /, 7 , ---------],
7
1/2 1/2 1/2 1/2
[3 , +, 1, 1 + 3 ], [3 , -, 1, 3 - 1],
1/2 1/2 1/2 1/2
[3 , *, 1, 3 ], [3 , /, 1, 3 ],
1/2 1/2 1/2 1/2
[3 , +, 2, 2 + 3 ], [3 , *, 2, 2 3 ],
1/2
1/2 3 1/2 1/2
[3 , /, 2, ----], [3 , +, 3, 3 + 3 ],
2
1/2
1/2 1/2 1/2 3
[3 , *, 3, 3 3 ], [3 , /, 3, ----],
3
1/2 1/2 1/2 1/2
[3 , +, 5, 5 + 3 ], [3 , *, 5, 5 3 ],
1/2
1/2 3 1/2 1/2
[3 , /, 5, ----], [3 , +, 7, 7 + 3 ],
5
1/2
1/2 1/2 1/2 3
[3 , *, 7, 7 3 ], [3 , /, 7, ----],
7
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
[3 , +, 2 , 2 + 3 ], [3 , -, 2 , 3 - 2 ],
1/2 1/2
1/2 1/2 1/2 1/2 1/2 1/2 2 3
[3 , *, 2 , 2 3 ], [3 , /, 2 , ---------],
2
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
[3 , +, 5 , 3 + 5 ], [3 , *, 5 , 3 5 ],
1/2 1/2
1/2 1/2 3 5 1/2 1/2 1/2 1/2
[3 , /, 5 , ---------], [3 , +, 7 , 3 + 7 ],
5
1/2 1/2
1/2 1/2 1/2 1/2 1/2 1/2 3 7
[3 , *, 7 , 3 7 ], [3 , /, 7 , ---------],
7
1/2 1/2 1/2 1/2
[5 , +, 1, 1 + 5 ], [5 , -, 1, 5 - 1],
1/2 1/2 1/2 1/2
[5 , *, 1, 5 ], [5 , /, 1, 5 ],
1/2 1/2 1/2 1/2
[5 , +, 2, 2 + 5 ], [5 , -, 2, 5 - 2],
1/2
1/2 1/2 1/2 5
[5 , *, 2, 2 5 ], [5 , /, 2, ----],
2
1/2 1/2 1/2 1/2
[5 , +, 3, 3 + 5 ], [5 , *, 3, 3 5 ],
1/2
1/2 5 1/2 1/2
[5 , /, 3, ----], [5 , +, 5, 5 + 5 ],
3
1/2
1/2 1/2 1/2 5
[5 , *, 5, 5 5 ], [5 , /, 5, ----],
5
1/2 1/2 1/2 1/2
[5 , +, 7, 7 + 5 ], [5 , *, 7, 7 5 ],
1/2
1/2 5 1/2 1/2 1/2 1/2
[5 , /, 7, ----], [5 , +, 2 , 2 + 5 ],
7
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
[5 , -, 2 , 5 - 2 ], [5 , *, 2 , 2 5 ],
1/2 1/2
1/2 1/2 2 5 1/2 1/2 1/2 1/2
[5 , /, 2 , ---------], [5 , +, 3 , 3 + 5 ],
2
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
[5 , -, 3 , 5 - 3 ], [5 , *, 3 , 3 5 ],
1/2 1/2
1/2 1/2 3 5 1/2 1/2 1/2 1/2
[5 , /, 3 , ---------], [5 , +, 7 , 5 + 7 ],
3
1/2 1/2
1/2 1/2 1/2 1/2 1/2 1/2 5 7
[5 , *, 7 , 5 7 ], [5 , /, 7 , ---------],
7
1/2 1/2 1/2 1/2
[7 , +, 1, 1 + 7 ], [7 , -, 1, 7 - 1],
1/2 1/2 1/2 1/2
[7 , *, 1, 7 ], [7 , /, 1, 7 ],
1/2 1/2 1/2 1/2
[7 , +, 2, 2 + 7 ], [7 , -, 2, 7 - 2],
1/2
1/2 1/2 1/2 7
[7 , *, 2, 2 7 ], [7 , /, 2, ----],
2
1/2 1/2 1/2 1/2
[7 , +, 3, 3 + 7 ], [7 , *, 3, 3 7 ],
1/2
1/2 7 1/2 1/2
[7 , /, 3, ----], [7 , +, 5, 5 + 7 ],
3
1/2
1/2 1/2 1/2 7
[7 , *, 5, 5 7 ], [7 , /, 5, ----],
5
1/2 1/2 1/2 1/2
[7 , +, 7, 7 + 7 ], [7 , *, 7, 7 7 ],
1/2
1/2 7 1/2 1/2 1/2 1/2
[7 , /, 7, ----], [7 , +, 2 , 2 + 7 ],
7
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
[7 , -, 2 , 7 - 2 ], [7 , *, 2 , 2 7 ],
1/2 1/2
1/2 1/2 2 7 1/2 1/2 1/2 1/2
[7 , /, 2 , ---------], [7 , +, 3 , 3 + 7 ],
2
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
[7 , -, 3 , 7 - 3 ], [7 , *, 3 , 3 7 ],
1/2 1/2
1/2 1/2 3 7 1/2 1/2 1/2 1/2
[7 , /, 3 , ---------], [7 , +, 5 , 5 + 7 ],
3
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
[7 , -, 5 , 7 - 5 ], [7 , *, 5 , 5 7 ],
1/2 1/2
1/2 1/2 5 7
[7 , /, 5 , ---------]]
5
|
Est-ce que cela vous convient?
A plus tard sur ce forum. |
|
Revenir en haut de page |
|
 |
slave97
Inscrit le: 03 Avr 2006 Messages: 29
|
Posté le: 19 Fév 2012 18:19 Sujet du message: |
|
|
Bonjour ALS : )
Merci est si peu pour toute votre gentillesse....!
Des que j'essaye le programme je vous tiens au courant.
Merci encore pour votre précieuse aide.
Cordiales salutations. |
|
Revenir en haut de page |
|
 |
slave97
Inscrit le: 03 Avr 2006 Messages: 29
|
Posté le: 19 Fév 2012 18:42 Sujet du message: |
|
|
Re
Bonjour ALS,
Je viens d'essayer le programme mais il me renvoie cette erreur :
"" Error, unexpected number "" en montrant les "1/2" qui sont vraisemblablement les puissances des chiffres.
J'ai essayé en changeant les "1/2" par "sqrt(x)" et là maple me renvoie l'erreur :
"" Error, missing operator or `;` "" en pointant sur "" ops := [+, -, *, /]
""
P.S. : ( Est-il possible d'avoir en même temps une valeur approchée des résultats ...?? )
Merci. |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 19 Fév 2012 19:20 Sujet du message: |
|
|
Bonjour,
Quand vous recopiez mon code à partir de ma réponse sur ce forum, vous devez bien sur ne recopier que les lignes précédées du > (zone input) et ensuite enlever les > en trop dans le fichier Maple.
D'autre part, avez-vous bien mis les accents entre chaque opérateur?
ops:=[`+`,`-`,`*`,`/`];
Pour les valeurs approchées, on utilise evalf sur chaque résultat:
res:=res,[n1,k,n2,evalf(v)]
Code: |
> nb:=[1,2,3,5,7,sqrt(2),sqrt(3),sqrt(5),sqrt(7)];
ops:=[`+`,`-`,`*`,`/`];
> res:=NULL:
> for n1 in nb do
> for n2 in nb do
> if n1<>n2 then
> for k in ops do
> v:=k(n1,n2):
> if evalf(v>0) then
> res:=res,[n1,k,n2,evalf(v)]
> end if
> od;
> fi
> od
> od:
> [res];
|
Bonne journée. |
|
Revenir en haut de page |
|
 |
slave97
Inscrit le: 03 Avr 2006 Messages: 29
|
Posté le: 01 Mar 2012 19:25 Sujet du message: |
|
|
Bonjour ALS,
Merci le code marche à merveille ..! : )
Alors par contre au lieu de prendre 2 chiffres par opérations je voudrais mettre 3 chiffres et donc 2 signes d'opérations....?? ( le couple ++ ; +- ; +/ ; +* ; -+ ; -- ; -/ ; -* ; *+ ; *- ; */ ; ** ; /+ ; /- ; /* ; // )
Juste un Exemple :
( 1 ; 5 ; 7 ; - ; + )
Il y à bien 3 chiffres et 2 signes d'opérations
Je vous remercie d'avance,
Bien à vous ,
Salutations. |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 04 Mar 2012 9:06 Sujet du message: |
|
|
Bonjour,
C'est le même principe: vous rajoutez une boucle :
for n3 in nb do
et une boucle :
for l in ops do
v:=l(k(n1,n2),n3)
Et voilà!!
Je vous laisse écrire la modification. |
|
Revenir en haut de page |
|
 |
slave97
Inscrit le: 03 Avr 2006 Messages: 29
|
Posté le: 07 Mar 2012 2:30 Sujet du message: |
|
|
Bonjour ALS,
Merci pour votre aide
je suis vraiment nul je suis désolé
Alors voilà les modif's que j'ai fait mais apparement il y à une erreur car Mapple me renvoie ce message : " Error, reserved word `fi` unexpected ""
nb:=[1,2,3,5,7,sqrt(2),sqrt(3),sqrt(5),sqrt(7)];
> ops:=[`+`,`-`,`*`,`/`];
>
> res:=NULL:
> for n1 in nb do
> for n2 in nb do
> for n3 in nb do
> if n1<>n2 then
> for k in ops do
> for l in ops do
> v:=l(k(n1,n2),n3) :
> if evalf(v>0) then
> res:=res,[n1,k,n2,n3,evalf(v)]
> end if
> od;
> fi
> od
> od:
> [res]; |
|
Revenir en haut de page |
|
 |
ALS
Inscrit le: 11 Sep 2006 Messages: 647
|
Posté le: 07 Mar 2012 13:52 Sujet du message: |
|
|
Bonjour,
Il faut mettre autant de od que de do, vous en aviez oublié.
Indenter le programme, c'est à dire effectuer un retrait de un ou deux caractères lorsque l'on ouvre une nouvelle boucle, permet de s'en apercevoir.
Code: |
> nb:=[1,2,3,5,7,sqrt(2),sqrt(3),sqrt(5),sqrt(7)];
> ops:=[`+`,`-`,`*`,`/`];
> res:=NULL:
> for n1 in nb do
> for n2 in nb do
> for n3 in nb do
> if n1<>n2 and n2<>n3 then
> for k in ops do
> for l in ops do
> v:=l(k(n1,n2),n3) :
> if evalf(v>0) then
> res:=res,[n1,k,n2,l,n3,evalf(v)]
> end if
> od
> od
> fi
> od
> od
> od:
> [res];
|
|
|
Revenir en haut de page |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com
Apprendre Maple - ©
- Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.
|