Poster un nouveau sujet Poster une réponse
Congruences et division Euclidienne dans Z.
Auteur Message
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Mer 26 Sep 2007, 19:06   Citer 

Un programme uniquement utile aux spé maths. La partie congruence permet de simplifier a[n] au maximum (donc donne le reste de la division euclidienne de a/n), et la partie divison euclidienne permet d'effectuer (comme son nom l'indique) une division euclidienne dans Z (que la ti-82 ne peut effectuer).

Code
ClrHome
1->F
Menu ("MENU","CONGRU",A,"/EUCLID",B
Lbl A
2->F
Lbl B
Lbl 2
If F=2
Then
Input "A : " , A
Else
Input "N : " , A
End
If fPart A=/=0
Goto 2
A->E
Lbl 1
If F=2
Then
Input "[N]:" , D
Else
Input "D : " , D
End
Abs D->B
If fPart B=/=0
Goto 1
If F=2 and D<2
Goto 1
(B<0) +int (A/B)
If F=1
Then
Output (4,1,"R=
Output (4,3,A-BAns
Output (5,1,"Q=
Output (5,3,Ans
Else
Output (4,1,"B=
Output (4,3,A-BAns
End
Pause
ClrHome



----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Mer 26 Sep 2007, 19:10   Citer 

tu fais spé maths ? :]

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Mer 26 Sep 2007, 19:10   Citer 

Oui.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Jeu 27 Sep 2007, 18:40   Citer 

Version réduite ici : J'ai largement réduit le programme en supprimant les erreurs de la version de Ratuss (donc merci à lui et à coc5). Pour ceux qui voudraient un programme juste pour la division euclidienne dans Z, le voici (car en fait le congruant réduit est égal au reste, donc inutile de s'ennuyer avec lui) :

Code
ClrHome
Lbl 1
Input "N : " , A
Inpui "D : " , B
If fPart A=/=0 or fPart B=/=0
Then
Output (3,1,"(A,B) E Z^2
Pause
ClrHome
Goto 1
End
(B<0) + int (A/B
Output (4,1,"R=
Output (4,3,A-BAns
Output (5,1,"Q=
Output (5,3,Ans
Pause
ClrHome



----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Jeu 27 Sep 2007, 19:01   Citer 

tu peux encore le réduire !

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Ven 28 Sep 2007, 8:03   Citer 

Ben là, à part en supprimant "la présentation", je ne vois pas comment je peux faire ! ahh.gif

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
mad67



Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Ven 28 Sep 2007, 16:34   Citer 

mais tu conné pas ratuss il peux tout faire.

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Ven 28 Sep 2007, 18:27   Citer 

Ouais, je sais. notgood.gif

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Ven 28 Sep 2007, 18:32   Citer 

Je pense que l'on peut le raccourcir comme ça eyeonly.gif :



Code
ClrHome
While 1
Prompt A,B
If fPart (A+B
Then
Disp "A ET B DOIVENT ","ETRE DES ENTIERS
Pause "RELATIFS
ClrHome
End
End
int (A/B) + (B<0->C
A-CB->B
Output (4,1,"R=
Output (4,3,B
Output (5,1,"Q=
Output (5,3,C
Pause
ClrHome



 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Ven 28 Sep 2007, 20:18   Citer 

A mon avis, on peut encore réduire le prog en remplaçant les 4 derniers Output par des Disp.

Sangohan38

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Ven 28 Sep 2007, 20:29   Citer 

J'y avais pensé mais ça modifie le rendu :karaté:

En effet, les résultats seront donnés sur 4 lignes au lieu de deux eyeonly.gif

 Adresse email Haut de page Bas de page 
 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Ven 28 Sep 2007, 20:44   Citer 

(arrête mad tu vas me faire rougir minied.gif )

mmh joli code coc5 :p !! , mais il y a une erreur pour le while 1 et mettre pause "TEXTE" ca marche pas sur un 82 eyeonly.gif ...

Allez Je tente ma chance si qqun arrive à faire plus court bigmouth.gif


Code
Lbl 1
ClrHome
Prompt N,D
If fPart( ND
Then
Disp "N ET D DOIVENT ","ETRE DES ENTIERS","RELATIFS
Pause
goto 1
End
B<0 + int (A/B
Output (4,1,"R=
Output (4,3,A-BAns
Output (5,1,"Q=
Output (5,3,Ans
Pause
ClrHome



----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Ven 28 Sep 2007, 21:10   Citer 

J'essaye de faire plus court:


Code
Lbl 1
ClrHome
Prompt N,D
If fPart( ND
Then
Disp "N ET D DOIVENT ","ETRE DES ENTIERS","RELATIFS
Pause
goto 1
End
B<0 + int (A/B
Disp "R=",A-BAns,"Q=",Ans
Pause
ClrHome



 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Ven 28 Sep 2007, 21:14   Citer 


Code
Lbl 1
ClrHome
Prompt N,D
If fPart( ND
Then
Disp "N ET D DOIVENT","ETRE DES ENTIERS","RELATIFS
Pause
goto 1
End
B<0 + int (A/B
Disp "R=",A-BAns,"Q=",Ans

godgrace.gif

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Sam 29 Sep 2007, 9:51   Citer 

T'es sur que ça :

Citer : Ratuss

Code
B<0 + int (A/B



c'est égale à ça :

Code
int (A/B)->C
If B<0
C+1->C



----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Sam 29 Sep 2007, 12:37   Citer 

En fait B>0 renvoi 1 si l'équation est vraie, et 0 si elle fausse.

C'est assez bien pensé de la part de coc5 happy.gif

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Sam 29 Sep 2007, 12:39   Citer 


Citer : Ratuss

Code
Lbl 1
ClrHome
Prompt N,D
If fPart( ND
Then
Disp "N ET D DOIVENT","ETRE DES ENTIERS","RELATIFS
Pause
goto 1
End
B<0 + int (A/B
Disp "R=",A-BAns,"Q=",Ans

godgrace.gif



B<0 + int(A/B ne peut pas marcher,car la calculatrice interprête B< (0+int(A/B) , il faut mettre des parenthèses.

Code

Lbl1
ClrHome
Prompt N,D
If fPart( ND
Then
Disp "N ET D DOIVENT","ETRE DES ENTIERS","RELATIFS
goto 1
End
(B<0) + int (A/B
Disp "R=",A-BAns,"Q=
Pause Ans



cupsmiley.gif

 Adresse email Haut de page Bas de page 
 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Sam 29 Sep 2007, 12:45   Citer 

euh bha t'as pas mis de label 1 la . eyeonly.gif

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Sam 29 Sep 2007, 12:47   Citer 

Une erreur de frappe, je l'ai corrigé. En j'avais remplacé par un While fPart(ND { } End mais je me suis rendu compte que ça ne pouvait pas marcher eyeonly.gif

 Adresse email Haut de page Bas de page 
 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Sam 29 Sep 2007, 15:08   Citer 

Lbl1
ClrHome
Prompt N,D
If fPart( ND
Then
Disp "N ET D DOIVENT","ETRE DES ENTIERS","RELATIFS
Pause
goto 1
End
(B<0) + int (A/B
Disp "R=",A-BAns,"Q=",Ans

(le pause final n'est pas vraiment utile)

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Sam 29 Sep 2007, 16:29   Citer 

Mais il ne coûte aucun octet supplémentaire, donc tant qu'on y est...

 Adresse email Haut de page Bas de page 
 
ratuss



Autorisation : Membre
Nb de messages : 1522
Inscrit le : Mer 01 Mar 2006, 20:41
Posté le : Sam 29 Sep 2007, 19:14   Citer 

Personnellement je le trouve un peu encombrant (je veux dire ça sert plus à rien d'appuyer sur enter extraterre.gif ).

----------------------
--- LISTE DES JEUX POUR TI ---
 Adresse email Haut de page Bas de page 
 
coc5
Avatar

Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Dim 30 Sep 2007, 14:33   Citer 

C'est vrai, mais je voulais juste me conformer au rendu du programme de départ.

 Adresse email Haut de page Bas de page 
 
jejechu90
Invité
Posté le : Lun 08 Oct 2007, 19:00   Citer 

salut je suis en spé maths aussi j'ai tapé le programme, mais il semble y avoir un problème.
je ne connais pas exactement la source du problème, mais quand j'appuie sur goto: ça me renvoie à la ligne ou j'ai marqué
If fPart A=/=0 donc je voudrais savoir si il y a des erreurs d'écritures dans le programme merci !

  Haut de page Bas de page 
 
jejechu90



Autorisation : Membre
Nb de messages : 2
Inscrit le : Lun 08 Oct 2007, 18:57
Posté le : Lun 08 Oct 2007, 19:01   Citer 

ah désolé j'ai oublié de me connecter au forum pour poster

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Lun 08 Oct 2007, 19:18   Citer 

En fait, il ne faut pas tapper "=/=", mais le [signe différent de] (en fait on marque =/=, car le site n'accepte pas qu'on mette le vrai signe).

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
jejechu90



Autorisation : Membre
Nb de messages : 2
Inscrit le : Lun 08 Oct 2007, 18:57
Posté le : Lun 08 Oct 2007, 19:34   Citer 

ah d'accord! merci beaucoup :d

 Adresse email Haut de page Bas de page 
 
guinuta
Avatar

Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 28 Oct 2007, 15:10
Posté le : Dim 28 Oct 2007, 15:33   Citer 

Salut bigmouth.gif

Citer

Code
Disp "R=",A-BAns,"Q=",Ans




Ou est ce qu'on peut trouver le Ans ( Je suis sur ti 82statsfr)

 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Dim 28 Oct 2007, 17:36   Citer 

[2nd]+(-.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
guinuta
Avatar

Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 28 Oct 2007, 15:10
Posté le : Dim 28 Oct 2007, 17:55   Citer 

Merci, pour la calculette française ca donne Rep.

Après avoir modifié ceci, j'ai testé mon programme. J'ai fait une division toute smple du genre 10/3, ca aurait du me donner 1 à R et 3 en Q, le problème, c'est que cela me donne 10 en R et 0 en Q. (J'ai recopié le dernier code du forum celui de ratuss
:

Citer

Code
Lbl1
ClrHome
Prompt N,D
If fPart( ND
Then
Disp "N ET D DOIVENT","ETRE DES ENTIERS","RELATIFS
Pause
goto 1
End
(B<0) + int (A/B
Disp "R=",A-BAns,"Q=",Ans




 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Lun 29 Oct 2007, 10:34   Citer 

Ratuss à fait une petite erreur : a la place de la ligne "If fPart(ND", tu met "if fPart(N=/=0 or fPart(D=/=0", car Ratuss a oublié que 10*1,2=12, et coc5 a oublié que 1,2+3,8=5… Mais c'est pas ça l'origine de ton problème. Le problème c'est qu'il a voulu changer de variables et qu'il a oublié de le faire jusque au bout. Mais je te conseille d'aller à la première page, au troisième post, là où il y a marqué en rouge "version réduite ici", où j'ai remis la vertion de Ratuss corrigée.

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
guinuta
Avatar

Autorisation : Membre
Nb de messages : 6
Inscrit le : Dim 28 Oct 2007, 15:10
Posté le : Lun 29 Oct 2007, 11:08   Citer 

Ca marche impec

 Adresse email Haut de page Bas de page 
 
Lexa001



Autorisation : Membre
Nb de messages : 14
Inscrit le : Sam 17 Nov 2007, 10:31
Posté le : Sam 17 Nov 2007, 10:34   Citer 

Bonjour je possede une TI 82 Stat FR
et j'aimerais savoir a quoi correspond fPrompt que je n'ai pas sur ma calculatrice

Merci !

----------------------
Que la Force soit avec toi !
 Adresse email Haut de page Bas de page 
 
vibra



Autorisation : Membre
Nb de messages : 591
Inscrit le : Mer 04 Avr 2007, 13:29
Posté le : Sam 17 Nov 2007, 11:57   Citer 

Il n'y a pas de fPrompt, que des fPart…

----------------------
Vive la programmation et vive le vibraphone !!!
 Adresse email Haut de page Bas de page 
 
Kuniimii
Invité
Posté le : Dim 18 Oct 2009, 17:17   Citer 

Bonjour,

à quoi correspond la touche Ans sur TI-82 stats.fr ??

Merci d'avance.

  Haut de page Bas de page 
 
sypotu
Avatar

Autorisation : Membre
Nb de messages : 651
Inscrit le : Dim 13 Sep 2009, 8:27
Posté le : Dim 18 Oct 2009, 18:50   Citer 

salut
c'est rép
[ 2nde ]+[ ( - ) ]

----------------------
Ti-83+.fr
Passe en 1ère S


Foire Aux Questions__________Traduction des fonctions Anglais/Français
Emplacement des fonctions____Lexique
Liste des jeux
Ouvrir, éditer et créer des .82p ou .83p sans télécharger de logiciel
Logiciel pour prendre des screenshot animés
Hebergeur pour vos .83p
 Adresse email Haut de page Bas de page 
 
moi
Invité
Posté le : Jeu 04 Nov 2010, 23:03   Citer 

:ClrHome
:Disp "A=BQ+R"
:Prompt A,B
:Disp "Q=",int (a/b),"R=",A-int (A/B)*B


ce programme n'e5t pa5 de moi. Mai5 je l'ai trouvé plu5 5imple et plu5 court que le5 votre5.
et intere55ant de le tran5mettre.... mai5 grave en retard happy.gif

  Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Ven 05 Nov 2010, 10:13   Citer 

Est ce qu'il vérifie tous les cas et donne à 100% une réponse correcte?

Sangohan38

PS: Evite les 5 à la place des s, c'est très moche.

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 05 Nov 2010, 21:37   Citer 

C'est la division euclidienne. Je crois même que c'est celui du site ou un que j'ai improvisé quelque part sur le forum.

Il ne fait pas les congruences, seulement des divisions.

----------------------
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 
 
miaoudu59
Invité
Posté le : Lun 22 Oct 2012, 18:01   Citer 

ET en version normale Ti82 vous l'avez le programme des division euclidienne ? extraterre.gif

  Haut de page Bas de page 
 
blg_flg



Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Lun 22 Oct 2012, 19:06   Citer 


Citer
Une division euclidienne dans Z (que la ti-82 ne peut effectuer)



Nan mais je crois que ça veut dire qu'il n'y a pas de fonction spéciale pour la division euclidienne sur TI-82, mais je pense que le code est valable pour 82. happy.gif

(J'ai pas de 82 pour vérifier, mais je suis quasi certain.)

 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 23 Oct 2012, 20:06   Citer 

Je confirme qu'il n'existe pas de fonction de division euclidienne dans les TI82/82stat(fr)/83.

On recommence en détaillé.
Code anglais :
Code
Disp A=BQ+R
Prompt A,B
int(A/B->Q                // on peut utiliser Ans mais c'est moins clair
Disp "Q",Q,"R",A-BQ

Code Français rigoureusement identique :
Code
Disp A=BQ+R
Prompt A,B
partEnt(A/B->Q            // on peut utiliser Rép mais c'est moins clair
Disp "Q",Q,"R",A-BQ

Code français valable uniquement avec A positif
Code
Disp A=BQ+R
Prompt A,B
ent(A/B->Q                // on peut utiliser Rép mais c'est moins clair
Disp "Q",Q,"R",A-BQ



----------------------
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 
 
Poster un nouveau sujet Poster une réponse





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