| NOMBRES PREMIERS | |
|
|
|
Auteur | Message |
---|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: NOMBRES PREMIERS Mar 18 Déc 2012 - 10:25 | |
| J'ai pensé à ça dans le métro, mais j'ai oublié quelques tests pour la simplification, je mets l'idée ici, je testerais ce soir la procédure à remplacer dans le source plus haut - Code:
-
simplifierFraction: ' -------------------------------------------------------------------- ' Lance la simplification de l'équation ' IF VAL(TEXT$(125)) = 0 MESSAGE "Le dénominateur doit être non nul" OFF_CHANGE 125 : TEXT 125, "" : ON_CHANGE 125,verifier ELSE HIDE 100 J = VAL(TEXT$(120)) : K = VAL(TEXT$(125)) CAPTION 200,"RESULTAT":CAPTION 210,"L'équation simplifié de "+TEXT$(120) IF J=0 CAPTION 210, CAPTION$(210)+" divisé par un entier est :" CAPTION 220, "0" ELSE PGCD(J,K) CAPTION 210, CAPTION$(210)+" / "+TEXT$(125)+" est :" CAPTION 220, STR$(J/PGCD%) IF (K/PGCD%) > 1 THEN CAPTION 220, CAPTION$(220)+" / "+ STR$(K/PGCD%) END_IF SHOW 200 END_IF
Dernière édition par Jicehel le Jeu 20 Déc 2012 - 0:58, édité 1 fois | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: NOMBRES PREMIERS Mar 18 Déc 2012 - 12:05 | |
| C’est bien Jicehel.
Et puisqu’on aspire à l’excellence, il est souhaitable d’ajouter un autre bouton Retour par exemple qui permet à retourner aux choix de la fonction à lancer, si on désire lancer plus d’une fonction. Vas-y c’est très simple pour toi.
| |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: NOMBRES PREMIERS Mar 18 Déc 2012 - 13:57 | |
| C'est vrai Papydall, mais je ne pourrais le coder que ce soir. J'ai rajouté les tests à l'arrache ce matin, mais je ne peux pas tester d'ici. Si tu veux bien le coder avec la procédure modifié, ce serait sympa, je testerais ce soir. Si je ne m'abuse, de tête, il faut juste faire un Rajouter Retour dans les LABEL ajouter le bouton avec appel à le sous programme Retour en cas de clic et ajouter le sous programme: Retour: HIDE 100: HIDE 200 RETURN Bon tu as une autre idée de fonction mathématique à ajouter ? J'ai pensé à la somme (ou la soustraction) de fractions avec dans la fenêtre 100, demande du nombre de fractions à additionner, ouverture d'une fenêtre qui demande les infos sur la nième fraction (addition, soustraction), calcul du PPCM à partir de la 2ième et calcul de l'addition puis simplification de la fraction et on reboucle sur la fraction suivante et affichage du résultat dans la fenêtre 200 à la fin. C'est assez simple à coder. Je pense que je rajouterais la multiplication et la division aussi puisque c'est très simple: (a / c) x (b / d) = (a x b) / (c x d) (a / c) / (b / d) = (a x d) / (c x b) donc dans la fenêtre qui demande les infos, il y aura : - le choix de l'opérateur: "+"; "-"; "x" ou ":" - la saisie du numérateur - la saisie du dénominateur Rien de bien sorcier | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: NOMBRES PREMIERS Mar 18 Déc 2012 - 16:19 | |
| Bonjour, puisqu'on est dans les nombres, voici ma modeste contribution : - Code:
-
DIM i FOR i=3.1415926 TO 10 step RND(4) Dec2Frac(i,8): ' approx. 8 decimales PRINT i;" = ";Dec2Frac$ NEXT i end
SUB Dec2Frac(xx,nbDec) DIM_LOCAL x,p0,p1,p2 DIM_LOCAL z,q0,q1,q2 IF VARIABLE("Dec2Frac$")=0 THEN DIM Dec2Frac$ x = abs(xx) p0 = 0: p1 = 1 q0 = 1: q1 = 0 WHILE 1=1 z = INT(x) p2 = z * p1 + p0 q2 = z * q1 + q0 IF ABS(ABS(xx)-p2 / q2) < POWER(10,0-NbDec) THEN EXIT_WHILE p0 = p1 : q0 = q1 p1 = p2 : q1 = q2 x = 1 / (x-z) END_WHILE IF xx < 0 THEN p2 = 0 - p2 Dec2Frac$=STR$(p2)+"/"+STR$(q2) end_sub | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: NOMBRES PREMIERS Mar 18 Déc 2012 - 16:45 | |
| Cool Nardo, je l'ajouterais ce soir. Si tu en as d'autres auxquelles tu penses, fais toi plaisir... | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: NOMBRES PREMIERS Mar 18 Déc 2012 - 17:34 | |
| | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: NOMBRES PREMIERS Mer 19 Déc 2012 - 1:56 | |
| Bonsoir ! encore un petit code. Il existe certainement des méthodes plus efficaces... - Code:
-
DIM SCALE:SCALE=10000 DIM ARRINIT:ARRINIT=2000 MEMO 1:PRINT_TARGET_IS 1:WIDTH 1,WIDTH(0)-16 HEIGHT 1,HEIGHT(0)-90 FONT_NAME 1,"Courier new" Pi_digits(5000) PRINT PRINT "Fini !" END SUB Pi_digits(digits) DIM_LOCAL carry,sum,i,j,a$,ligne$,n DIM_LOCAL arr(digits+1),f CAPTION 0,"Init..." FOR i=0 TO digits arr(i)=ARRINIT NEXT i CAPTION 0,"Calc..." i=digits WHILE i>0 sum = 0 j=i WHILE j>0 sum = sum * j + SCALE * arr(j) arr(j)=mod(sum,(j*2-1)) sum = int(sum / (j*2-1)) j=j-1 END_WHILE a$=STR$(INT(carry+sum/SCALE)) WHILE LEN(a$) < 4 : a$ = "0" + a$ : END_WHILE if f=0 ligne$ = LEFT$(a$,1) + "." + RIGHT$(a$,3) f = 1: n = 3 ELSE ligne$ = ligne$ + a$ : n = n + 4 END_IF IF LEN(ligne$)>78 PRINT LEFT$(ligne$,78) ligne$=RIGHT$(ligne$,LEN(ligne$)-78) END_IF carry=mod(sum,SCALE) i=i-14 CAPTION 0,"Calcul de PI : "+STR$(n)+" décimales." END_WHILE IF LEN(ligne$)<>0 THEN PRINT ligne$ END_SUB Note 1: Ce prog fait monter le taux d'occupation du micro à 98% (sous XP). Si je met un wait ou un pause dans la boucle while, le taux retombe à zéro mais aucun calcul n'est réalisé... Note 2 : Pour éviter que vous paniquiez, le programme s'arrête au bout de la 1431ème décimale... EDIT 09:30 -> Debug lorsque l'entier est < à 1000 | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: NOMBRES PREMIERS Mer 19 Déc 2012 - 11:21 | |
| Merci Nardo, je l'ajouterais ce soir, je n'ai pas programmé hier.
| |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: NOMBRES PREMIERS Mer 19 Déc 2012 - 21:28 | |
| Un lien qui pourrait plaire à PapyDall : ici | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: NOMBRES PREMIERS Mer 19 Déc 2012 - 22:32 | |
| Merci Nardo26. On apprend chaque jour un petit peu plus et on pousse un petit peu plus loin l'ignorance. On est sur la bonne voie. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: NOMBRES PREMIERS Jeu 20 Déc 2012 - 10:48 | |
| Dis Nardo, j'ai regardé ton programme de calcul de Pi, (je ne l'ai pas testé) mais je ne comprends pas comment le programme s'arrète au bout de la 1431ème décimale ? erreur ou il y a une partie du code qui m'a échappé ? | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: NOMBRES PREMIERS Jeu 20 Déc 2012 - 12:02 | |
| | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: NOMBRES PREMIERS Jeu 20 Déc 2012 - 12:21 | |
| Mais dans ce cas il faut modifier la variable scale ou rajouter un test dans le source quand on atteint un certain seuil, non ? | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: NOMBRES PREMIERS Jeu 20 Déc 2012 - 16:51 | |
| Très bonne question Jicehel ! Merci de l'avoir posé. J'en sais rien vu que c'est juste une transposition d'un code en C que j'ai récupéré sur le Net. voir ici | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: NOMBRES PREMIERS Jeu 20 Déc 2012 - 17:33 | |
| Bon, ce n'est pas très grâve, je cherchais juste à comprendre ^^ Je testerais quand je le rajouterais. Par contre, je vais créer une nouveau sujet car là on n'est plus trop dans l'affichage des nombres premiers | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 20 Déc 2012 - 19:48 | |
| Heu....,il me reste quelques tubes de Doliprane..... | |
|
| |
Contenu sponsorisé
| Sujet: Re: NOMBRES PREMIERS | |
| |
|
| |
| NOMBRES PREMIERS | |
|