FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» I Love You
par papydall Aujourd'hui à 2:58

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Hier à 18:08

» mise a jour calculatrice
par joeeee2017 Hier à 15:57

» [solved] 3D_LINE How to ?
par Jicehel Hier à 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 NOMBRES PREMIERS

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: NOMBRES PREMIERS   Mar 18 Déc 2012 - 12: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 - 2:58, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5546
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: NOMBRES PREMIERS   Mar 18 Déc 2012 - 14: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: NOMBRES PREMIERS   Mar 18 Déc 2012 - 15: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 Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: NOMBRES PREMIERS   Mar 18 Déc 2012 - 18: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
Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: NOMBRES PREMIERS   Mar 18 Déc 2012 - 18:45

Cool Nardo, je l'ajouterais ce soir.
Si tu en as d'autres auxquelles tu penses, fais toi plaisir...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5546
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: NOMBRES PREMIERS   Mar 18 Déc 2012 - 19:34

L'union fait la force!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: NOMBRES PREMIERS   Mer 19 Déc 2012 - 3:56

Bonsoir !
encore un petit code. Il existe certainement des méthodes plus efficaces... Wink
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... Wink

EDIT 09:30 -> Debug lorsque l'entier est < à 1000
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: NOMBRES PREMIERS   Mer 19 Déc 2012 - 13:21

Merci Nardo, je l'ajouterais ce soir, je n'ai pas programmé hier.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: NOMBRES PREMIERS   Mer 19 Déc 2012 - 23:28

Un lien qui pourrait plaire à PapyDall : ici
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
papydall

avatar

Nombre de messages : 5546
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: NOMBRES PREMIERS   Jeu 20 Déc 2012 - 0: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: NOMBRES PREMIERS   Jeu 20 Déc 2012 - 12: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é ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5546
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: NOMBRES PREMIERS   Jeu 20 Déc 2012 - 14:02

RAPPEL ici
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: NOMBRES PREMIERS   Jeu 20 Déc 2012 - 14: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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: NOMBRES PREMIERS   Jeu 20 Déc 2012 - 18: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: NOMBRES PREMIERS   Jeu 20 Déc 2012 - 19: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 Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Déc 2012 - 21:48

Heu....,il me reste quelques tubes de Doliprane.....

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: NOMBRES PREMIERS   

Revenir en haut Aller en bas
 
NOMBRES PREMIERS
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Weave •
» pour jouer avec les chiffres et les nombres
» La beauté des nombres
» manuel de code e-anim
» [Résolu] addition de deux variable.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: