FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Form(résolu)
Entrer des nombres reels en notation scientifique Emptypar leclode Aujourd'hui à 17:59

» trop de fichiers en cours
Entrer des nombres reels en notation scientifique Emptypar Marc Aujourd'hui à 11:42

» Bataille navale SM
Entrer des nombres reels en notation scientifique Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
Entrer des nombres reels en notation scientifique Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
Entrer des nombres reels en notation scientifique Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Entrer des nombres reels en notation scientifique Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Entrer des nombres reels en notation scientifique Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Entrer des nombres reels en notation scientifique Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Entrer des nombres reels en notation scientifique Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Entrer des nombres reels en notation scientifique Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Entrer des nombres reels en notation scientifique Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Entrer des nombres reels en notation scientifique Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Entrer des nombres reels en notation scientifique Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Entrer des nombres reels en notation scientifique Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Entrer des nombres reels en notation scientifique Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

 

 Entrer des nombres reels en notation scientifique

Aller en bas 
4 participants
AuteurMessage
Mumu




Nombre de messages : 176
Localisation : 45
Date d'inscription : 20/12/2012

Entrer des nombres reels en notation scientifique Empty
MessageSujet: Entrer des nombres reels en notation scientifique   Entrer des nombres reels en notation scientifique EmptyDim 24 Mar 2013 - 23:29

Bonsoir à toutes et à tous
Je viens ce soir pour vous narrer une mésaventure qui fût la mienne il y a quelques temps de cela.
J'avais posté une question relative à la notation scientifique dans Panoramic.
La réponse a été sans ambigüité. On peut pas entrer des nombres de la forme 1.342E25 !
C'est ma foi on ne peut plus vrai.
Ou alors il faut utiliser la fonction power(), ce qui choquait mon sens de l’esthétique...
Alors, moi, du style -je ne vais pas me laisser abattre- -que je vais te me faire une sub qui fera date dans les anales,
je t'ai développé un code qui m'a rempli de fierté, que le plus fort c'est moi, et que je pouvais repartir le front haut,
fier comme si j'avais un bar tabac (Coluche dixit).
Je ne résiste pas au "plaisir" de vous soumettre ce code...

Code:

' ------------------------------------------------------------------------------
'
'  ConvNotationScientifique(nombre$)
'  nombre$ est une chaine représentant un nombre au format
' (-)######.#######E(-)###
' les "-" sont facultatifs et les nb doivent comporter 1 et 1 seul "E"
' les "#" on peut en mettre tant qu'on veut. Veiller seulement à ne pas depasser
' la capacité de Panoramic
' Resultat dans la variable retour
'
'-------------------------------------------------------------------------------

sub ConvNotationScientifique(nombre$)
  dim_local i%,puissance%,int_mantisse$,frac_mantisse$,signe%
  if variable("retour") = 0 then dim retour
  puissance% = 0
  int_mantisse$ =""
  frac_mantisse$ ="."
  i% = 0
  signe% = 1
  if left$(nombre$,1) = "-" then signe% = -1
  while mid$(nombre$,len(nombre$)-i%,1)<> "e" and  mid$(nombre$,len(nombre$)-i%,1)<> "E"
      if  mid$(nombre$,len(nombre$)-i%,1)<> "-"
        puissance% = puissance%+(val(mid$(nombre$,len(nombre$)-i%,1))* power(10,i%))
      else
        puissance% = 0-puissance%
      end_if
      i% = i%+1
  end_while
  i% = 1
  while mid$(nombre$,i%,1)<> "e" and  mid$(nombre$,i%,1)<> "E"
      if  mid$(nombre$,i%,1)<> "."
        int_mantisse$ = int_mantisse$ + mid$(nombre$,i%,1)
      else
        exit_while

      end_if
      i%= i%+1
  end_while
  while mid$(nombre$,i%,1)<> "e" and  mid$(nombre$,i%,1)<> "E"
      frac_mantisse$ = frac_mantisse$ + mid$(nombre$,i%+1,1)
      i%= i%+1
  end_while
  retour = (val(int_mantisse$) + val(frac_mantisse$)* signe%)* power(10,puissance%)

end_sub

Oh vains dieux la belle sub ! au moins 30 lignes de code et des heures de boulot,... et des litres de sueur...

Puis je me suis rendu compte que :

val("1.342E25")

ça fait exactement la même chose en 1 seule ligne, quasi instantanément et sans sueur.

Bon je vais aller me coucher. Ca au moins j'sais faire...
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Entrer des nombres reels en notation scientifique Empty
MessageSujet: Re: Entrer des nombres reels en notation scientifique   Entrer des nombres reels en notation scientifique EmptyDim 24 Mar 2013 - 23:55

Le principal c'est que tu es atteint ton but. Tu as réussi à faire la SUB que tu voulais et ça tu peux en être fier
Revenir en haut Aller en bas
papydall

papydall


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

Entrer des nombres reels en notation scientifique Empty
MessageSujet: Re: Entrer des nombres reels en notation scientifique   Entrer des nombres reels en notation scientifique EmptyLun 25 Mar 2013 - 0:29

Mumu a écrit:
Oh vains dieux la belle sub ! au moins 30 lignes de code et des heures de boulot,... et des litres de sueur...

Puis je me suis rendu compte que :

val("1.342E25")

ça fait exactement la même chose en 1 seule ligne, quasi instantanément et sans sueur.

Dis- toi que « les heures de boulot et les litres de sueur » n’étaient pas peine perdue !
Car tu avais bien réfléchi à ton problème et tu as essayé un code qui ne marchait pas, puis un autre, puis une autre approche qui n’allait pas non plus pour aboutir enfin à un code qui marche !
Dans toute cette « aventure » tu as testé des commandes et des fonctions en panoramic et tu as compris pourquoi telle chose ne marchait pas, etc.
Enfin, la récompense venait : te sentir fier d’avoir réussi.

Et puis tu m’as appris une chose que j’ignorais (d’autres panoramiciens aussi peut-être): val("1.342E25") : je ne pensais pas que Panoramic accepte une telle écriture!
Alors MERCI.
Et service pour service, tu peux abréger le test :
Code:
  while mid$(nombre$,len(nombre$)-i%,1)<> "e" and  mid$(nombre$,len(nombre$)-i%,1)<> "E"
comme ceci :
Code:
 while upper$(mid$(nombre$,len(nombre$)-i%,1))<> "E"
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Entrer des nombres reels en notation scientifique Empty
MessageSujet: re   Entrer des nombres reels en notation scientifique EmptyLun 25 Mar 2013 - 2:27

@ mumu,

Tu peux être fier(e) de ton code !
Heureusement que je n'en ai pas eu besoin avant,
je serai parti dans le même but que toi mais peut être pas
avec la même réussite... Laughing
Comme beaucoup, je pense, je ne savais pas que val()
faisait ce boulot là.

Alors BRAVO pour ce code, et MERCI de ton partage !
Revenir en haut Aller en bas
Contenu sponsorisé





Entrer des nombres reels en notation scientifique Empty
MessageSujet: Re: Entrer des nombres reels en notation scientifique   Entrer des nombres reels en notation scientifique Empty

Revenir en haut Aller en bas
 
Entrer des nombres reels en notation scientifique
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Entrer des nombres reels en notation scientifique
» Codage de la notation scientifique des nombres réels
» addition d'entiers avec des réels
» Sub et nombres réels ?
» Les nombres narcissiques (ou nombres d’Armstrong)

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