演算順序

数学コンピュータプログラミング において、演算順序とは、与えられた数式を評価するためにどの算術演算を最初に実行するかに関する規則の集合です。

これらの規則は、演算の順位付けによって形式化されます。演算の順位は優先順位と呼ばれ、優先順位の高い演算は優先順位の低い演算よりも先に実行されます。計算機は一般的に、同じ優先順位の演算を左から右へ実行しますが、[ 1 ]一部のプログラミング言語や計算機では異なる規則が採用されています。

たとえば、乗算は加算よりも優先順位が高く、これは現代の代数記法が導入されて以来変わっていません。[ 2 ] [ 3 ]したがって、式1 + 2 × 3では、乗算が加算の前に実行され、式の値は1 + (2 × 3) = 7となり、(1 + 2) × 3 = 9にはなりません。 16 世紀と 17 世紀に指数が導入されたとき、指数は加算と乗算の両方よりも優先され、底の右側に上付き文字として配置されました。[ 2 ]したがって、 3 + 5 2 = 28および3 × 5 2 = 75 となります

これらの規則は、表記の曖昧さを避けつつ、表記を簡潔にするために存在します。[ 4 ]優先順位の規則を無視したり、単に強調したりしたい場合は、括弧( ) を使用できます。たとえば、(2 + 3) × 4 = 20は加算を乗算の前に行うように強制し、(3 + 5) 2 = 64は加算をべき乗の前に行うように強制します。数式で括弧のペアを複数回使用する必要がある場合 (括弧が入れ子になっている場合など)、混乱を避けるために括弧を他の種類の角括弧に置き換えることができます(例: [2 × (3 + 4)] − 5 = 9 )

これらの規則は、通常の記法(中置記法と呼ばれる)が使用される場合にのみ意味を持ちます。すべての演算に関数記法またはポーランド記法が使用される場合、演算の順序は記法自体によって決まります。

慣習的な順序

演算順序、つまり式中の演算が通常実行される順序は、数学、科学、技術、そして多くのコンピュータプログラミング言語で採用されている慣習に由来する。それは次のように要約される。[ 2 ] [ 5 ]

  1. 括弧
  2. 累乗
  3. 掛け算割り算
  4. 足し算引き算

つまり、式を評価するには、まず括弧内の部分式を評価します。括弧内に複数の部分式がある場合は、内側から外側へと評価していきます。括弧内かどうかにかかわらず、上記のリストの中で優先順位の高い演算が最初に適用されます。同じ優先順位の演算は、慣例的に左から右へと評価されます。

各除算を逆数の乗算(逆数)に置き換えると、乗法の結合法則と交換法則により、各項の因数を任意の順序で乗算できます。乗算と除算は同等の優先順位が与えられる場合もあれば、乗算が除算よりも高い優先順位が与えられる場合もあります。詳しくは、後述の「混合除算と乗算」を参照してください。各減算を逆数の加算(加法逆数)に置き換えると、加法の結合法則と交換法則により、各項を任意の順序で加算できます。

平方根を表す根号記号⁠は{\displaystyle \surd}、伝統的に被除数の上にバー(vinculum )を追加することで拡張されます。これにより、被除数を括弧で囲む必要がなくなります。他の関数では、曖昧さを避けるために入力を括弧で囲みます。 [ 6 ] [ 7 ] [ a ]入力が単一の数値変数または定数の場合は括弧を省略できます。[ 2 ] sin x = sin( x )sin π = sin( π )の場合がそうです。[ a ] 伝統的にこの規則は単項式にも適用されます。つまり、sin 3 x = sin(3 x )sin 1/2xy = sin( 1/2xy )ですが、 sin x + y = sin( x ) + yとなります。なぜなら、 x + yは単項式ではないからです。しかし、この慣習は普遍的に理解されているわけではなく、明示的に括弧を使うことを好む著者もいます。 [ b ]計算機やプログラミング言語によっては、関数の入力を括弧で囲む必要がありますが、そうでないものもあります。

括弧や代替グループ化記号は、通常の演算順序を変更したり、意図した順序を明示的に指定したりするために使用できます。グループ化された記号は、単一の式として扱うことができます。[ 2 ]

加算の前に乗算する:

1+2×31+67.{\displaystyle 1+2\times 3=1+6=7.}

括弧内の部分式が最初に評価されます。

