1. はじめに

1
2013 年 11 月 03 日

カッコや優先順位などについて
新潟工科大学 情報電子工学科 竹野茂治

1

はじめに

学生の答案を見ていると、式の書き方などに気になるところがある。数式には優先順
位やカッコの使い方などがあり、それが身についていないのでは、と思えるものもあるが、よく考えてみると、数式の書き方には暗黙の了解や、慣習に従うあいまいな部
分などもあり、ある意味では学生だけを責めるわけにもいかないような気もする。本稿では、そのような箇所をいくつかあげて考察してみたいと思う。

2

優先順位

まずは一般的な数式の書き方のルール、優先順位について確認しておく。式の計算の優先順位として教科書に書いてあることは、基本的には以下の通りである:

規則 1:
1. カッコがあればその中をまず計算する
2. 指数 (累乗) があればそれを計算する
3. 積、商があればそれを計算する
4. 最後に和、差を計算する
これによれば、例えば I = 6 × 9 − 4 × (4 − 1)2 という式であれば、まずカッコの中の4 − 1 を計算し I = 6 × 9 − 4 × 32 となり、次に指数 32 を計算して I = 6 × 9 − 4 × 9となり、積 6 × 9 と 4 × 9 を計算して I = 54 − 36 となり、最後に差を計算して I = 18のようにすることになる。
もちろん慣れてくると、この順序には必ずしも従わずに、干渉し合わないところは並列に計算して、I = 54 − 4 × 32 のようにしたり、計算公式を利用して

6 × 9 − 4 × 9 = (6 − 4) × 9 = 2 × 9 = 18

2. 優先順位2のように計算したりするようになる。
つまり、人間は、コンピュータのように基本的なルール通りにしか計算しないのではなく、「正しいと思う方法、楽だと思う方法」で自分なりに計算するため、そこに間違いが起こる余地が生まれる。例えばよく見る間違いは、• 積を指数よりも先に計算してしまう:
4 × 32 = 122• カッコの展開時の符号のミス:
36 − (7 − 54) = 36 − 7 − 54
• 展開規則のミス:
4 × (4 − 1)2 = 4 × (42 − 12 )などである。優先順位である規則 1 については中学校で学ぶのであるが、高校の教科
書にはあらためて書いてはいないので、中学校でそれをちゃんと身につけていなかった学生が高校の数学 I の「数と式」で式の展開がたくさん出てくるときについて行け
なくなっている可能性はあるかもしれない。
しかも、規則 1 の優先順位規則はそれだけでは完全とはいえず、式の計算には必要だ
がここには含まれてはいないルールもあるし、さらに数式の書き方には「暗黙の了解」のようなものも存在するため、式によってはどれを先に計算するのかがわかりにくい
場合もある。
例えば、

23+4

(1)

は、2 の (3 + 4) 乗を意味するので、カッコは書いていないが先に計算するのは「和」の部分であり、23 + 4 のように計算するのではない。また、

23

4

(2)

にいたっては「23 」の 4 乗なのか、2 の「34 」乗なのか、すなわち
42(3 ) ,

(23 )4のどちらであるのかは、規則 1 のルールからは読み取れないだろう。

2. 優先順位

3

また、

I1 = 3 ÷ 5 × 2,

I2 = 3 − 5 + 2のように優先順位が同じレベルの計算でカッコが書いてない場合は、「左から順に計算する」のであるが、規則 1 にはそれが明記されていないため右から計算してもいいのかと間違える可能性がある。しかしこれらは右からと左からの計算では、(3 ÷ 5) × 2 = 0.6 × 2 = 1.2
3 ÷ (5 × 2) = 3 ÷ 10 = 0.3(3 − 5) + 2 = −2 + 2 = 0
3 − (5 + 2) = 3 − 7 = −4のように結果に違いが出てしまう。これらのことを理解していないためか、カッコをおろそかにして書き忘れているような学生の答案を目にすることも多い。

