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
» PANORAMIC V 1
Encore un mystère, mais avec les opérations Emptypar Marc Aujourd'hui à 17:51

» Gestion d'un système client-serveur.
Encore un mystère, mais avec les opérations Emptypar Klaus Aujourd'hui à 14:52

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Encore un mystère, mais avec les opérations Emptypar Froggy One Aujourd'hui à 9:16

» @Jack
Encore un mystère, mais avec les opérations Emptypar Jack Mar 30 Avr 2024 - 18:40

» trop de fichiers en cours
Encore un mystère, mais avec les opérations Emptypar papydall Lun 29 Avr 2024 - 21:39

» Une calculatrice en une ligne de programme
Encore un mystère, mais avec les opérations Emptypar jean_debord Dim 28 Avr 2024 - 6:47

» Form(résolu)
Encore un mystère, mais avec les opérations Emptypar leclode Sam 27 Avr 2024 - 15:59

» Bataille navale SM
Encore un mystère, mais avec les opérations Emptypar jjn4 Ven 26 Avr 2024 - 15:39

» Les maths du crocodile
Encore un mystère, mais avec les opérations Emptypar jean_debord Jeu 25 Avr 2024 - 8:37

» Naissance de Crocodile Basic
Encore un mystère, mais avec les opérations Emptypar jean_debord Jeu 25 Avr 2024 - 6:45

» Dessine-moi une galaxie
Encore un mystère, mais avec les opérations Emptypar jjn4 Lun 22 Avr 2024 - 11:47

» Erreur END_SUB
Encore un mystère, mais avec les opérations Emptypar jjn4 Lun 22 Avr 2024 - 11:43

» Bug sur DIM_LOCAL ?
Encore un mystère, mais avec les opérations Emptypar papydall Dim 21 Avr 2024 - 21:30

» 2D_fill_color(résolu)
Encore un mystère, mais avec les opérations Emptypar leclode Sam 20 Avr 2024 - 6:32

» Consommation gaz électricité
Encore un mystère, mais avec les opérations Emptypar leclode Mer 17 Avr 2024 - 9:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

 

 Encore un mystère, mais avec les opérations

Aller en bas 
4 participants
AuteurMessage
jjn4

jjn4


Nombre de messages : 2692
Date d'inscription : 13/09/2009

Encore un mystère, mais avec les opérations Empty
MessageSujet: Encore un mystère, mais avec les opérations   Encore un mystère, mais avec les opérations EmptyLun 22 Juil 2013 - 12:48

Prenez le code suivant :
Code:
print 17/26*100    : rem  --> 0.00653846153846154
print (17/26)*100  : rem  --> 65.3846153846154
(je vous ai mis le résultat en rem)

Moi, je trouve ça bizarre, pas vous ?
J'avais toujours appris que les multiplications
et les divisions étaient commutatives !

scratch scratch alien scratch scratch 
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Klaus

Klaus


Nombre de messages : 12281
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Encore un mystère, mais avec les opérations Empty
MessageSujet: Re: Encore un mystère, mais avec les opérations   Encore un mystère, mais avec les opérations EmptyLun 22 Juil 2013 - 14:14

C'est un bug. La multiplication est bien commutative, mais la division ne l'est pas. Or, dans ce cas, on s'attend intuitivement que Panoramic interprète l'expression de gauche à droite, en présence d'opérateurs de même priorité. Mais ce n'est pas le cas. Panoramic semble exécuter de droite à gauche. Mais même ça, ce n'est pas vrai. La preuve:
Code:

print 17/26*100    : rem  --> 0.00653846153846154
print (17/26)*100  : rem  --> 65.3846153846154

print 17/26        : rem  --> 0.653846153846154
print 17/2600      : rem  --> 0.00653846153846154
print 17/2600*10      : rem  --> 0.000653846153846154
print 17/26*100*10    : rem  --> 0.0653846153846154

Je pense que c'est ) Jack de jouer...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html En ligne
papydall

papydall


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

Encore un mystère, mais avec les opérations Empty
MessageSujet: Re: Encore un mystère, mais avec les opérations   Encore un mystère, mais avec les opérations EmptyLun 22 Juil 2013 - 18:07

Encore un mystère, mais avec les opérations Text110
D’une manière générale :
1. les calculs contenus entre parenthèses  sont prioritaires sur les calculs situés en dehors de ces parenthèses.
2. les exposants sont prioritaires sur les multiplications, divisions, additions et soustractions;
3. les multiplications et divisions sont prioritaires sur les additions et soustractions.