1+2×33×39.{\displaystyle (1+2)\times 3=3\times 3=9.}

乗算の前に累乗、減算の前に乗算:

12×3412×811162161.{\displaystyle 1-2\times 3^{4}=1-2\times 81=1-162=-161.}

式が上付き文字として記述されている場合、上付き文字は基数の上の位置によってグループ化されているとみなされます。

1+23+41+271+128129.{\displaystyle 1+2^{3+4}=1+2^{7}=1+128=129.}

ルート シンボルのオペランドはオーバーバーによって決定されます。

1+3+54+52+57.{\displaystyle {\sqrt {1+3}}+5={\sqrt {4}}+5=2+5=7.}

水平の分数線は、上側の部分式を下側の部分式で分割した、グループ化された 2 つの部分式を形成します。

1+23+4+5=37+5.{\displaystyle {\frac {1+2}{3+4}}+5={\frac {3}{7}}+5.}

括弧は入れ子にすることができ、内側から外側に向かって評価されます。読みやすさを考慮して、外側の括弧は内側の括弧よりも大きくすることができます。また、中括弧{ } や角括弧[ ]などの他のグループ化記号を括弧( )と一緒に使用することもあります。例:

[(1+2)÷(3+4)]+5=(3÷7)+5{\displaystyle {\bigl [}(1+2)\div (3+4){\bigr ]}+5=(3\div 7)+5}

特殊なケース

単項マイナス記号

単項演算 「−」 (通常は「マイナス」と発音)については様々な慣習があります。数式や印刷物では、−3 2という表現は−(3 2 ) = −9と解釈されます。[ 2 ] [ 8 ]

一部のアプリケーションやプログラミング言語、特にMicrosoft ExcelPlanMaker (およびその他のスプレッドシートアプリケーション)、プログラミング言語 bcでは、単項演算が二項演算よりも優先されます。つまり、単項マイナスは累乗よりも優先されるため、これらの言語では −3 2は(−3) 2 = 9と解釈されます。[ 9 ]これは二項マイナス演算 '−'には適用されません。たとえば、Microsoft Excel では、数式=-2^2=(-2)^2=0+-2^24 を返しますが、数式=0-2^2、 は=-(2^2)−4 を返します。

混合除算と混合乗算

'÷'で表される除算と'×'で表される乗算の両方を含む式を解釈するための普遍的な慣例はありません。提案されている慣例には、演算に等しい優先順位を割り当て、左から右へ評価する、または除算を逆数による乗算と同等に扱い、任意の順序で評価する、[ 10 ]すべての乗算を最初に評価し、その後に左から右へ除算を評価する、またはそのような表現を避け、代わりに常に明示的な括弧で囲むことで曖昧さを解消する、などがあります。[ 11 ]

初等教育以外では、割り算の記号「÷」はほとんど使われず、代数分数に置き換えられます。[ 12 ]最も明確かつ明確に分数を書くには、分子を分母の上に重ね、分数線で区切って「縦書き」します。しかし、分子と分母をスラッシュ記号「/」で区切って「横書き」することもできます。[ 13 ]つまり、a ÷ bのような表現は避け、代わりに1つの/bまたはa / b

並置によって表される乗算(暗黙の乗算とも呼ばれる)は視覚的な単位を作成し、多くの場合、他のほとんどの演算よりも優先順位が高く設定されます。学術文献では、明示的な括弧なしでインライン分数が暗黙の乗算と組み合わされている場合、乗算は通常、除算よりも優先順位が高いと解釈され、たとえば、 1 / 2 nは、 (1 / 2) · nではなく1 / (2 · n )を意味すると解釈されます。[ 2 ] [ 10 ] [ 14 ] [ 15 ]たとえば、Physical Review誌の原稿投稿規定では、乗算が除算よりも優先されると明記されており[ 16 ]また、これはLandauLifshitzによるCourse of Theoretical Physics [ c ]などの物理学の教科書やGrahamKnuthPatashnikによるConcrete Mathematicsなどの数学の教科書でも遵守されている慣例です。[ 17 ]しかし、一部の著者はa / bcのような表現を推奨せず、括弧a / ( bc )を明示的に使用することを推奨しています。[ 3 ]