(2) も、「左から」と見てしまうと、一見 (23 )4 の方が正しいように見えてしまうかもしれないが、(1) の例でわかるとおり、指数部分にはカッコを書かなくてよいという「暗黙のルール」があるため、あえてカッコを書けば実は
2(3

(4) )

4

という構造になっていて、よって普通は 2(3 ) = 281 と見ることになっている。しかし、これに関する明確な説明は、中学校や高校の教科書にはどうやら見当たらないので、学生にうまく伝わってはいない可能性が高い。
また、規則 1 の (1) については「再帰性」があり、カッコの中の数式も再び規則 1 が適用される、という構造になっている。規則 1 のように書くと、一見それらが単に順番に適用されるように見えてしまうかもしれないが、実際にはそうではない。
例えば、

I = 3 × 52 − {2 × 42 − (45 − 4 × 32 )}の場合、まず (1) により 中カッコ { } の中を 3 × 52 よりも先に計算するが、中カッコ{ } の中の数式にも規則 1 がすべて適用され、よって 2 × 42 よりも先に小カッコ ( )の中を計算することになる。そして、この中では (2) により 32 を一番先に計算し、次が 4 との積で、最後が 45 との差、という順で計算されることになる。

3. カッコ

4

そして、その後に小カッコの外の計算になり、また指数からの計算となる。すなわち、
以下のようになる。

I = 3 × 52 − {2 × 42 − (45 − 4 × 9)} ((2))= 3 × 52 − {2 × 42 − (45 − 36)} ((3))= 3 × 52 − {2 × 42 − 9} ((4))= 3 × 52 − {2 × 16 − 9} ((2))= 3 × 52 − {32 − 9} ((3))= 3 × 52 − 23 ((4))= 3 × 25 − 23 ((2))= 75 − 23 ((3))= 52 ((4))

しかし、このような再帰性は、規則 1 だけから正しく読みとれるかと言えば、やや疑問に感じなくもない。
ちなみに、コンピュータ言語の数式では、式の書き方や優先順位が明確に決まっていないとコンピュータが動かないので、むしろ教育での「数学」よりもそれらは明確、厳密に提示されているように思う。よって、コンピュータ言語を学ぶことで、普段の数
式のあいまいさを再認識することができる可能性もある。しかし、通常の数式の書き方が正しくできない学生は、当然正しく動くコンピュータプログラムを書くことはで
きない。

3

カッコ

日本では、( ) (丸カッコ、小カッコ)、{ } (波カッコ、中カッコ)、[ ] (角カッコ、大カッコ) のように呼んで、カッコが重なる場合は、内側から小カッコ、中カッコ、大カッコと使うように指導される。しかし、ここにもいくつか注意が必要である。

• 小 ( )、中 { }、大 [ ] のルールは国際的ではなく、小 ( )、中 [ ]、大 { } の順に使用する国も多いらしい。日本でも JIS 規格では「小、中、大」という呼び方はしていないそう。
• 3 段以上のカッコを使う場合は、一般的にはむしろ { } も [ ] も使わずに、単に( ) のみを使うことが多い。そのためか大学の教科書などでは 2 段位のカッコで3. カッコ

5も最初から ( ) だけしか使っていない場合も多い (これも教科書などでの説明はない)。

• 式によっては、カッコは特別な意味に用いられることがある。その場合は、その特別なカッコを他のカッコを区別して用いる必要がある。
この最後の「特別な意味」について説明する。

1. 丸カッコ ( ):• 座標やベクトルの成分を囲む (数字を横、あるいは縦に並べる)• 開区間を表す• 縦に 2 つ数字を並べて組み合わせの数を表す• f (x) のように関数の変数を囲む• 縦横に数字を並べたものを大きな ( ) で囲んで行列を表す• y (3) のように書いて微分の階数を表す
2. 波カッコ { }:• 集合を表現するのに使う
3. 角カッコ [ ]:• 閉区間を表す• ガウス関数を表す• 定積分などで関数の値の差を表す• ベクトルや行列の表現に ( ) の代わりに [ ] を使う• ベクトルの三重積を表す
このような特別な意味を持つカッコを、数式の優先順位のためのカッコで囲む場合は、同じカッコ記号を使わない方が見やすいだろう。例えば、
{(

3×

2
1

)

(

+

3
−2

)}

