Poster un nouveau sujet Poster une réponse
code de calcul de PGCD à corriger
Auteur Message
monsaibert
Invité
Posté le : Mar 13 Déc 2011, 19:34   Citer 

le code est faux : où et pourquoi ? -merci .

Prompt A,B
0 < RetR < B
while R > 0
PartEnt (A/B) ->Q
(A-B*Q) -> R
B->A
R-> B
End
Disp B

  Haut de page Bas de page 
 
tilo1996



Autorisation : Membre
Nb de messages : 122
Inscrit le : Sam 23 Avr 2011, 10:47
Posté le : Mar 13 Déc 2011, 19:36   Citer 

Euh surement a cause de la premiere ligne... Que veux tu dire en l'ecrivant???

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 13 Déc 2011, 21:01   Citer 

0 < RetR < B
Il manque des espaces pour exprimmer le "et" correctement.
Ecrire un test ainsi sur une ligne n'a pas de sens. Cela génère 0 ou 1 mais tu ne t'en sert pas.
Je présume que tu veux initialiser R tel que le While commence correctement.

Je remplace While par repeat, c'est plus simple.
Code
Prompt A,B
Repeat not(R
A-B*ent(A/B->R
B->A
R->B
End
Disp A   // à ce moment R vaut 0 et A vaut le pgcd


pgcd(A,B) dans le menu math donne le même résultat.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
monsalbert
Invité
Posté le : Mer 14 Déc 2011, 19:25   Citer 

à tilo1996

je veux que la machine me demande les 2 nombres A et B dont elle va calculer le pgcd

à linkakro

- oui tu a bien compris " tu veux initialiser R tel que le While commence correctement."
il fallait que R soit plus grand que 0 et plus petit que le diviseur B pour que la boucle tourne ( suite des divisions d'Euclide successives -le dernier acte etant R=0 )
je voyais le while m'emmenant du R de depart à R= o par divisions successives.

Il faut avouer que je souhaitais utiliser le "while" .(Etant débutant en programmation j'essais de passer en revue les grandes instructions de programmes
et while).
Je voudrais que tu me dises s'il y a impossibilité de conclure sur ce chemin.

Cependant j'apprecie ton " Repeat not(R " qui fait tout à lui tout seul !
mais là precise moi Repeat
et Repeat not(R ...qui fait tout..
merci linkakro

  Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Mer 14 Déc 2011, 21:19   Citer 

Le pgcd ?
Rooooh ... va dans le menu maths, puis flèche droite, puis flèche haut.
Tu as un joli pgcd déja tout fait !!!!

Tu tapes: Pgcd(A,B) (a et b sont deux nombres) et tu as leur pgcd !

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
ashtrail



Autorisation : Membre
Nb de messages : 148
Inscrit le : Jeu 13 Oct 2011, 15:48
Posté le : Jeu 15 Déc 2011, 11:08   Citer 

Oué bin ça dépend de quelle calcu il a, non...(Donc la prochaine fois lis les post que tu critique du début... n'est-ce pas?... Nyerk!Nyerk!

----------------------
"Prouvez que j'ai raison serait accorder que je puis avoir tort" Suzanne in le Mariage de Figaro de Beaumarchais
MES PROGRAMMES:
pourcentage,Distance et milieu dans un repère et division euclidienne,forme canonique et racine de polynôme de second degré,L'évaluateur de prénom

Si vous avez une envie de flooder au lieu de polluer ce forum venez plutôt ici

Le nouveau Tout 82
 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Jeu 15 Déc 2011, 14:05   Citer 

Heiiiiiin ?

Oo je ne critique pas les programmes.
De plus je pars sur le fait que monsalbert à une ti-82 stats, comme la plupart des gens aujourd'hui.

Si ce n'est pas le cas désolé je ne connais pas les calculatrices de tout le monde.

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
monsalbert
Invité
Posté le : Jeu 15 Déc 2011, 14:38   Citer 

linkakro , lis mon message de hier.

Aux intervenants : j'ai bien vu que ,la TI Stats.fr peut calculer le PGCD, pas de problème.

  Haut de page Bas de page 
 
ashtrail



Autorisation : Membre
Nb de messages : 148
Inscrit le : Jeu 13 Oct 2011, 15:48
Posté le : Jeu 15 Déc 2011, 19:20   Citer 

nan t'as pas critiquer un prog (c'est pas ton genre) mais oh et puis rien je suis juste un pov rancunier...
et bref:FIN DU HS

----------------------
"Prouvez que j'ai raison serait accorder que je puis avoir tort" Suzanne in le Mariage de Figaro de Beaumarchais
MES PROGRAMMES:
pourcentage,Distance et milieu dans un repère et division euclidienne,forme canonique et racine de polynôme de second degré,L'évaluateur de prénom

Si vous avez une envie de flooder au lieu de polluer ce forum venez plutôt ici

Le nouveau Tout 82
 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Jeu 15 Déc 2011, 19:28   Citer 

Fin du hs.

.

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
ashtrail



Autorisation : Membre
Nb de messages : 148
Inscrit le : Jeu 13 Oct 2011, 15:48
Posté le : Jeu 15 Déc 2011, 19:41   Citer 

(ça servait à quoi de rajouter ça?)
rerefin du HS

----------------------
"Prouvez que j'ai raison serait accorder que je puis avoir tort" Suzanne in le Mariage de Figaro de Beaumarchais
MES PROGRAMMES:
pourcentage,Distance et milieu dans un repère et division euclidienne,forme canonique et racine de polynôme de second degré,L'évaluateur de prénom

Si vous avez une envie de flooder au lieu de polluer ce forum venez plutôt ici

Le nouveau Tout 82
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 16 Déc 2011, 0:41   Citer 

Vous vous êtes surpassés à flooder comme ça. Une seule réponse constructive en mon absence. ahh.gif


Citer : monsalbert
Il faut avouer que je souhaitais utiliser le "while" .(Etant débutant en programmation j'essais de passer en revue les grandes instructions de programmes
et while).
Je voudrais que tu me dises s'il y a impossibilité de conclure sur ce chemin.

Cependant j'apprecie ton " Repeat not(R " qui fait tout à lui tout seul !
mais là precise moi Repeat
et Repeat not(R ...qui fait tout..
merci linkakro

article sur les boucles
While effectue un test au début puis à chaque fin. Se traduit par "tant que"
Repeat n'effectue de test qu'à la fin. Se traduit par "jusqu'à"
De plus les tests de while et repeat ont des effets croisés.
Code
Repeat 1  //  While 0
Repeat 0  //  While 1
// "0" et "1" représentent "faux" et "vrai"

not(R) signifie " R différent de 0 "
Pour être exact not(X)=0 et not(0)=1

En conclusion, " Repeat not(R) " ressemble à " While R=/=0 " mais le test n'est effectué qu'à la fin.

Il est possible d'utiliser While dans ton programme mais il faut initialiser R avec " 1->R " ou une quelconque autre valeur strictement positive.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
monsaibert
Invité
Posté le : Sam 17 Déc 2011, 19:48   Citer 

j'ai essayé ton code PGCD, pas de problème.( je verai ce que celà donne avec while )

Je bosse sur la while et le Repeat.J'ai vu que tu avais donné des explications sur ce sujet.Te serait-il possible de me faire quelques petits codes (juste sur ces instructions) pour les voir "jouer" .C'est visible sur l'ecran?
controler l'arret le depart.
Ton document était pour des connaisseurs.Les "effets croisés" dont tu parles j'ai besoin de les voir à l'oeuvre.

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 17 Déc 2011, 21:46   Citer 


Code
Prompt A
While A<5 // Repeat A<5
A+1->A    // A-1->A
Pause A
End

Teste ce code tantôt avec le while et tantôt avec le repeat (et puis aussi avec A-1->A). Choisit 4,5,6 pour A.
Tu constateras que :
- le repeat est toujours executé au moins une fois contrairement à while
- le repeat s'arrête quand A est inférieur à 5 tandis que le while poursuit tant que A est inférieur (c'est-à-dire qu'il s'arrête quand A est suppérieur ou égal)

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
monsaibert
Invité
Posté le : Mer 21 Déc 2011, 18:45   Citer 

Ah!tres bien l'exercice!
celà commence à venir, j'ai donc ajouter

Prompt A (avec A=9)
Repeat A<5
.....

je vais reessayer le code de PGCD avec while

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 21 Déc 2011, 19:25   Citer 


Code
Prompt A,B
While B
A-B*ent(A/B->R
B->A
R->B
End
Disp A

On peut aussi écrire 1->R au début (avant while R) mais c'est plus simple d'effectuer le test sur B.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
monsaibert
Invité
Posté le : Mer 28 Déc 2011, 17:37   Citer 

bonsoir linkakro,

j'éspère que tu as passé un bon Noel.

Bien ce code avec "While B" . Je suis trop braqué sur R=/=0 et R=0 de la division d'Euclide .
Cependant ici "While B" doit être interprété comme "tant que B existe" c'est à dire tant qu'il y a un reste R ? ( B=1 non B=0)

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 29 Déc 2011, 23:37   Citer 

Oui, While B correspond à "tant que B est non-nul" ; or B=R à chaque fin de boucle donc cela revient bien à tester "tant que R est non-nul"

Cela s'approfondit aussi avec les booléens.
0 représente "faux" et tout autre nombre représente "vrai" dans les fonctions qui exploitent des tests (comme while ou not). Les tests =,>,< etc génèrent 0 ou 1.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Poster un nouveau sujet Poster une réponse





  Page générée en 9 requêtes