より複雑なケースでは、より曖昧になります。例えば、1 / 2 π ( a + b )という表記は、 1 / [2 π · ( a + b )]または[1 / (2 π )] · ( a + b )のいずれかを意味する可能性があります 。[ 18 ]文脈によっては解釈が異なる場合があります。Physical Reviewの投稿規定では、 a / b / cという形式の表現は推奨されていません。より明確な表現( a / b ) / cまたはa / ( b / c )の方が曖昧さがありません。[ 16 ]

6÷2(1+2) は、 fx-82MS (上)では 6÷(2×(1+2)) と解釈され、 TI-83 Plus電卓 (下)では (6÷2)×(1+2) と解釈されます。

この曖昧さはインターネットミームの題材となっており、 「8÷2(2+2)」には2つの矛盾する解釈がある。8÷[2·(2+2)]=1と(8÷2)·(2+2)=16である。[ 15 ] [ 19 ]数学教育研究者のHung-Hsi Wuは「現実の生活でこのような計算をすることは決してない」と指摘し、このような不自然な例を「不合理に複雑なルールを使って何も知らない人を罠にかけるように設計された一種のGotcha!社交ゲーム」と呼んでいる。[ 12 ]

連続累乗

指数表記が上付き文字で積み重ねられた記号で示される場合、通常は上から下に進むのがルールである: [ 2 ] [ 7 ]

a b c = a ( b c )

これは通常、( a b ) cと等しくありません。この規則は、指数法には( a b ) c = a bcという性質があるため、連続指数法を用いる必要がないため便利です。

しかし、指数がキャレット(^)や矢印(↑)などの明示的な記号で表される場合、共通の標準はありません。例えば、Microsoft Excelや計算プログラミング言語MATLABでは( a b ) cと評価されますが、Google SearchWolfram Alphaではa ( b c )と評価されます。したがって、前者の場合は4,096、後者の場合は262,144と評価されます。 a^b^c4^3^2

記憶術

小学校では、生徒が演算の順序を覚えられるように、記憶のための頭字語がよく教えられています。[ 20 ] [ 21 ] PEMDASという頭字は、指数乗算/除算加算/減算頭文字をとっており、[ 22 ]米国[ 23 ]やフランスでよく使われています。[ 24 ]これらの文字は、「Please Excuse My Dear Aunt Sally」のように、記憶術の文章の単語に展開されることもあります。[ 25 ]英国やその他の英連邦諸国では、分数、乗算、除算/乗算、加算/減算を表す BODMAS (または BOMDAS の場合もあります) が使わおり of 分数乗算意味ます。[ 26 ] [ 27 ] Oは指数や根号を意味するOrderと展開されることもある[ 27 ] [ 28 ]また BIDMASという代替記憶法では、Iが指標として使われることもある。[ 27 ] [ 29 ]カナダとニュージーランドではBEDMASが一般的である。[ 30 ]

これらの記憶法は、このように書くと誤解を招く可能性がある。[ 25 ]例えば、上記の規則のいずれかを「最初に加算、その後に減算」と誤って解釈すると、式[ 25 ] は と誤って評価されるが、正しい評価は である。 の場合、これらの値は異なる。 ab+c{\displaystyle a-b+c}a(b+c){\displaystyle a-(b+c)}(ab)+c{\displaystyle (a-b)+c}c0{\displaystyle c\neq 0}

ドイツでは、この慣習は単に「点演算を線演算の前に行う」という形で教えられています。これは、教えられる演算子記号U+00B7中点(乗算)、U+2236∶除算)、U+002B正符号(加算)、U+2212−符号(減算)の図形的な形状を指しています。これにより、上記の誤解が生じる可能性が回避されます。

記憶術の頭字語は、演算順序の概念的理解を養うことができず、その目的や柔軟性に関する生徒の質問に答えていないとして批判されてきた。[ 31 ] [ 32 ]記憶術の頭字語で演算順序を学習する生徒は日常的に間違いを犯し、[ 33 ]教員養成課程の生徒も間違いを犯しやすい。[ 34 ]生徒が頭字語を正しく学習したとしても、雑学の暗記に過度に重点を置くと、実質的な数学的内容が疎外される。[ 12 ]頭字語の手順的な適用は、専門家の数学的記法に対する直観的な理解と一致しない。数学的記法は括弧や角括弧以外の方法でグループ化を示し、数式は線形に「順序付けられた」構造ではなく、ツリー状の階層である。さらに、数式を簡略化したり評価したりする順序は一つではなく、特定の式に対する普遍的な標準的な簡略化も存在しない。専門家は都合の良い順序で有効な変換や置換を流暢に適用するため、厳格な手順を学ぶと、学生は数学表記法について誤解を招き、限定的な理解に陥る可能性がある。[ 35 ]