([

,

3×

2
1

]

[

+

3
−2

])

といった具合である。
しかし、カッコに関して厄介なのは、数式においては過剰なカッコは望まれず、省略できるカッコはなるべく省略すべき、という「暗黙の了解」があることであり、この

3. カッコ6

暗黙の了解に従う、一見無意味に見える式変形が行われることがある、ということであろう。例えば、(−4)2 x2 = 16x2の左辺から右辺への式変形は、式の中で無意味なマイナス符号が消えていること、および 42 が右辺では計算された結果になっているので、意味があると言えるだろうが、(−4)x2 = −4x2という式変形は、右辺は正確には −(4x2 ) を意味するから、両辺は一応別のことを表していて全く無意味というわけではないが、実質的にはカッコをひとつ省略するための変形をしているだけに過ぎない。(sin x)y を y sin x と書きかえるのもこれと同様であるが、これについては 4 節で詳しく説明する。また、(3 × 4)2のカッコは優先順位の規則によりそのまま省略することはできず、カッコを消すにはその中の計算を行って 122 としないといけないから、この式にカッコは必要であるが、しかし、

3 × (42 )のカッコは優先順位からすれば不要で、3 × 42 と書いても同じ意味である。しかし、「3 × 42 = 122 」と間違える学生がいる現状を考えると、「3 × (42 )」のようにあえてカッコを書くことは、教育的な理由、あるいは規則をうろ覚えの学生に対するあいまいさを排除する目的で決して無意味ではなく、このように書くことに本来は全く問題はないと思う。問題があるとすれば、それはむしろ上に書いた「省略できるカッコはなるべく省略すべき」という暗黙の了解に対する理由でしかないだろう。個人的な意見を言えば、それは単に数学教員の美的感覚を満たすもの程度の意味しか持たず、もしそれが学生の理解を阻害するのだとすれば、そちらの方がよほど問題だろうと思う。
ちなみに、コンピュータプログラムでも、優先順位からすれば省略できるカッコが残っている場合があるが、その場合は、後で人間がその数式を読んだときにわかりやすい
ようにあえてカッコを残すことが習慣的に行われている。複雑な優先順位をちゃんと理解、あるいは確認した上で不要なカッコを省略する方が一見美しいかもしれないが、あまり美しくはなくても、優先順位表をいちいち確認しなくても多くの人が見てすぐにわかるような式を書く方が、バグを避けやすい、よい書き方であると推奨されている。

4. LOG 型関数

7

実際私もカッコをできるだけ省略するような式変形で教えているのではあるが、このように考えると、カッコを無批判に省略する方向はどんなもんだろうかと疑問を感じなくもない。

4

log 型関数

先に書いたように、高校では数式の書き方や優先順位の話はほとんどやらないが、カッコなどの式の書き方に関しては、高校で習う新しい関数である log, sin, cos などのいわゆる「log 型関数」にもかなり問題が含まれていて、あいまいさがかなり残っているように常々感じている。

log や sin などは、f (x) のようなカッコのついた書き方、すなわち log(x) や sin(x) のような書き方はせず、慣習によりカッコは使わずに log x, sin x のように書くことになっている。さらに、それぞれに単項式を代入した場合も通常はカッコは書かずに
log 2xy (= log(2xy)),sin 2xy (= sin(2xy))のように書く。つまり、この場合計算の優先順位は 2xy の積の方が先になる。
そこで問題になるのが、例えば「log 2xy 」と「z 」の積のような場合である。これに対して、次のような 9 つの書き方をあげてみる:

1. log 2xyz
4. log(2xy)z
7. (log 2xy)z

2. log 2xy · z
5. log(2xy) · z
8. (log 2xy) · z

3. log 2xy × z
6. log(2xy) × z
9. (log 2xy) × z

