π
<-

[BASIC] programme PGCD étendue

Pour le TI-Basic sur Nspire

[BASIC] programme PGCD étendue

Unread postby D@rk_julien » 15 Feb 2012, 19:22

Bonjour , à tous :=):

J' aimerais tout simplement une amélioration de ce programme "PGCD ÉTENDUE" qui appartient à Laurae pack bac .
Celui ci est excellent mais se trompe avec par exemple avec le PGCD(109,226) il me donne une réponse fausse de plus c 'est le seul programme qui me donne les détails . Un must !!!


Code: Select all
Define pgcd(c0,d0)=
Prgm
:Local c0,d0,x
:c:=c0
:d:=d0
:a[1]:=0
:a[2]:=0
:b[1]:=0
:b[2]:=0
:q[1]:=0
:q[2]:=0
:k[1]:=1
:k[2]:=2
:r[1]:=c
:r[2]:=d
:u[1]:=1
:u[2]:=0
:v[1]:=0
:v[2]:=1
:x:=3
:a[x]:=c
:b[x]:=d
:q[x]:=floor(((a[x])/(b[x])))
:r[x]:=a[x]-b[x]*q[x]
:k[x]:=3
:u[x]:=q[x]*u[x-1]+u[x-2]
:v[x]:=−q[x]*v[x-1]+v[x-2]
:Disp "Étape 1 : ",a[x]," = ",b[x],"*",q[x],"+",r[x]
:Disp a[x],"*",u[x],"+",b[x],"*",v[x]," = ",r[x]
:x:=4
:a[x]:=b[x-1]
:b[x]:=r[x-1]
:q[x]:=floor(((a[x])/(b[x])))
:r[x]:=a[x]-b[x]*q[x]
:k[x]:=x
:u[x]:=−q[x]*u[x-1]+u[x-2]
:v[x]:=−q[x]*v[x-1]+v[x-2]
:Disp "Étape 2 : ",a[x]," = ",b[x],"*",q[x],"+",r[x]
:Disp a[x],"*",u[x],"+",b[x],"*",v[x]," = ",r[x]
:While r[x]>1
:  x:=x+1
:  a[x]:=b[x-1]
:  b[x]:=r[x-1]
:  q[x]:=floor(((a[x])/(b[x])))
:  r[x]:=a[x]-b[x]*q[x]
:  k[x]:=x
:  u[x]:=−q[x]*u[x-1]+u[x-2]
:  v[x]:=−q[x]*v[x-1]+v[x-2]
:  Disp "Étape ",x-2," : ",a[x]," = ",b[x],"*",q[x],"+",r[x]
:  If r[x]>1 Then
:    Disp a[x],"*",u[x],"+",b[x],"*",v[x]," = ",r[x]
:  Else
:    Disp "Fin de l'algorithme d'Euclide"
:    u[x]:=0
:    v[x]:=0
:  EndIf
:EndWhile
:Disp " "
:Disp "pgcd(",c,",",d,") = ",b[x]
:x:=x-1
:Disp "bezout(",c,",",d,") : ",c,"*",u[x],"+",d,"*",v[x]," = ",r[x]
:x:=x+1
:EndPrgm


PS: Je ne suis pas développeurs
Image
User avatar
D@rk_julien
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 93.8%
 
Posts: 71
Joined: 03 Apr 2011, 16:09
Gender: Male
Calculator(s):
MyCalcs profile

Re: [BASIC] programme PGCD étendue

Unread postby Excale » 15 Feb 2012, 20:52

Laurae wrote:C'est une ébauche de programme pour ceux qui veulent s'exercer à la programmation, ce sont des programmes qui ne fonctionnent pas correctement, d'où le "Obsolète" dans le pack. Il bug à fond, c'est pour ça qu'il est obsolète.


La nspire fait très bien le pgcd avec gcd(). Et le PGCD pas à pas c'est franchement simple à faire (vu au collège de deux manières).
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: [BASIC] programme PGCD étendue

Unread postby Bisam » 15 Feb 2012, 20:58

En utilisant les matrices, on peut faire beaucoup plus court...
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: [BASIC] programme PGCD étendue

Unread postby Laurae » 15 Feb 2012, 20:58

User avatar
LauraeAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 78.8%
 
Posts: 1685
Images: 22
Joined: 25 Jun 2010, 00:00
Location: France, La Défense
Gender: Male
Calculator(s):
MyCalcs profile
Class: Professeur, Etudiant, Formateur

Re: [BASIC] programme PGCD étendue

Unread postby D@rk_julien » 15 Feb 2012, 21:00

Quelqu'un peut il corriger le bug ?
si c 'est aussi facile Excale merci
Image
User avatar
D@rk_julien
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 93.8%
 
Posts: 71
Joined: 03 Apr 2011, 16:09
Gender: Male
Calculator(s):
MyCalcs profile

Re: [BASIC] programme PGCD étendue

Unread postby Loulou 54 » 18 Feb 2012, 00:45

J'ai fait un algorithme d’Euclide étendu sur 89. (qui donne pas à pas le pgcd ainsi que u et v tels que a*u+b*v=1)
Il est présenté sous forme de matrice, c'est plus concis.
Si tu veux je pourrais le recopier pour Nspire, je pense. :)
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon


Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 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.
844 utilisateurs:
>756 invités
>81 membres
>7 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)