電卓

計算機によって演算順序は異なります。[ 2 ]スタックを持たない多くの単純な計算機は、ボタン操作の優先順位付けをせずに連鎖入力を実装しており、より高度な計算機とは異なる結果を返します。例えば、単純な計算機では1 + 2 × 3 =9と入力すると計算結果が返されますが、より高度な計算機ではより標準的な優先順位が使用されるため、1 + 2 × 3 =7と入力すると計算結果が返されます。

電卓は指数を左辺または右辺に関連付ける場合があります。例えば、TI-92およびTI-30XS MultiViewの「Mathprintモード」では、式はa ( bc )と解釈されますが、TI-30XIIおよびTI-30XS MultiViewクラシックモードでは( ab ) c解釈されます。a^b^c

のような式は TI-82 [ 3 ]や多くの最近のカシオ計算機[ 36 ]fx-9750GIIIなど一部の機種では設定可能)では 1/(2 x )と解釈されますが、TI-83や1996年以降に発売された他のすべてのTI計算機[ 37 ] [ 3 ] および代数表記法を採用したすべてのヒューレット・パッカード計算機では (1/2) xと解釈されます。暗黙の乗算の性質上、一部のユーザーは最初の解釈を期待するかもしれませんが、[ 38 ]後者の方が、乗算と除算は同等の優先順位を持つという規則に沿っています。[ 3 ]1/2x

ユーザーが計算機が式をどのように解釈するかわからない場合は、括弧を使用して曖昧さを排除することができます。[ 3 ]

演算順序は、標準的な数学表記法中置記法を採用したことにより生じた。中置記法は、そのような規則がないと表記が曖昧になる可能性があるのに対し、後置記法前置記法では演算順序が必要ない。[ 39 ] [ 40 ]したがって、逆ポーランド記法(RPN)を採用した計算機では、スタックを使用して式を正しい優先順位で入力するため、括弧やモデル固有の実行順序は不要である。[ 25 ] [ 22 ]

プログラミング言語

ほとんどのプログラミング言語は、数学で一般的に使用される順序に準拠した優先順位を使用しますが、[ 41 ] APLSmalltalkOccamMaryなどの他の言語では演算子の優先順位ルールがありません(APLでは、評価は厳密に右から左ですが、Smalltalkでは、評価は厳密に左から右です)。

さらに、多くの演算子は結合法則に従わないため、単一レベル内の順序は通常、左から右へのグループ化によって定義され、16/(4/4) = 16ではなく(16/4)/4 = 116/4/4と解釈されます。このような演算子は「左結合法」と呼ばれます。例外もあります。例えば、リストのcons演算に対応する演算子を持つ言語では、通常、右から左へのグループ化(「右結合法」)が行われます。例えば、Haskell などです。1:2:3:4:[] == 1:(2:(3:(4:[]))) == [1,2,3,4]

C言語の作者であるデニス・リッチーは、C言語における優先順位(C++PerlPHPなど、C言語からその規則を借用したプログラミング言語にも共通)について、ビット演算子を比較演算子よりも上に移動した方が望ましいと述べています。[ 42 ]多くのプログラマーはこの順序に慣れていますが、 Python [ 43 ]Ruby [ 44 ]などの最近の人気言語では、この順序が逆になっています。多くのC言語で見られる演算子の相対的な優先順位は次のとおりです。

1()   []   ->   .   ::関数呼び出し、スコープ、配列/メンバーアクセス
2!   ~   -   +   *   &   sizeof   型キャスト   ++   --  (ほとんどの)単項演算子、sizeof型キャスト(右から左)
3*   /   %MOD乗算、除算、剰余
4+   -足し算と引き算
5<<   >>ビット単位の左シフトと右シフト
6<   <=   >   >=比較:より小さい、より大きい
7==   !=比較:等しいと等しくない
8&ビットAND
9^ビット排他的論理和(XOR)
10|ビット単位の包含(通常)OR
11&&論理積
12||論理和
13?:条件式(三項)
14=   +=   -=   *=   /=   %=   &=   |=   ^=   <<=   >>=代入演算子(右から左)
15,カンマ演算子
プログラミング言語における算術式の簡略化された形式文法(左)[ 45 ]、および例の式の導出(a+b)^2/2(右)。後者は、与えられた式に固有の階層構造(「構文木」)に対応する。コンパイラは、この木から、最下層の階層で発生した演算が最初に実行されるように機械語を生成する。

例:

  • !A + !Bは次のように解釈される(!A) + (!B)
  • ++A + !Bは次のように解釈される(++A) + (!B)
  • A + B * Cは次のように解釈されるA + (B * C)
  • A || B && Cは次のように解釈されるA || (B && C)
  • A && B == Cは次のように解釈されるA && (B == C)
  • A & B == Cは次のように解釈されるA & (B == C)

( PythonRubyPARI/GPなどの一般的な言語では、A & B == Cは と解釈されます(A & B) == C。)

複数の言語にコンパイルするソース・ツー・ソースコンパイラは、言語間で演算順序が異なるという問題を明示的に処理する必要があります。例えばHaxeは、演算順序を標準化し、適切な場所に括弧を挿入することでそれを強制します。

ソフトウェア開発者の二項演算子の優先順位に関する知識の正確さは、ソースコード内での二項演算子の出現頻度に密接に関係していることがわかっています。[ 46 ]

歴史

演算順序は何世紀にもわたって徐々に形成されてきました。乗算が加算よりも優先されるという規則は、分配法則が自然な階層構造を示唆しているため、1600年代の代数記法の発展に組み込まれました。1920年代という比較的新しい時代にも、数学史家フロリアン・カジョリは、乗算が除算よりも優先されるべきか、あるいは両者を同等に扱うべきかについて意見の相違があったと述べています。「演算順序」という用語と「PEMDAS/BEDMAS」という記憶術は、標準化された教科書の需要が高まった19世紀後半から20世紀初頭にかけてようやく形式化されました。例えば、 a /2 bのような式 a /(2 b ) または ( a /2) ×  bと解釈できる)において、暗黙の乗算が明示的な乗算や除算よりも優先されるかどうかといった曖昧な点は、これらの慣習がまだ完全には安定していないことを示唆しています。[ 47 ] [ 48 ]

参照

注記

  1. ^ a b著者の中には、単一の数値変数または定数引数の場合でも関数の括弧を省略することを意図的に避けている人もいます (例: Atlasの Oldham )。一方、他の著者 ( NISTなど) は、この表記の簡略化を特定の複数文字の関数名 (など) と組み合わせて条件付きでのみ適用しsin、汎用の関数名 (など) では使用しませんf
  2. ^曖昧さを避けるため、この単項式の表記法の簡略化は、オールドハムの『関数の地図』や『 NIST 数学関数ハンドブック』などの著作では意図的に避けられています。
  3. ^例えば、ランダウとリフシッツによる『力学』第3版にはhP z /2 π (p. 22)のような式が、ファインマン講義第1巻には 1/2 √ N (p. 6–7)のような式が含まれています。どちらの本でも、これらの式は固相線を最後に評価するという慣例に従って書かれています。

参考文献

  1. ^ 「計算演算子と優先順位: Excel」 . Microsoft サポート. Microsoft . 2023. 2023年9月17日閲覧
  2. ^ a b c d e f g h iブロンスタイン、イリヤ・ニコラエヴィチ;セメンジャエフ、コンスタンチン・アドルフォヴィッチ(1987) [1945]。 「2.4.1.1. 算術演算の定義」 [算術式の定義]。ギュンターのグローシェにて。ジーグラー、ヴィクトール。ツィーグラー、ドロテア(編)。Taschenbuch der Mathematik [数学の手帳] (ドイツ語)。 Vol. 1. ツィーグラー、ヴィクトール訳(第 23 版)。トゥーン、スイス: Harri Deutschページ 115–120、802。ISBN 3-87144-492-8Regel 7: Ist F ( A ) Teilzeichenreihe eines arithmetischen Ausdrucks oder einer seiner Abkürzungen und F eine Funktionenkonstante und A eine Zahlenvariable oder Zahlenkonstante, so darf F A dafür geschrieben werden. [Darüber hinau ist noch die Abkürzung F n ( A ) für ( F ( A )) n üblich. Dabei kann F sowohl Funktionenkonstante als auch Funktionenvariable sein.]
  3. ^ a b c d e f Peterson, Dave (2019年9月~10月). The Math Doctors (ブログ). 演算順序:「なぜ?」 ; 「なぜこれらの規則があるのか​​?」 ; 「微妙な違い」分数、評価、および簡略化」暗黙の乗算?」 ; 「歴史的注意事項」 . 2024年2月11日閲覧。 Peterson, Dave (2023年8月~9月). The Math Doctors (ブログ). 暗黙の乗算:「思ったほど悪くない」標準はあるか?」 ; 「証明できない」 . 2024年2月11日閲覧。
  4. ^スウォコウスキー、アール・ウィリアム(1978年)『代数学と三角法の基礎』(第4版)ボストン:プリンドル、ウェーバー&シュミット。ISBN 0-87150-252-6. p. 1:代数の言語は[ ...] 長い文や複雑な文を省略したり単純化したりするための速記として使用できます。
  5. ^ Weisstein, Eric Wolfgang . 「Precedence」 . MathWorld . 2020年8月22日閲覧
  6. ^ Oldham, Keith B.; Myland, Jan C.; Spanier, Jerome (2009) [1987]. 『関数アトラス:アトラス関数計算機Equator付き(第2版)』Springer. doi : 10.1007/978-0-387-48807-3 . ISBN 978-0-387-48806-6
  7. ^ a b Olver, Frank WJ; Lozier, Daniel W.; Boisvert, Ronald F.; Clark, Charles W. 編 (2010). NIST 数学関数ハンドブック.米国国立標準技術研究所. ISBN 978-0-521-19225-5. MR  2723248 .
  8. ^エンジェル、アレン R.;ルンデ、デニス C.ギリガン、ローレンス。リチャード・セムラー (2010)。大学生のための初級代数(第 8 版)。プレンティスホール。 Ch. 1、§9、目的 3. ISBN 978-0-321-62093-4
  9. ^ 「数式が予期しない正の値を返す」 Microsoft 2005年8月15日. 2015年4月19日時点のオリジナルよりアーカイブ2012年3月5日閲覧。
  10. ^ a bクリスタル、ジョージ(1904) [1886].代数学. 第1巻 (第5版). 「除算」, 第1章 §§19–26 , pp. 14–20.

    クリスタルの著書は、20世紀初頭の中等学校における代数学に関する英語の典拠であり、おそらくは後の多くの演算順序の記述の源泉となった。しかしながら、クリスタルの著書は当初、「÷」と「×」記号を含む式の評価について厳格な規則を確立した一方で、その後は、インライン分数を書く際に暗黙の乗算を除算よりも優先させるという一貫した方針を示しており、正式な規則と一般的な慣習との食い違いについて明確に議論することはなかった。

  11. ^カジョリ、フロリアン(1928年)。『数学表記法の歴史』第1巻。イリノイ州ラサール:公開裁判所。§242 .「÷と×の両方を含む項の演算順序」、274ページ。
  12. ^ a b c Wu, Hung-Hsi (2007) [2004]. "「演算順序」と学校数学におけるその他の奇妙な点(PDF)。カリフォルニア大学数学科。 2007年7月3日閲覧
  13. ^ ISO 80000規格では、除算記号「÷」は完全に禁止され、代わりにスラッシュ記号が使用される。
    ISO 80000-2:2019、「量と単位 – パート2:数学」国際標準化機構
  14. ^ Lennes, NJ (1917). 「代数学における演算順序に関する考察」 .アメリカ数学月刊誌. 24 (2): 93– 95. doi : 10.2307/2972726 . JSTOR 2972​​726 . 
  15. ^ a bスティーブン・ストロガッツ(2019年8月2日)「インターネットを困惑させようとした数式」ニューヨーク・タイムズ。 2024年2月12日閲覧この記事でストロガッツは中学校で教えられる演算順序について説明しています。しかし、コメントの中で彼は次のように指摘しています。
    複数のコメント投稿者は、私がこの記事で説明した基本的なPEMDAS規則とは異なる(そしてより洗練された)規則を使用しているようです。代数学でよく使用されるこのより洗練された規則では、暗黙的な乗算(並置乗算とも呼ばれます)が、明示的な乗算や明示的な除算(× * / や ÷ などの演算子を明示的に記述する)よりも優先されます。このより洗練された規則では、2(2 + 2) における暗黙的な乗算は、÷ の使用によって暗示される明示的な除算よりも優先されます。これは非常に合理的な規則であり、この洗練された規則を使用する場合、答えは1であることに同意します。
    しかし、この慣習は普遍的ではありません。例えば、GoogleやWolframAlphaに組み込まれている計算機は、この記事で説明したような、それほど洗練されていない慣習を採用しています。つまり、単純な算術式を評価する際に、暗黙的な乗算と明示的な乗算を区別しないのです。[...]」
  16. ^ a b「Physical Review Style and Notation Guide」(PDF) .アメリカ物理学会. 2012. § IV.E.2.e. 2012年8月5日閲覧
  17. ^グラハム, ロナルド・L. ;クヌース, ドナルド・E. ;パタシュニク, オレン(1994). 『具体的な数学』(第2版). マサチューセッツ州アディソン・ウェスレー出版. 「記法に関する注記」, p. xi. ISBN 0-201-55802-5. MR  1397498 . a / bcという形式の式はa /( bc )と同じ意味です。さらに、log x /log y = (log x )/(log y )であり、 2 n ! = 2( n !) です
  18. ^ Fateman, RJ; Caspi, E. (1999). TEX を数学的に解析する(PDF) . 記号・代数計算に関する国際シンポジウム, バンクーバー, 1999年7月28日~31日.
  19. ^ Haelle, Tara (2013年3月12日). 「 Facebookのあの馬鹿げた数学問題の答え?そしてなぜ人々はそれに大騒ぎするのか?」 Slate . 2023年9月17日閲覧
  20. ^ 「算数のルール」(PDF) Mathcentre.ac.uk 20092019年8月2日閲覧
  21. ^ギンズバーグ、デイビッド(2011年1月1日)「Please Excuse My Dear Aunt Sally(PEMDAS)--Forever!」教育週間 - コーチGの指導のヒント. 2023年9月17日閲覧。
  22. ^ a b Vanderbeek, Greg (2007). 「演算順序と逆ニューラルネットワーク(解説論文)」. 教育学修士(MAT)試験解説論文. リンカーン:ネブラスカ大学. 論文46. 2020年6月14日閲覧
  23. ^ Ali Rahman, Ernna Sukinnah; Shahrill, Masitah; Abbas, Nor Arifahwati; Tan, Abby (2017). 「演算順序を考慮した生徒の数学スキルの育成」(PDF) . International Journal of Research in Education and Science . 3 (2): 373– 382. doi : 10.21890/ijres.327896 (2025年7月12日現在非アクティブ). p. 373: PEMDASは、括弧(Parenthesis)、指数(Exponents)、乗算(Multiplication)、除算(Division)、加算(Addition)、減算(Subtraction)を表す演算順序の頭字語またはニーモニックです。この頭字語はアメリカ合衆国で広く使用されています。一方、英国やカナダなどの他の国では、BODMAS (Brackets、Order、Division、Multiplication、Addition、Subtraction) および BIDMAS (Brackets、Indices、Division、Multiplication、Addition、Subtraction) という頭字語が使用されています。{{cite journal}}: CS1 maint: DOI inactive as of July 2025 (link)
  24. ^ "除算の計算: 6÷2(1+2)" . Micmaths (ビデオ) (フランス語)。 2020年11月17日。
  25. ^ a b c dボール、ジョン・A. (1978). RPN計算機のためのアルゴリズム(第1版). ケンブリッジ、マサチューセッツ州: Wiley. p. 31. ISBN 0-471-03070-8
  26. ^デイヴィス、ピーター (1979). 「BODMASの暴露」.学校における数学. 8 (4): 27–28 . JSTOR 30213488 . 
  27. ^ a b c Knight, IS (1997). 「なぜBODMASなのか?」The Mathematical Gazette . 81 (492): 426– 427. doi : 10.2307/3619621 . JSTOR 3619621 . 
  28. ^ 「演算順序」 . Syllabus.bos.nsw.edu.au .オリジナル(DOC)から2021年2月24日にアーカイブ。 2019年8月2日閲覧
  29. ^フォスター、コリン (2008). 「より高い優先順位」 .学校における数学. 37 (3): 17. JSTOR 30216129 . 
  30. ^ Naddor, Josh (2020).演算順序:私の愛するサリーおばさん、彼女のルールは欺瞞的なのでご容赦ください(修士論文)ジョージア大学.
  31. ^エイメイス、ジェリー・A. (2011). 「PEDMASの真実」.中学校における数学教育. 16 (7): 414– 420. doi : 10.5951/MTMS.16.7.0414 . JSTOR 41183631 . 
  32. ^チェン、ユージニア(2023年)『数学は実在するのか?シンプルな疑問が数学の深遠な真実に私たちを導く』ベーシックブックス、  235~ 238頁。ISBN 978-1-541-60182-6
  33. ^ Lee, Jae Ki; Licwinko, Susan; Taylor-Buckner, Nicole (2013). 「演算順序の数学的推論の探求:手続き型要素PEMDASの並べ替え」 . Journal of Mathematics Education at Teachers College . 4 (2): 73– 78. doi : 10.7916/jmetc.v4i2.633 . p. 73: [...] 生徒は、乗算と除算、または加算と減算が隣り合う式で計算ミスを頻繁に起こします。 [...]
  34. ^ Dupree, Kami M. (2016). 「演算順序の疑問」.中学校における数学教育. 22 (3): 152– 159. doi : 10.5951/mathteacmiddscho.22.3.0152 .
  35. ^タフ、ジェイソン (2017). 「演算順序の再考(あるいは親愛なるサリーおばさんの何が問題なのか?)」.数学教師. 111 (2): 126– 132. doi : 10.5951/mathteacher.111.2.0126 .
  36. ^ 「計算の優先順位」 . support.casio.com . Casio . 2019年8月1日閲覧
  37. ^ 「TIグラフ電卓における暗黙の乗算と明示的な乗算」テキサス・インスツルメンツ、2011年。 2025年7月22日閲覧
  38. ^ TI Programmable 88 を発表! (PDF) . Texas Instruments . 1982 . 2017年8月3日閲覧. AOSでは暗黙の乗算が認識され、平方根、対数、三角関数の後に、鉛筆と紙で作業するときのように引数を記述できるようになりました。(注: TI-88 はプロトタイプとしてのみ存在し、一般にはリリースされませんでした。)
  39. ^ Simons, Peter Murray (2021). 「Łukasiewiczの括弧なし記法、あるいはポーランド記法」スタンフォード哲学百科事典スタンフォード大学哲学部2022年3月26日閲覧
  40. ^クルトリカ、プレドラッグ V.;スタニミロヴィッチ、プレドラグ S. (1999)。 「逆ポーランド記法のいくつかの性質について」。フィロマット13 : 157–172。JSTOR 43998756 
  41. ^ヘンダーソン、ハリー (2009) [2003]. 「演算子の優先順位」ヘンダーソンのコンピュータサイエンスとテクノロジー百科事典(改訂版) ニューヨーク:ファクト・オン・ファイル355ページISBN 978-0-8160-6382-6. 2023年9月17日閲覧
  42. ^ Ritchie, Dennis M. (1996). 「C言語の発展」.プログラミング言語の歴史(第2版). ACM Press .
  43. ^ 「6. 式」 . Pythonドキュメント. 2023年12月31日閲覧
  44. ^ 「優先順位 - RDoc ドキュメント」
  45. ^ Backus, John Warner他 (1963). 「§ 3.3.1: 算術式」Naur, Peter (編). 『アルゴリズム言語 Algol 60 改訂報告書』(報告書) . 2023年9月17日閲覧(CACM Vol. 6 pp. 1–17; The Computer Journal, Vol. 9, p. 349; Numericsche Mathematik, Vol. 4, p. 420.)
  46. ^ Jones, Derek M. (2008) [2006]. 「二項演算子の優先順位に関する開発者の信念」 . CVu . 18 (4): 14– 21. 2023年9月17日閲覧
  47. ^ジェンセン、パトリシア. 「歴史と背景」 . 5010.mathed.usu.edu . ユタ州立大学. 2024年10月4日閲覧。
  48. ^ Peterson, Dave (2000年11月22日). 「演算順序の歴史」 . The Math Forum: Ask Dr Math . 2002年6月19日時点のオリジナルよりアーカイブ

さらに読む