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
» demande explication KGF pour imprimer en mm
Problème de parenthèses. Emptypar lepetitmarocain Aujourd'hui à 12:55

» Petit passage furtif
Problème de parenthèses. Emptypar Froggy One Hier à 14:26

» SPIN et aide langage (résolu)
Problème de parenthèses. Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
Problème de parenthèses. Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
Problème de parenthèses. Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
Problème de parenthèses. Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
Problème de parenthèses. Emptypar Klaus Dim 3 Mar 2024 - 9:59

» Tangram-Toukaré
Problème de parenthèses. Emptypar jjn4 Mer 28 Fév 2024 - 18:12

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Problème de parenthèses. Emptypar jjn4 Mer 28 Fév 2024 - 18:09

» KGF_dll - nouvelles versions
Problème de parenthèses. Emptypar Klaus Mer 28 Fév 2024 - 17:01

» Mes souhaits d'amélioration de Panoramic.
Problème de parenthèses. Emptypar Pedro Lun 26 Fév 2024 - 18:12

» Testez-votre-QI
Problème de parenthèses. Emptypar jjn4 Dim 25 Fév 2024 - 17:12

» Utilisation d'Élip
Problème de parenthèses. Emptypar jjn4 Sam 24 Fév 2024 - 18:33

» Récapitulatif ludothèque panoramic jjn4
Problème de parenthèses. Emptypar jjn4 Sam 24 Fév 2024 - 18:11

» Générateur de mots de passe
Problème de parenthèses. Emptypar mindstorm Mar 20 Fév 2024 - 20:09

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mars 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier
-15%
Le deal à ne pas rater :
(Adhérents) LEGO® Icons 10318 Le Concorde
169.99 € 199.99 €
Voir le deal

 

 Problème de parenthèses.

Aller en bas 
5 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1547
Date d'inscription : 19/01/2014

Problème de parenthèses. Empty
MessageSujet: Problème de parenthèses.   Problème de parenthèses. EmptyMer 30 Mai 2018 - 15:46

Bonjour.

J'ai simplifié le code précédent au maximum.
Et voilà que le résultat est toujours différent !

Les expressions entre parenthèses étant évaluées en priorité, ne devrait-on pas obtenir deux résultats strictement identiques ?

La valeur (y) doit être évaluée en premier, et donc on reviendrait au cas précédent !

Pourrait-on éclairer ma lanterne ?

Code:
dim crlf$, x, l1, l2, y, ct1

crlf$=chr$(10)+chr$(13)

ct1=180/pi

x=2.3438093
y=-2589.47

l1=x+y/3600/ct1
l2=x+(y)/3600/ct1

message str$(l1)+crlf$+str$(l2)
terminate

Le code suivant en Blitzbasic donne 2,33126 pour les deux résultats !

Code:
ct1#=180/3.1416

x#=2.3438093
y#=-2589.47

