| Comment voit-on une priorité sur une fonction? | |
|
|
Auteur | Message |
---|
Invité Invité
| Sujet: Comment voit-on une priorité sur une fonction? Jeu 16 Juin 2016 - 22:03 | |
| Bonsoir à tous.
J'ai un problème de priorité sur les nombres.
Comment doit-on voir la chose (si le cas est valable) par exemple: a = SQR(5*6) ou a = SQR(5+6) serait-il: a = SQR((5*6)) ou alors pour une addition: a = SQR(5)+6. Très certainement je n'aurais personnellement pas ce cas à résoudre, mais mieux vaut-y penser dès le départ.
Merci d'avance. |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment voit-on une priorité sur une fonction? Jeu 16 Juin 2016 - 23:53 | |
| Règle 1 : Lorsqu'il n'y a que des additions, on effectue les calculs dans l'ordre que l'on veut et on peut changer l'ordre des nombres. Règle 2 : Lorsqu'il n’y a que des additions et au moins une soustraction, on effectue les calculs dans l'ordre indiqué, de gauche à droite, et on ne peut changer l'ordre des nombres Règle 3 : Lorsqu'il y a des parenthèses, on effectue d'abord les opérations contenues dans les parenthèses. Règle 4 : Lorsqu'il n'y a que des multiplications, on effectue les calculs dans l'ordre que l'on veut et on peut changer l'ordre des nombres Règle 5 : Lorsqu'il n’ y a que des multiplications et au moins une division, on effectue les calculs dans l'ordre indiqué, de gauche à droite, et on ne peut changer l'ordre des nombres. Règle 6 : Lorsqu'il y a un mélange des quatre opérations, on effectue d'abord les multiplications et les divisions Règle 7 : Lorsqu'il y a plusieurs parenthèses emboîtées, on effectue les calculs en partant des parenthèses les plus intérieures. Résumé : • Dans une expression numérique sans parenthèses, on effectue : o d’abord les multiplications et les divisions, de gauche à droite, o puis les additions et les soustractions, également de gauche à droite. • Quand on calcule une expression numérique qui contient des parenthèses : o on effectue en priorité les calculs entre les parenthèses ; o puis on procède comme pour une expression numérique sans parenthèses
Les règles de priorité sont : 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.
Les exemples : a = SQR(5*6) = SQR(30) a = SQR(5+6) = SQR(11) | |
|
| |
Invité Invité
| Sujet: Re: Comment voit-on une priorité sur une fonction? Ven 17 Juin 2016 - 0:27 | |
| Merci Papydall Cela me convient mieux. J'avais lu quelque part, mais apparemment j'ai perdu le lien, qu'avec l'exemple: comme exemple: SQR(5+3), cela revenait à SQR(5)+3. Ai-je mal lu? J'étais en train de coder ainsi, mais ça me perturbait complètement, car ça ne me paraissait pas possible, et finalement j'ai préféré poser la question, quitte à déranger quelqu'un. Merci pour tes éclaircissements Papydall. |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment voit-on une priorité sur une fonction? Ven 17 Juin 2016 - 0:35 | |
| Tu as bien fait de poser la question. Le petit code suivant donne la bonne réponse. - Code:
-
print sqr(5+3) print sqr(8) print sqr(5)+3
| |
|
| |
Invité Invité
| |
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment voit-on une priorité sur une fonction? Ven 17 Juin 2016 - 1:17 | |
| Pas de problème. Personne n'est parfait. Bonne nuit. | |
|
| |
Invité Invité
| Sujet: Re: Comment voit-on une priorité sur une fonction? Ven 17 Juin 2016 - 23:51 | |
| Bonsoir, Je reviens à la charge, avec ceci: - Papydall a écrit:
- 2. les exposants sont prioritaires sur les multiplications, divisions, additions et soustractions ;
Comment voit-on un exposant dans une l'expression d'une ligne écrite en basic? Est-ce une fonction avec parenthèses, ou seulement certaines fonctions? |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment voit-on une priorité sur une fonction? Sam 18 Juin 2016 - 0:32 | |
| L’exponentiation c’est l’opération qui, à un couple (X,Y) associe X Y. C’est donc l’élévation de X à la puissance Y. Dans certains langages de programmation, cette opération est noté X^Y. En Panoramic, elle est notée POWER(X, Y) Exemple : Dans l’expression : 5 * POWER(6,2) / 2On distingue 3 opérations : Une multiplication, une élévation à une puissance (exponentiation) et une division. L’ordre de priorité du calcul : L’exponentiation a la plus haute priorité : elle sera calculée la première, soit POWER(6,2) , c’est-à-dire 6 élevé à la puissance 2 qui donne 6*6 =36 La multiplication et la division ont la même priorité : le calcul se fait donc de gauche à droite, soit 5 * 36 = 180, puis 180/2 = 90 - Code:
-
print 5*power(6,2)/2 | |
|
| |
Invité Invité
| Sujet: Re: Comment voit-on une priorité sur une fonction? Sam 18 Juin 2016 - 0:40 | |
| Merci, là tout est claire. Je suppose qu'il n'y a plus d'autre fonction ayant la même priorité. Bonne nuit. |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment voit-on une priorité sur une fonction? Sam 18 Juin 2016 - 1:25 | |
| Considérons l’expression n = power(power( 6,2),3)Ici on a affaire à une fonction de fonction. Les calculs vont se faire de cette façon : On remarque que la fonction POWER possède deux paramètres (on dit arguments) séparés par une virgule. Les 2 arguments de la 1ère fonction POWER sont POWER(6,2) et 3, c’est-à-dire une fonction et une constante. On calcule d’abord le 1er argument, soit POWER(6,2) qui vaut 6*6 = 36. Notre expression devient équivalente à POWER(36,3) qui vaut 36*36*36 = 45656 Donc POWER(POWER(6,2),3) = POWER(36,3) = 45656 - Code:
-
print power(power(6,2),3) Un autre exemple Considérons l’expression suivante n = max(max(max( 5,8 ), 10), 3)La fonction MAX nécessite 2 arguments et renvoie le plus grand d’entre eux. Nous sommes ici devant une fonction de fonction de fonction. Les calculs se font ainsi : En 1er lieu on calcule MAX( 5,8 ) qui donne 8 Ensuite on calcule MAX(8,10) qui donne 10 Enfin on calcule MAX(10,3) qui donne 10 qui est le résultat de l'expression. - Code:
-
print max(max(max(5,8),10),3) REMARQUE : on peut imbriquer autant de fonctions que l'on veut (enfin autant que permet le langage !)
Dernière édition par papydall le Dim 11 Sep 2016 - 0:47, édité 2 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: Comment voit-on une priorité sur une fonction? Sam 18 Juin 2016 - 1:50 | |
| Ah ! J’allais oublier : Pour être complet, il existe une opération dont la priorité est plus haute que l’exponentiation : c’est l’opération du « moins unaire » Exemple : Dans l’expression 5 – 3, le signe moins c’est l’opérateur de la soustraction. Tandis que dans l’expression – (5-3), le 1er signe moins c’est le moins unaire et non l’opérateur de la soustraction et c’est ce moins unaire qui a la plus haute priorité. Le moins unaire qui accepte un seul argument, permet d’obtenir l’opposé de son argument. REMARQUE : Panoramic ne reconnait pas le moins unaire. On doit donc précéder le moins unaire par la constante 0 (zéro) Exemple : -(5-3) doit être codé en Panoramic par - Code:
-
print 0-(5-3) De même –sin(1/2) doit être codé par - Code:
-
print 0-sin(1/2) De cette façon, on ne peut plus parler de la priorité du moins unaire en Panoramic, mais dans les langages de programmation qui reconnaissent cet opérateur, il a la plus haute priorité. | |
|
| |
Invité Invité
| Sujet: Re: Comment voit-on une priorité sur une fonction? Sam 18 Juin 2016 - 9:01 | |
| Merci pour ces précisions. |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment voit-on une priorité sur une fonction? Sam 18 Juin 2016 - 15:36 | |
| | |
|
| |
Contenu sponsorisé
| Sujet: Re: Comment voit-on une priorité sur une fonction? | |
| |
|
| |
| Comment voit-on une priorité sur une fonction? | |
|