もちろん、これ以外に、z log 2xy のように前置する書き方があり、これならカッコのことを考える必要はないのであるが、それはまた別問題であると考えていただきたい。
まず 1. は、もちろん log(2xyz) との区別がつかないので論外であるが、2., 3. と 1. との違いはかなり微妙な気がする。
中学で、数式の中の積の記号 × は省略できる、と習うため、積を意味する ×、およびその代用である · は、3 × 5, 3 · 5 のように、主に数字同士の積の際に用いられる程度になる。

3(2 と 3/4 の和) のような帯分数は4
積とまぎらわしいので使われなくなるが、特定の分野で使っているのか、この書き方を使う学生が、例年少数ではあるがポツポツ見られる。

余談であるが、同じ理由のために中学以降では 2

4. LOG 型関数

8

このため、1. と 2., 3. との違いを説明するのはあまりやさしくはないと思う (少なくとも私にはできそうにはない) のだが、この 2., 3. のような書き方が大学生用の多くの教科書で実際に使われている。つまり、これがある種の慣用的な書き方であるらしい。
これに対し、4., 5., 6. は log にカッコを書くようにすることで、関数に代入されているのは 2xy のみ、と一見明示しているようだが、まだあいまいさが残る。
もし、コンピュータプログラムのように、すべての対数を log(x) のようにカッコをつけて書くことにするならば、4., 5., 6. で z は関数の外だとわかることになるが、実際はそういう書き方が普通には行われていない以上、そうは思ってもらえない可能性は十分ある。また、ある授業だけ log(x) のように書くこととすることは、特に log x を初めて学ぶ人に対しては教育的とは言えず、もしそういう書き方に慣れてしまったら他の人と正しい式のやり取りができなくなってしまう可能性を生んでしまうことになるので、そのように教えることには少し抵抗を感じる。

7., 8., 9. であれば、誰もが間違えることなく z は対数の外にあることがわかると思う
し、log の後ろの単項式にはカッコをつけない、という慣用表現にも合致するので、本来は 7., 8., 9. が一番自然だろうと思うし、逆にこれらのカッコを 1., 2., 3. のように容易に省略してよいものだとは思わない。
同じ理由で、

sin u · 2x,

sin u × 2xなども、正しくは (sin u)2x のようにカッコを用いて書くべきだと思うが、1., 2., 3. と同様、実はこのカッコのない書き方が大学の教科書などではよく用いられている。
そして、最初の方にも書いたが、こういった問題を避けるために、高校の教科書でも大学の教科書でも、実はむしろ

z log 2xy,

2x sin uのような、カッコを使わずに済む「前出し」記法がよく用いられる。
しかし、学生、特に初学者にはそのような背景はわからないので、なぜ式の前後を入れ替えて z や 2x を前に出しているのかは、式変形を見ただけでは理解しにくいのではないだろうか。そして、そのような人が前出しの式を見ると、「積の順序を入れ替えて前出しすることでカッコは省略できる」と思うのではなく、単に、「カッコは書かな
くていいのね」と誤解してしまうことの方が多いような気がする。
例えば以下のような正答例があるとしよう:4. LOG 型関数

9「y = − cos x2 の導関数を合成関数の微分法で求めると、u = x2 と置けば
y = − cos u なので、

y0 =

dy
dy du
=
= (− cos u)0 (x2 )0 = 2x sin u = 2x sin x2 」
dx
du dx

この正答例の問題点は、2x sin u にするところで 2x を前出ししてカッコを書かないよ
うにしている部分であり、このような式変形を見せることで、学生の答案にはむしろ(− cos u)0 (x2 )0 = sin u · 2xのような書き方が現れてしまう気がする。この問題は、(− cos u)0 (x2 )0 = (sin u)(2x) = 2x sin u = 2x sin x2のように、順番を入れ替えずにカッコを使った中間式を一つ追加することで多少解消
するように思うし、カッコを減らすことを必須と考えなければ、むしろ(− cos u)0 (x2 )0 = (sin u)(2x) = (sin x2 )2xのような形で終わりとする方がカッコを略すためだけの式変形を考えずに済み、より教育的な気がする。ただし、中学校の式変形で、「数は文字式の前に出す」というものがあるので、そこからすると 2 だけは前に出した方がいいのかもしれない。
なお三角関数には、もう一つ解消しがたい問題がある。三角関数の慣用記法として、
sin x と sin y の積にもカッコを使わず、

sin x sin yと書く、というものがある。しかしこれは、sin の後ろの単項式はその関数の中に代入されているものと見る、という慣例からすれば sin(x sin y) という式にも見えなくはない。つまり、慣用記法を「log, sin には単項式が入る場合にはカッコはいらず、逆にそれ以外の場合
はカッコが必要になる」と考えるなら、sin u と x との積は「sin u · x」ではなく「(sin u)x」と書くべきで、そう見ると sin x と sin y の積も、「(sin x)(sin y)」か「(sin x) sin y 」と書かなければいけなくなり、「sin x sin y 」という慣用記法が説明できなくなってしまう。
逆に、「sin x sin y 」の書き方を認めると「単項式にはカッコがいらない」ということが通らなくなってしまうが、無理矢理屁理屈をつけるとすれば、

5. 式の書き方

10「log 型関数同士は同レベルと見て、そしてそこで一旦単項式からは切れることにする」などとなるかもしれない。しかし、これもやや苦しく、例えばlog x sin y
は、上の苦しまぎれの規則からすれば (log x)(sin y) を意味することになるが、実際は(log x)(sin y) なのか、log(x sin y) なのか、多分多くの人が迷うことだろう。これは、本ではlog x · sin y,log x × sin yのようにする書き方も見られるが、· や × がどこまでを分離していると見るか統一的な説明を与えるのはかなり難しいのではないかと思う。例えば、

log 3 · 62のように、省略できない · を持つ式の場合はなおさらである。
ちなみに、コンピュータプログラムでは、

log(x), sin(2*x*y)のように、関数名の後ろに必ずカッコを書く記法を取るので、普通の数式に現れるよ
うなあいまいさはなく、log(x)*y (= (log x)y), log(2*x*y)*z (= (log 2xy)z),sin(2*x)*sin(2*y) (= sin 2x sin 2y)のようになる。私自身もコンピュータプログラムを書くせいか、個人的には慣用記法よりもこのような記法の方があいまいさを排除でき、誤解も起こらず、正誤の判断もしやすいので、ずっと良いのではないかと感じる。

5

式の書き方

これまで述べてきたこと以外の式の書き方で気になることをあげる。

5. 式の書き方

11

学生の答案には、式の意味、等号の使い方を良く理解せずに、

y 0 = x2 = 2x,

√
1 1
2
√
= − = 21/6 ,
3
2 3
2

1
sin = ,
2

lim = 3x→1などのように明らかに間違った書き方も良く見られるが、それ以外にももっと微妙なもの、教科書などにはあまり明示されていないもので気になるものがある。

• 対数の書き方
まず「対数の書き方」であるが、現在ほとんどの教科書では対数の底は真数より少し小さく、真数よりもわずかしか下にならない位置にlogA Bのように書かれていて、学生もそれに従ってそのまま書くものがかなりいるようである。しかし、活字の場合は、A と B の大きさに違いがあり、よって A が底で B が真数だと区別がつくのだが、手書きでこのように書かれた場合、A が底
で B が真数なのか (logA B)、それとも底が省略されている対数で真数が AB なのか (log AB ) の区別がつきにくい。
だから、手書きでは「底は下に、真数は上に」と上下に分けて書くような形、す
なわち

`og B
A
のように書くのがよい。
実際に私も高校のときにそのように書くように習い、多くの人 (例えば数学関係者) がそのように書くのを見てきたが、最近の学生にはなぜか本の活字のように書くものがかなりいて、強く違和感を感じてしまう。
現在普通に教科書などに使われている対数の記号は、国語の明朝体と教科書体の問題1 と同じで、昔の印刷上の制限によって使われていた書き方なのではないかと想像する。しかし、教科書にはそのようなことは明示されていないので、印刷されている数式の見た目のままに書くか書かないかは初めて教えてもらうときの教員の指導に依存してしまうことになる。

• 微分の書き方
微分の「0 」の記号にも気になる書き方がある。初学者に多いのは、f 0 (x) を f (x)0のように書いてしまう間違いである。これは、左から順に作用するので、
1

教科書体とは、低学年の国語の教科書で採用されている書体だが、明朝体と教科書体の問題とは、標準的な出版物で使われている明朝体が、実際に指導する漢字の書き方とは異なる部分が多いために間違った書き方を覚えてしまう問題のこと。

5. 式の書き方

12◦ f 0 (x) = f の導関数に x を代入したもの◦ f (x)0 = f に x を代入したものを微分のように順序が入れ替わってしまう。f (x) の場合は結果として同じものになるが、例えば f 0 (2x) と f (2x)0 では別なものになる (f (2x)0 = 2f 0 (2x))。
また、y や f のような関数名には 0 を直接つけて y 0 、f 0 と書くことが許されるが、具体的な関数にはカッコで囲んで 0 をつけ、

(3x)0 ,

(3)0 ,(sin x)0のように書くことになっているが、それを

3x0 ,

30 ,

sin x0のように書く学生も多い。これも教科書にはあまり明記されていないことが多い。

• / での分数の書き方
B
を B/A のように書く書き方もA
あるが、これについても詳しく説明されることはないためか、あいまいな書き方が用いられることがある。例えば、上下に広く取れない箇所で分数を書くときに

2 + 3/5,

4/5 + 6という式であれば、

2+3
,
5

4
5+6

ではなく、

3
2+ ,
5

4
+6
5

と見るのが普通であり、前者を表したいならばカッコを用いて(2 + 3)/5,

4/(5 + 6)と書くことになるだろうが、問題は分母が積の場合である。
「5/(2x)」は、実は「5/2x」のように書かれてしまうことが多いのだが、これは、「(5/2) × x」と「5/(2x)」のどちらなのかがわかりにくい、あいまいな記法だと思う。
例えば、÷, × を使って書けば、「5/2x」は「5 ÷ 2 × x」となるように見え、これはもちろん「(5/2) × x」のことを意味してしまうので、「5/(2x)」とは解釈しない人もでるだろうと想像できる。だから、「5/(2x)」のつもりで書きたいのであれば、本来は「5/(2x)」と書くべきだと思うが、残念ながら「5/2x」と書かれることが多いようである。

6. 最後に

13

式がまぎらわしい場合に、カッコを書くことで解消できるような問題については、まぎらわしくないようにカッコをつければいいのだが、「省略できるカッコはなるべく省略する」という暗黙のルールのために、必要なカッコ (優先順位変更のための必要性ではなく、人にまぎらわしくなく伝えるための必要性) まで省略してしまって、そのために正しく人に伝わらなくなってしまう。
そのような間違いをするくらいなら、美的感覚に基づくそのような暗黙のルールなどは無視してしまって、カッコをたくさん書く方がまだましだと思うが、いかがであろうか。
ちなみにコンピュータプログラムでは、バグを防ぐために「省略できるカッコはなるべく省略する」よりも、必要なカッコを省略してしまう愚をおかす危険をさけるために、ルール上は不要なカッコでも、むしろちゃんと書くことが推奨されている。そちらの方がよほど真っ当な理屈に思えるが、それに関しては、学ぶ側の学生と教える側の学生の意識の違いがあるような気がしている。

6

最後にいくつか雑多に暗黙の了解や、式のあいまいさについて書いてみたが、本稿には、私がまだ気がついていない追加すべき内容が多々あるような気がするし、論点整理もかなり必要だろうと感じている。
よって、今後も必要なら本稿は随時更新するか、あるいは全面改訂した新しい資料を作成したいと考えている。