On commence par les parenthèses; elles indiquent les calculs à effectuer en premier. On commence par les parenthèses les plus internes.
En l'absence de parenthèses, on effectue les calculs dans l'ordre suivant:
    -les puissances
    -les multiplications (et les divisions)
    -les additions (et les soustractions)

Pour les opérateurs de même priorité, on effectue le calcul de gauche à droite (comme on le lit !)

Priorités classées par ordre décroissant; les opérateurs sur une même ligne ayant une priorité égale (on évalue alors de gauche à droite).

()
+ - not unaire
power exponentiation
* / div mod and multiplicatif
+ - or additif
=  <>  <  <=  >=  >  relation



Personnellement comment je m’y prends :

Comme la priorité des opérations  semble varier suivant le langage utilisé, donc, pour ne pas me poser trop de questions, je place  des parenthèses là où il faut pour fixer la priorité telle que je  la souhaite.
Et le code n'en sera que plus lisible !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Encore un mystère, mais avec les opérations Empty
MessageSujet: Re: Encore un mystère, mais avec les opérations   Encore un mystère, mais avec les opérations EmptyLun 22 Juil 2013 - 18:49

Dans le doute, il vaut mieux mettre des parenthèses car un calcul entre parenthèses s'effectue en priorité.

Pour évaluer une expression, PANORAMIC fait des cycles jusqu'à ce qu'il n'y ait plus rien à évaluer.
Lors d'un cycle, il évalue dans l'ordre :
la multiplication
la division
l'addition
la soustraction
les fonctions numériques retournant un nombre
les fonctions numérique retournant une chaine
les fonctions sur les chaines de caractères
les variables indicées à 1 dimension
les variables indicées à 2 dimensions
les nombres entre parenthèses
la concaténation

Je préciserai cela dans la documentation.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


Nombre de messages : 12281
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Encore un mystère, mais avec les opérations Empty
MessageSujet: Re: Encore un mystère, mais avec les opérations   Encore un mystère, mais avec les opérations EmptyLun 22 Juil 2013 - 21:17

Ah, ça, c'est une précision intéressante ! En effet, ainsi que l'a si bien dit Papydall, cela diffère un peu de l'ordre "habituel" (si j'ose dire), car cela induit une priorité pus grande à la multiplication qu'à la division, pour ne relever que cela. Il faudra donc prendre l'habitude de placer des parenthèses pour imposer l'ordre d'évaluation.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html En ligne
papydall

papydall


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

Encore un mystère, mais avec les opérations Empty
MessageSujet: Re: Encore un mystère, mais avec les opérations   Encore un mystère, mais avec les opérations EmptyMar 23 Juil 2013 - 0:38

En toute rigueur, la division n’est en fait qu’une multiplication, au même titre que la soustraction n’est qu’une addition !
En effet, diviser A par B est équivalent à multiplier A par l’inverse de B : A / B = A * (1/B)
Soustraire B de A est équivalent à additionner A et  l’opposé de B : A - B = A + (-B).
Donc, multiplication et division doivent avoir la même priorité .
De même, addition et soustraction doivent avoir la même priorité .

Panoramic se comporte légèrement différent (comme l’a si bien précisé Jack), alors, comme je l’écrivais ci-haut:
placez des parenthèses là où il faut pour fixer la priorité telle que vous la souhaiter.
Ainsi vous gagnez sur deux coups :
1/ Vous éliminez le doute.
2/ Votre code n’est sera que plus lisible.

Pour conclure : A chacun sa méthode.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jjn4

jjn4


Nombre de messages : 2692
Date d'inscription : 13/09/2009

Encore un mystère, mais avec les opérations Empty
MessageSujet: +++   Encore un mystère, mais avec les opérations EmptyMer 24 Juil 2013 - 16:44

Ah, voilà !!!
Mathématiques et informatique
sont deux choses différentes !
(qui a dit que c'était les mamelles de la France ?)
Laughing Laughing alien Laughing Laughing 
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Contenu sponsorisé





Encore un mystère, mais avec les opérations Empty
MessageSujet: Re: Encore un mystère, mais avec les opérations   Encore un mystère, mais avec les opérations Empty

Revenir en haut Aller en bas
 
Encore un mystère, mais avec les opérations
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bug avec la priorité des opérations arithmétiques ?
» Mystère avec la beauté fractale !
» Un petit début mais un bug avec BUTTON
» RIEN A VOIR AVEC PANORAMIC MAIS Ils arrivent !
» Mystère sur file_find_first$ et compagnie

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: