π
<-

Bezout Ti Nspire

Pour le TI-Basic sur Nspire

Bezout Ti Nspire

Unread postby bosskay » 25 May 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: Select all
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
User avatar
bosskay
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 65.2%
 
Posts: 24
Joined: 29 Mar 2015, 22:11
Location: Martinique
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MP

Re: Bezout Ti Nspire

Unread postby bosskay » 25 May 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: Select all
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 ?
Last edited by bosskay on 25 May 2015, 23:49, edited 6 times in total.
Image
User avatar
bosskay
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 65.2%
 
Posts: 24
Joined: 29 Mar 2015, 22:11
Location: Martinique
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MP

Re: Bezout Ti Nspire

Unread postby Bisam » 26 May 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: Select all
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
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Bezout Ti Nspire

Unread postby bosskay » 27 May 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: Select all
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
User avatar
bosskay
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 65.2%
 
Posts: 24
Joined: 29 Mar 2015, 22:11
Location: Martinique
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MP


Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 guests

-
Search
-
Social TI-Planet
-
Featured topics
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
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
924 utilisateurs:
>883 invités
>32 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)