l1#=x#+y#/3600/ct1#
l2#=x#+(y#)/3600/ct1#
Notify Str$(l1#)+" : "+Str$(l2#)

Panoramic indique la valeur -38,87 pour l2 !
Revenir en haut Aller en bas
papydall

papydall


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

Problème de parenthèses. Empty
MessageSujet: Re: Problème de parenthèses.   Problème de parenthèses. EmptyMer 30 Mai 2018 - 16:40

Je pense que tu as raison, Pedro.
Pour moi, il y a un problème dans ce cas.
C’est à toi Jack de trancher.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

Problème de parenthèses. Empty
MessageSujet: Re: Problème de parenthèses.   Problème de parenthèses. EmptyMer 30 Mai 2018 - 16:49

Code:

dim a,b,c,d,l1,l2
a = 5
b = -5
c = 14/7
d = 2
l1 = a + b / c / d
l2 = a + (b) / c / d
print l1
print l2



Le résultat doit-être le même, à savoir 3.75
Mais Panoramic voit les choses autrement



Problème de parenthèses. Rep10
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Navigateur

Navigateur


Nombre de messages : 42
Age : 75
Localisation : Les Clayes-sous-bois 78340
Date d'inscription : 02/09/2016

Problème de parenthèses. Empty
MessageSujet: Re: Problème de parenthèses.   Problème de parenthèses. EmptyMer 30 Mai 2018 - 18:37

Bonjour,

L'explication est (peut-être) dans le changement de la priorité des opérations ou groupe d'opérations qui suivent la variable qui a été mise entre parenthèses.

Code:
Dim x, y, z, ct1
Dim l1, l1_bis, l2, l2_bis

x   = 2.3438093
y   = -2589.47
z   = 3600
ct1 = 180/pi

l1      =  x  +  y  /  z  /  ct1
l1_bis  = (x) + (y) / (z) / (ct1)
l2      =  x  + (y) /  z  /  ct1
l2_bis  =  x  +  y  / (z  /  ct1)


print "  x  +  y  /  z  /  ct1  : ", l1
print " (x) + (y) / (z) / (ct1) : ", l1_bis
print "  x  + (y) /  z  /  ct1 : ",  l2
print "  x  +  y  / (z  /  ct1) : ", l2_bis


l1      =  x  +  y  /  z  *  ct1
l1_bis  = (x) + (y) / (z) * (ct1)
l2      =  x  + (y) /  z  *  ct1
l2_bis  =  x  +  y  / (z  *  ct1)

print
print "  x  +  y  /  z  *  ct1  : ", l1
print " (x) + (y) / (z) * (ct1) : ", l1_bis
print "  x  + (y) /  z  *  ct1 : ",  l2
print "  x  +  y  / (z  *  ct1) : ", l2_bis


l1      =  x  +  y  *  z  *  ct1
l1_bis  = (x) + (y) * (z) * (ct1)
l2      =  x  + (y) *  z  *  ct1
l2_bis  =  x  +  y  * (z  *  ct1)

print
print "  x  +  y  *  z  *  ct1  : ", l1
print " (x) + (y) * (z) * (ct1) : ", l1_bis
print "  x  + (y) *  z  *  ct1 : ",  l2
print "  x  +  y  * (z  *  ct1) : ", l2_bis


l1      =  x  +  y  *  z  /  ct1
l1_bis  = (x) + (y) * (z) / (ct1)
l2      =  x  + (y) *  z  /  ct1
l2_bis  =  x  +  y  * (z  /  ct1)

print
print "  x  +  y  *  z  /  ct1  : ", l1
print " (x) + (y) * (z) / (ct1) : ", l1_bis
print "  x  + (y) *  z  /  ct1 : ",  l2
print "  x  +  y  * (z  /  ct1) : ", l2_bis

A priori, quand une variable/expression est mise entre parenthèses, Panoramic fait d'abord l'évaluation des variables/expressions à sa droite avant d'effectuer le reste des autres opérations en respectant les règles de priorité "classiques" (sauf si une autre variable est mise entre parenthèses).

Navigateur

PS : à vérifier avec des opérateurs de priorité différente peut-être.
: en Freebasic pas de problème avec une variable mise entre parenthèse :

x + y / z / ct1 : 2.331255205775772
(x) + (y) / (z) / (ct1) : 2.331255205775772
x + (y) / z / ct1 : 2.331255205775772
x + y / (z / ct1) : -38.86892055972071


Dernière édition par Navigateur le Mer 30 Mai 2018 - 18:59, édité 2 fois
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Problème de parenthèses. Empty
MessageSujet: Re: Problème de parenthèses.   Problème de parenthèses. EmptyMer 30 Mai 2018 - 18:37

C'est un bug, la position des parenthèses en interne est mauvaise:
Code:
dim b,c,d,l1,l2

b = -5  :  c = 14/7  :  d = 2

l1 =  b / c / d :' = ( b / c ) / d
l2 = (b) / c / d :' = b / ( c / d )

print l1
print ( b / c ) / d :' ---> ok
print l2
print b / ( c / d ) :' ---> erreur
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème de parenthèses. Empty
MessageSujet: Re: Problème de parenthèses.   Problème de parenthèses. EmptyMer 30 Mai 2018 - 20:30

Bonsoir,

Je me pose une question: quelle est l'intérêt de mettre une variable seule entre parenthèses. Question

Exemple du code de Silverman: l2 = (b) / c / d :' = b / ( c / d )
.
drunken drunken drunken

A+
Revenir en haut Aller en bas
Pedro

Pedro


Nombre de messages : 1547
Date d'inscription : 19/01/2014

Problème de parenthèses. Empty
MessageSujet: Problème de parenthèses.   Problème de parenthèses. EmptyMer 30 Mai 2018 - 20:39

Bonsoir.

L'intérêt est justement de montrer l'erreur de l'analyseur syntaxique !!

Le code proposé est un raccourci du code montré plus haut !!
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème de parenthèses. Empty
MessageSujet: Re: Problème de parenthèses.   Problème de parenthèses. EmptyMer 30 Mai 2018 - 20:53

Oh ! je ne l'avais pas vu sous cet angle. Embarassed

Montrer l'erreur de l'analyseur syntaxique, OK, mais je pense qu'il y a bien d'autres cas où l'analyse n'est pas au top.

Néanmoins, tu as débusqué un lièvre.

A+
Revenir en haut Aller en bas
Contenu sponsorisé





Problème de parenthèses. Empty
MessageSujet: Re: Problème de parenthèses.   Problème de parenthèses. Empty

Revenir en haut Aller en bas
 
Problème de parenthèses.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» probleme sur DLL
» Problème avec select case Probleme réglé merci
» Problème de 3D.
» Problème avec la commande RemoveStringBetweenDelimiters.
» J'ai un problème...

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: