En mathématiques, la priorité des opérations ou ordre des opérations est un ensemble de règles d'usage faisant consensus au sein de la communauté des mathématiciens. Elle précise l'ordre dans lequel les calculs doivent être effectués dans une expression complexe.
Les règles de priorité sont :
Les calculs entre parenthèses ou crochets sont prioritaires sur les calculs situés en dehors. La barre horizontale de fraction ou de racine joue le rôle d'une parenthèse ;
L'exponentiation est prioritaire sur la multiplication, la division, l'addition et la soustraction ;
Dans les parenthèses, on effectue les multiplications et divisions de gauche à droite. Même chose ensuite pour les additions et soustractions[1].
PEMDAS est un moyen mnémotechnique qui permet de se souvenir facilement de ces règles de priorité. Il signifie Parenthèse, Exposant, Multiplication et Division, Addition et Soustraction ; multiplication et division étant sur un même niveau, tout comme addition et soustraction.
Exemples
Dans une succession d'additions et de soustractions, on peut effectuer les calculs de gauche à droite
2 − 0,5 + 1,5 = (2 − 0,5) + 1,5 = 1,5 + 1,5 = 3
mais d'autres regroupements sont possibles
2 − 0,5 + 1,5 = 2 + (−0,5 + 1,5) = 2 + 1 = 3
2 − 0,5 + 1,5 = 2 + 1,5 − 0,5 = 3,5 − 0,5 = 3
(mais on n'effectuera pas : 2 − (0,5 + 1,5) = 2 − 2 = 0)
Dans un calcul tel que 7 + 2 × 6, priorité est donnée à la multiplication :
7 + 2 × 6 = 7 + 12 = 19
(et on n'effectuera pas ainsi : (7 + 2) × 6 = 9 × 6 = 54, comme on serait tenté de le faire par lecture de gauche à droite).
L'usage de parenthèses permet donc de créer une exception aux priorités opératoires (multiplications et divisions prioritaires sur les additions et soustractions).
Ainsi, un calcul comme (7 + 2) × 6 s'effectue ainsi :
(7 + 2) × 6 = 9 × 6 = 54.
Ces quatre règles se complètent les unes les autres : ainsi le calcul 50 × 2 − [ 3 + 4 × (11 − 6 + 3) − 1 ] s'effectue ainsi :
A = 50 × 2 − [ 3 + 4 × 8 − 1 ] (priorité aux calculs entre parenthèses 11 − 6 + 3)
A = 100 − [ 3 + 4 × 8 − 1 ] (priorité à la multiplication 50 × 2 sur la soustraction précédant les crochets)
A = 100 − [ 3 + 32 − 1 ] (priorité à la multiplication au 4 × 8 sein des crochets)
A = 100 − 34 (priorité à la somme 3 + 32 − 1 entre crochets)
A = 66 (différence finale)
Une calculatrice scientifique prend en compte cet ordre des opérations mais effectuera les additions et soustractions mêlées ainsi que les produits et divisions mêlées dans l'ordre d'apparition des opérandes.
Cas particuliers
Exponentiation et négation
Diverses conventions régissent l'opérateur de soustraction unaire. En mathématiques écrites ou imprimées, l'expression −32 est interprétée comme 0 − (32) = − 9.
Certaines applications et langages de programmation, notamment Microsoft Excel (mais aussi d'autres tableurs comme LibreOffice) et le langage de programmation bc, les opérateurs unaires ont une priorité plus grande que les opérateurs binaires. Ainsi le moins unaire est prioritaire sur l'exponentiation et donc, dans ces langages −32 est interprété comme (−3)2 = 9[2]. Cela ne s'applique pas à l'opérateur binaire −. Par exemple, alors que les formules =-2^2 et =0+-2^2 renvoient 4 sous Microsoft Excel, la formule =0-2^2 renvoie −4. Dans les cas où il est possible que la notation soit mal interprétée, une opération binaire peut être renforcée en spécifiant explicitement le 0 précédent (comme dans 0-2^2 plutôt que juste -2^2), ou en ajoutant des parenthèses pour clarifier le sens attendu.
Mélange d'additions et soustractions sans parenthèse
Il est fréquent de voir, dans les manuels, le conseil d'effectuer les calculs dans l'ordre de la gauche vers la droite[3],[4]. Mais ce conseil ne peut pas avoir valeur de règle nécessaire puisque d'autres ordres de calculs sont possibles[5]. En particulier, le calcul d'une succession d'additions peut s'effectuer dans l'ordre de son choix en associant les termes au gré de la fantaisie de chacun et souvent dans l'objectif de simplifier les calculs.
Ainsi, la somme 112 + 95 + 8 + 5 a tout intérêt à s'effectuer par regroupements des termes 112 + 8 = 120 et 95 + 5 = 100 plutôt que de la gauche vers la droite.
Il en est de même pour une succession d'additions et de soustractions dès lors que la soustraction est transformée en addition de l'opposé.
Ainsi, l'expression 112 − 95 + 8 − 5 + 100 peut être lue comme 112 + opp(95) + 8 + opp(5) +100 et s'effectuer par regroupement des termes opp(95) + opp(5) = opp(100), puis opp(100) + 100 = 0 puis 112 + 8 =120.
L'intérêt de la règle de gauche à droite est sa simplicité et le fait qu'elle évite les associations fautives comme le serait, dans l'exemple précédent, l'association 95 + 8.
Mélange de divisions et de multiplications
Une règle parfois utilisée mais également très critiquée[6] propose, dans un mélange de multiplications et divisions, de calculer de la gauche vers la droite. Ainsi 80÷4×2 se lira (80÷4) × 2. Cette règle est compatible avec la commutativité de la multiplication, et cohérente avec la technique consistant à remplacer la division par la multiplication inverse et réécrire ce calcul 80 × 0,25 × 2.
Mais l'usage des mathématiciens concernant l'enchaînement des multiplications et des divisions hésite. Ainsi, en 1928, l'historien des mathématiques Florian Cajori indique dans son ouvrage Une histoire des notations mathématiques« Si un terme arithmétique ou algébrique contient ÷ et ×, il n'y a actuellement aucun accord sur le signe à utiliser en premier. Par exemple, si dans 24÷4×2 les signes sont utilisés tels qu'ils apparaissent dans l'ordre de gauche à droite, la réponse est 12 ; si le signe × est utilisé en premier, la réponse est 3 »[7],[8].
Une ambiguïté semble survenir dans l'utilisation de la barre oblique « / » au sein d'expressions comme 3/2x[9] qu'on lira couramment 3/(2x). Il semble alors que la multiplication notée par la juxtaposition, aussi nommée multiplication implicite est interprétée comme ayant une priorité supérieure à la division, et donc 3/2x, pouvant être vu comme 3 ÷ 2x, devient égal alors à 3 ÷ (2x), et non à (3 ÷ 2)x qui serait le cas si on appliquait la convention « de la gauche vers la droite ».
Mais, selon le standard international ISO 80000-2 édité en qui retranscrit les usages consensuels en mathématique, l'usage de ÷, nommé obélus, est tombé en désuétude et est remplacé par la fraction notée avec une barre oblique ou une barre horizontale, ce qui rend de fait la multiplication forcément implicite donc prioritaire et la règle de sens de lecture sans intérêt[10].
Il s'agit en fait d'une erreur d'interprétation. Ces nombres comme 2x ou encore 3√5. sont des nombres qui s'expriment sous forme de multiplication mais où la multiplication, qui fait partie intégrante du nombre, ne fait alors pas partie du calcul[réf. nécessaire].
Ainsi cette opération 3/2x est en fait une simple division unique du nombre « 3 » par le nombre « 2x » et en aucun cas cette façon de voir, largement utilisée dans la communauté scientifique, ne peut servir de référence ou de modèle dans le calcul de 3/2(1+2) où ici 2(1+2), qui devrait s'écrire en réalité 2×(1+2), est bel et bien un calcul à effectuer et ne peut pas s'assimiler au nombre « 2x »[réf. nécessaire].
Bien entendu celui qui veut écrire (3/2)x se tournera naturellement vers l'écriture 3x/2[réf. nécessaire].
Exponentiations successives
Si l'exponentiation est indiquée par un empilement de symboles en exposant, la règle usuelle est d'aller du haut vers le bas[11] :
abc = a(bc)
ce qui typiquement n'est pas égal à (ab)c.
Toutefois, quand l'opérateur est noté par un caret (^) ou une flèche (↑), il n'y a pas de convention universelle[12]. Par exemple, Microsoft Excel et le langage de programmation MATLAB évaluent a^b^c comme (ab)c, mais Google (moteur de recherche) et WolframAlpha comme a(bc). Ainsi 4^3^2 est évalué à 4096 dans le premier cas et à 262144 dans le second.
Divisions successives
Une ambiguïté similaire se produit dans le cas de divisions successives. Par exemple, l'expression 10 ÷ 5 ÷ 2 peut être interprétée comme
10 ÷ ( 5 ÷ 2 ) = 4
ou comme
( 10 ÷ 5 ) ÷ 2 = 1
Dans ce cas, la convention « opérations de gauche à droite » qui est la référence arithmétique résout l’ambiguïté en faveur de cette dernière expression. De même l'habitude mathématique de combiner les facteurs et de représenter la division comme une multiplication par l'inverse supprime aussi cette ambiguïté.
Arbre arithmétique
Arbre arithmétique de l'expression 50 × 2 − [ 3 + 4 × (11 − 6 + 3) − 1 ] et étapes de calcul de l'expression
Un arbre d'expression arithmétique est un arbre dont les feuilles sont des nombres et dont les nœuds contiennent une opération arithmétique (somme, différence, produit, quotient, exponentiation,...)[13]. Toute expression arithmétique bien formée peut se résumer en un arbre arithmétique. Au sommet de l'arbre se trouve le dernier calcul à effectuer, les noeuds de niveau inférieur sont les avant-derniers calculs à effectuer, ainsi de suite jusqu'à arriver aux feuilles. Il s'agit donc de lire les priorités à l'envers.
Ainsi, dans l'exemple précédent : 50 × 2 − [ 3 + 4 × (11 − 6 + 3) − 1 ], le dernier calcul à effectuer est une soustraction entre 50 × 2 et 3 + 4 × (11 − 6 + 3) − 1. L'arbre de l'expression est alors la concaténation de l'arbre de 50 × 2 et de l'arbre de 3 + 4 × (11 − 6 + 3) − 1. L'arbre se construit de propre en proche. Le calcul s'effectue ensuite en partant des feuilles et en remontant jusqu'à la racine.
La représentation en arbre peut favoriser une vision structurelle d'une expression algébrique[14] et mettre en évidence les priorités opératoires.
De l'écriture avec parenthèses à l'écriture sans parenthèse
En mathématiques, les opérations de base, addition, soustraction, multiplication, division, exponentiation sont binaires, c'est-à-dire, qu'à deux éléments, on associe un troisième appelé résultat de l'opération. Dans une expression complexe, il est normalement nécessaire de retrouver ces associations par paires. Les parenthèses permettent de déterminer avec précision les paires concernées lorsque la priorité des opérations n'est pas appliquée. Ainsi une écriture sous la forme ne permet pas d'identifier les paires concernées et peut être l'écriture incomplète de
avec et
Les parenthèses définissent un ordre de calcul consistant à calculer d'abord les parenthèses les plus intérieures.
Mais l'expression incomplète pourrait tout autant être celle de :
(si on prenait comme convention l'ordre de lecture)
ou autres…
Entre la présence complète de toutes les parenthèses et l'écriture ambiguë sans aucune parenthèse, il a fallu définir certaines règles.
Associativité
Les premières sont héritées des propriétés d'associativité des lois utilisées. C'est le cas de l'addition et de la multiplication.
Ainsi les calculs de
et
donnant le même résultat, on autorise la suppression des parenthèses, le calcul
pouvant s'effectuer dans l'ordre de son choix. Il en est de même de l'écriture a + b + c qui s'effectue dans l'ordre de son choix.
Il n'en est pas de même pour des mélanges d'additions et de soustractions. Ainsi les calculs de
(a − b) + c
et de
a − (b + c)
ne donnent pas le même résultat. La convention, là, est de voir dans une soustraction l'addition de l'opposé. Une écriture comme a − b + c est alors une abréviation autorisée de a + (−b) + c.
Une telle convention n'est pas aussi explicite pour des mélanges de divisions et de multiplications. Les calculs de
(a:b).c
et de
a:(b.c)
ne donnent pas le même résultat. L'expression a:b.c est parfois interprétée comme (a:b).c mais cette interprétation est loin d'être universelle. Ainsi certaines calculatrices[15] continuent à effectuer le calcul de
1:2a comme 1:(2a)
et celui de
1:2×a comme (1:2)×a
L'écriture sous forme fractionnaire, présentant un délimitant fractionnaire, évite toute ambiguïté de ce genre et limite l'usage de la parenthèse :
(a:b).c s'écrit alors ,
et l'écriture a:(bc),
Le cas de la puissance, à cause de sa disposition spatiale, pose un problème légèrement différent : le calcul de (a^b)^c n'a pas même valeur que a^(b^c). La présence d'un délimitant spatial permet en partie de lever l'ambiguïté : l'expression
est une traduction sans parenthèses de la seconde expression. La première expression, elle, nécessite la présence des parenthèses ou bien un début de calcul
Niveau opératoire
Il existe ensuite des niveaux opératoires qui précisent, en cas d'absence de parenthèses, les calculs à effectuer en premier : il s'agit de calculer d'abord les puissances, ensuite les produits et quotients et enfin les additions et les soustractions. Les parenthèses pouvant être remplacées par des indications de positions comme pour les fractions ou les exposants, ou des barres comme pour les racines.
Ainsi par convention l'écriture de départ,
a + b.c − d + e
ne présente plus aucune ambiguïté avec ces nouvelles conventions et ne peut valoir que le résultat de la somme suivante :
a + (b.c) + (−d) + e
et une expression comme
ne peut se lire que sous la somme suivante
Lorsque le calcul à effectuer ne respecte pas cet ordre d'exécution, les parenthèses sont alors là pour indiquer les priorités non conventionnelles. Ainsi, l'expression
a+b.c+d
étant interprétée comme
a + (bc) + d,
le produit de deux sommes doit comporter les parenthèses
(a + b).(c + d)
Mise en place historique des priorités
Les premières écritures des formules mathématiques furent rhétoriques, c'est-à-dire sous forme de phrase. Le modèle de référence est le texte mathématique euclidien[16], celui mis en place dans les éléments d'Euclide en 300 av. J.-C. Dans celui-ci, l'ordre des opérations est explicite. Il n'y a pas confusion possible entre les deux phrases suivantes :
ajoute à la première quantité, le produit de la seconde par la troisième ;
ajoute les deux premières quantités puis multiplie le résultat par la troisième.
ni aucune ambiguïté dans la phrase
Prends la racine carrée de la somme des deux termes.
Mais, lors de la mise en place du calcul symbolique à la fin du XVIe siècle et tout au long du XVIIe siècle, se pose alors le problème de l'écriture d'expressions mathématiques complexes. Les deux textes précédents pouvant se traduire l'une et l'autre par la même notation symbolique
a + bc
et le troisième texte s'écrivant comme
√a+b
pouvait aussi se traduire par « prends la racine carrée de a et ajoute-lui b ».
La recherche s'est donc portée sur l'étude des délimitants. Ceux-ci avaient pour but de préciser quelles étaient les opérations principales et secondaires et comment devaient se regrouper les termes. Ces délimitants furent de plusieurs types. Les principaux sont
le vinculum : une barre horizontale placée sous ou au-dessus de l'expression à regrouper. Cette syntaxe permet de distinguer les deux sens
et
de l'expression précédente. On trouve trace de ce vinculum dans la barre de la racine carrée puisque le troisième texte se traduit encore de nos jours par
le point
la parenthèse
Ainsi une expression qui se lit de nos jours
(a + b).c,
s'écrivait
a + b..c
et l'on trouve chez Descartes[17] des expressions comme
√.3+√2.
signifiant actuellement
Ces délimitants ou signes d'agrégation furent particulièrement étudiés par Leibniz qui les appelle des signes de comprehensio.
D'autres moyens d'agréger plusieurs contenus consistaient à les positionner sur des lignes différentes. On retrouve notamment cette habitude dans l'écriture spatiale des fractions où le positionnement par rapport à la ligne d'écriture sert de délimiteur confirmé par la barre de fraction, sorte de vinculum. Ainsi l'expression que Descartes écrit sous la forme
sera traduite par Leibniz[18], favorable à l'écriture linéaire,
((a + (b : c)):(e + (f : g))
On peut à ce sujet signaler l'importance de la position spatiale pour la lecture des priorités dans une expression comme
qui doit être lue
alors que
doit être lue
Descartes utilise grandement la notation spatiale pour regrouper par exemple les termes à l'intérieur d'un produit, ainsi on peut lire chez lui des expressions[19] comme
,
Le cas particulier de l'exponentiation doit être évoqué pour son rôle positionnel non symétrique : dans une écriture comme
3ab+2,
la position de b+2 sur la ligne de l'exponentiation vaut comme signe d'agrégation et l'expression ne peut pas être confondue avec
3ab+2.
En revanche, le fait que 3 et a soient tous les deux placés sur la ligne de calcul ne permet pas pour autant de les agréger et, de manière implicite, dès les premières exponentiations, chez Descartes, seul le premier terme à gauche de la puissance est concerné[20].
En toute théorie, toute expression mathématique complexe devrait contenir autant de délimitants que nécessaire pour lever toute ambiguïté. Ainsi une écriture comme
3a2b+5
devrait s'écrire
écriture qui, certes, ne présente aucune autre interprétation, mais ne brille pas par la clarté de sa lecture.
La suppression de certains délimitants, comme dans l'exemple de l'exponentiation évoqué précédemment, apparaît naturellement chez les premiers auteurs comme Descartes ou Leibniz. Ainsi dans la résolution de l'équation du second degré que Descartes écrit[21]
sans que soient jamais indiquées les règles de priorité qui régissent ce type de calcul.
Il faut probablement voir dans cette absence de délimitant une interprétation quant à la nature des objets manipulés. Cette interprétation en termes d'unité se retrouve déjà dans des textes rhétoriques. Quand les traducteurs d'Euclide[22] écrivent, concernant le partage entre moyenne et extrême raison
« Si une ligne est coupée entre raison extrême et moyenne, le carré du plus grand segment ajouté à la moitié du tout est égal à cinq fois le carré de la moitié »
— Les éléments, Livre XIII, proposition 1.
il n'y a pour eux aucune ambiguïté. Le mathématicien moderne, cherchant à écrire sous forme algébrique une telle expression et appelant x le plus grand segment et L la ligne se trouverait devant deux interprétations pour ce texte :
le carré du plus grand segment (x2) ajouté à la moitié du tout (L/2) est égal à cinq fois le carré de la moitié (5(L/2)2) ;
Le carré du « plus grand segment ajouté à la moitié du tout » ((x+L/2)2) est égal à cinq fois le carré de la moitié (5(L/2)2).
Pour Euclide et ses lecteurs, en revanche, il n'existe aucune ambiguïté, la première interprétation n'ayant aucun sens à leurs yeux. Le carré du plus grand segment étant une aire, et la moitié du tout étant une longueur, il n'y a aucun sens à ajouter une aire et une longueur et seule la seconde interprétation est correcte[23].
De même, quand Descartes écrit
,
le membre de gauche reste pour lui une aire et tout autre agrégation du second membre que celle couramment admise, ne pourrait conduire à une aire. Enfin le 1/2 devant a est davantage vu comme une fraction qu'une multiplication, on prend la moitié de a. De même, il n'y a pas moyen d'agréger différemment
sans que l'expression perde sa qualité d'aire.
Descartes donc, et ses successeurs, ont établi de manière implicite les règles de priorité opératoire qui sont utilisées actuellement. L'usage des parenthèses n'intervenant que pour déroger à ces priorités ou lever une ambiguïté sur le contenu.
La convention qui aurait privilégié l'ordre d'écriture, c'est-à-dire qui aurait consisté à effectuer les opérations dans leur ordre d'apparition, de la gauche vers la droite, sauf contrordre signalé par des délimiteurs, aurait chargé inutilement des expressions comme . Elle aurait, de plus, installé un ordre prioritaire (ce qui est à gauche est plus aggloméré que ce qui arrive à droite) qui serait entré en conflit avec les propriétés de commutativité (ce qui est à gauche peut passer à droite)
D'autres priorités ont tenté de voir le jour comme la notation polonaise inversée au début de XXe siècle mais elles n'ont pas résisté à trois siècles de conventions et de publications.
En informatique
En informatique, le concept de priorité des opérations porte en anglais le nom operator precedence.
Il porte aussi sur les opérateurs logiques : ainsi le « et » (logique) est prioritaire sur le « ou » (logique).
Certains langages informatiques comme le langage C ne possèdent que des opérateurs dont la fonction et la priorité sont prédéfinies. D'autres langages comme Haskell et Raku (Perl 6) permettent au programmeur de définir de nouveaux opérateurs dont ils doivent aussi spécifier la priorité.
Bibliographie
Michel Serfati, « Ambiguïté de l'ordre et signes délimitants », dans La Révolution symbolique (ISBN2-84743-006-7).
[GPC 2014] « Quelques réflexions sur les priorités opératoires », dans Annie Bourdil, Miquela Catlla, Florence Larue, Françoise Savioz, Bertrand Toquec, Bernard Vidal et Yves Chassin (responsable), Groupe premier cycle - Éléments 2, IREM de Toulouse, (lire en ligne), p. 5-27.
Notes et références
↑Cette règle n'est parfois pas nécessaire (voir GPC 2014, p. 10) et est même parfois fortement critiquée (voir Christian Aebi, « Une nouvelle convention de calcul? », sur Image des mathématiques. CNRS, (consulté le )).
↑Citation originale : « If an arithmetical or algebraical term contains ÷ and x, there is at present no agreement as to which sign shall be used first. For instance, if in 24 ÷ 4 x 2 the signs are used as they occur in the order from left to right, the answer is 12; if the sign x is used first, the answer is 3. »
↑(en) Florian Cajori, A History of Mathematical Notations, vol. I, La Salle, Illinois, The Open Court, , 476 p. (lire en ligne)
↑Hamid Chaachoua, Jana Trgalova, Christophe Vuidez et Jean-François Nicaud, « Une nouvelle représentation en arbre des expressions algébriques dans le micromonde d'algèbre Aplusix. », Petit x, no 84, , p. 27-45 (lire en ligne), p.29
↑Michel Serfati, La révolution symbolique : La constitution de l'écriture mathématique [détail des éditions], p. 24.
↑Dans Excerpta mathematica, ouvrage non daté mais antérieur à sa Géométrie (cf Michel Serfati, La révolution symbolique : La constitution de l'écriture mathématique [détail des éditions], p. 89).
↑Lettre à Jean Bernoulli, 1696, in Mathematische Schriften, vol 2.
↑François Peyrard, Les œuvres d'Euclide, ou Thomas Heath, The thirteen Books of the Elements . Le traducteur D. Henrion, présente, quant à lui, une traduction moins ambiguë.
↑La seconde interprétation donne pour la valeur x : x = (√5 − 1)/2.