π
<-
Chat plein-écran
[^]

Bezout Ti Nspire

Pour le TI-Basic sur Nspire

Bezout Ti Nspire

Message non lude bosskay » 25 Mai 2015, 18:50

Salut j'essaye de faire un programme qui puisse résoudre des problème en spémath. En fait, le programme devrait proposer une solution pour trouver le couple (u,v) dans l'équation au + bv = d.
J'ai essayez de reproduire le programme de ce site:
http://homeomath2.imingo.net/bezout.htm
mais je me suis complètement loupé, je veux déjà fixé les base:
- Faire apparaître l'algorithme d’Euclide
- Faire apparaître le couple (u;v)
Une fois que je serait satisfait de ces deux chose je pourrais perfectionner le programme.
Voici ce que j'ai fais pour l'instant(ATTENTION C'EST TRÈS MOCHE):
Code: Tout sélectionner
Define eucl()=
Prgm
:Request "a=",a₀
:Request "b=",b₀
:a₀→a
:b₀→b
:mod(a,b)→r₀
:r₀→r
:intDiv(a,b)→q₀
:q₀→q
:gcd(a,b)→w
:While r≠w
:Disp a,"=",b,"*",q,"+",r
:b→a
:r→b
:intDiv(a,b)→q
:mod(a,b)→r
:EndWhile
:Disp a,"=",b,"*",q,"+",r
:Disp r,"=",a,"-",b,"*",q
:Disp r₀,"=",a₀,"-",b₀,"*",q₀
:Disp r,"=",a,"-(",a₀,"-",b₀,"*",q₀,")*",q
:Disp b₀,"= x"
:Disp a₀,"= y"
:x→b₀
:y→a₀
:x-(y-x*q₀)*q→d
:Disp r,"=",d
:EndPrgm


Merci de bien vouloir m'aidez :) !
Surtout n'hésitez pas a m'expliquer le programme du site que j'ai proposer, si vous pouviez me répondre assez vite se serait cool parce que le BAC approche :D ! Merci d'avoir lu.
Image
Avatar de l’utilisateur
bosskay
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 65.2%
 
Messages: 24
Inscription: 29 Mar 2015, 22:11
Localisation: Martinique
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MP

Re: Bezout Ti Nspire

Message non lude bosskay » 25 Mai 2015, 20:31

J'ai réessayé de nouveau, mais ca fait bugué ma calculette, ma calculette FREEZE, pouvez vous faire bien fonctionner ce programme svp:
Code: Tout sélectionner
Define eucl()=
Prgm
:Request "a=",a₀
:Request "b=",b₀
:Request "c=",c
:1→p
:0→k
:0→g
:1→s
:While b≠0
:mod(a,b)→r
:intDiv(a,b)→q
:If r≠0 Then
:  Disp a,"=",q,"*",b,"+",r
:  b→a
:  r→b
:  p-q*g→nr
:  k-q*s→ns
:EndIf
:If r≠0 Then
:  Disp r,"=",nr,"*",a₀,"+",ns,"*",b₀
:EndIf
:g→p
:s→k
:nr→g
:ns→s
:EndWhile
:((p*c)/(gcd(a₀,b₀)))→l
:((k*c)/(gcd(a₀,b₀)))→m
:Disp "Solution particulière(",p,";",k,")"
:Disp "Solution de l'équation",a₀,"u+",b₀,"v=",c,":",l,";",m,")"
:EndPrgm


vous pouvez m'aidez ?
Dernière édition par bosskay le 25 Mai 2015, 23:49, édité 6 fois.
Image
Avatar de l’utilisateur
bosskay
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 65.2%
 
Messages: 24
Inscription: 29 Mar 2015, 22:11
Localisation: Martinique
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MP

Re: Bezout Ti Nspire

Message non lude Bisam » 26 Mai 2015, 22:47

C'est difficile de te dire ce qui ne va pas... étant donné que les 2 algorithmes utilisés sont faux tels qu'ils sont écrits !

Le premier calcule correctement le pgcd, mais pas les coefficients de Bezout.
Le second est complètement faux à cause d'un test "si r est non nul" en plein milieu de la boucle et du coup crée une boucle infinie.

Je l'ai remanié et j'ai corrigé plusieurs fautes pour en faire ceci :
Code: Tout sélectionner
Define eucl2(a₀,b₀,c)=
Func
:Local a,b,c,g,p,k,q,r,s,l,m,nr,ns
:a₀→a
:b₀→b
:1→p
:0→k
:0→g
:1→s
:While b≠0
:  mod(a,b)→r
:  intDiv(a,b)→q
:  Disp a,"=",q,"*",b,"+",r
:  b→a
:  r→b
:  p-q*g→nr
:  k-q*s→ns
:  If r≠0 Then
:    Disp r,"=",nr,"*",a,"+",ns,"*",b
:  EndIf
:  g→p
:  s→k
:  nr→g
:  ns→s
:EndWhile
:((p*c)/(a))→l
:((k*c)/(a))→m
:    Disp "Solution particulière : (",p,";",k,")"
:    Disp "Solution de l'équation",a₀,"u+",b₀,"v=",c,": (",l,";",m,")"
:Return {l,m}
:EndFunc
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Bezout Ti Nspire

Message non lude bosskay » 27 Mai 2015, 01:13

Resalut en faite j'ai vu ton programme, et y'avais du trois petit truc qui me gênais au niveau du programme lui même, il y a avait même une erreur grave, que j'ai rectifier. Une fois les erreurs modifier j'ai pu optimiser l'esthétique du programme, voici le code qui sera précédé d'une page de présentation et d'explication :) !
Code: Tout sélectionner
Define eucl(a₀,b₀,c)=
Func
:Local a,b,c,g,p,k,q,r,s,l,m,nr,ns,u₀
:gcd(a₀,b₀)→u₀
:If u₀=1 Then
:Disp "Solution particulière de l'équation:"
:Disp a₀,"u +",b₀,"v =",u₀
:Disp "où, PGCD(",a₀,";",b₀,")= 1"
:Disp "                            "
:Disp "====== Calcul ======"
:a₀→a
:b₀→b
:1→p
:0→k
:0→g
:1→s
:While b≠0
:  mod(a,b)→r
:  intDiv(a,b)→q
:  Disp a,"=",q,"*",b,"+",r
:  b→a
:  r→b
:  p-q*g→nr
:  k-q*s→ns
:  If r≠0 Then
:    Disp r,"=",nr,"*",a₀,"+",ns,"*",b₀
:    Disp "--------------"
:  EndIf
:  g→p
:  s→k
:  nr→g
:  ns→s
:EndWhile
:Disp "-----------------"
:Disp "-----------------"
:((p*c)/(a))→l
:((k*c)/(a))→m
:Disp "Solution particulière(",p,";",k,")"
:Disp "Solution de l'équation:"
:Disp a₀,"u + ",b₀,"v =",c,"; ","(",l,";",m,")"
:Return {l,m}
:Else
:Disp "Cette équation n'a pas de solution dans ℕ car,"
:Disp c,"n'est pas multiple de pgcd(",a₀,";",b₀,")=",u₀
:EndIf
:EndFunc


Merci pour ta collaboration, merci pour ton aide :) !
Image
Avatar de l’utilisateur
bosskay
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 65.2%
 
Messages: 24
Inscription: 29 Mar 2015, 22:11
Localisation: Martinique
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MP


Retourner vers Nspire-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
1426 utilisateurs:
>1378 invités
>43 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
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)