Poster un nouveau sujet Poster une réponse Page: 1, ,      >>
Congruences et division Euclidienne dans Z.
Auteur Message
vibra



Autorisation : Membre
Nb de messages : 595
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 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
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 : 595
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 : 595
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 : 1561
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 : 595
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 : 630
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 : 595
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 : 891
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



----------------------
Ne cliquez pas ici !
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
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 : 891
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

----------------------
Ne cliquez pas ici !
 Adresse email Haut de page Bas de page 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
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 : 3370
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 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
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 : 595
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 : 1561
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 : 891
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

----------------------
Ne cliquez pas ici !
 Adresse email Haut de page Bas de page 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
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 : 891
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

----------------------
Ne cliquez pas ici !
 Adresse email Haut de page Bas de page 
 
Ratuss



Autorisation : Membre
Nb de messages : 1561
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 
 
Poster un nouveau sujet Poster une réponse Page: 1, ,      >>





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink