2007年8月21日火曜日

かっこ.い~かい?

カッコの種類
(parenthesis)括弧
{brace}  中括弧
[bracket] 大括弧
数式で括弧が幾重にもなるとき,次のように使い分ける人は多い.
1-[2-{3-4}{5-(6+7)}] = 7
括弧の外が中括弧,その外が大括弧ということだろう.
これだと3重カッコまでしか対応できない.

自分は,すべて,
(parenthesis)
の1種類だけで通す.これなら何重カッコでも対応できる.
理論的に括弧は開きカッコと閉じカッコの数が同じならばかならず対応するからである.
ただ,板書するときは生徒が迷わないように,大きさだけは変えるが.

1-(2-(3-(4-(5-(6-(7-8)(9-10))(11-12))(13-14))(15-16))(17-18))(19-20)=20
$1-\left(2-\left(3-\left(4-\left(5-\left(6-\left(7-8\right)\left(9-10\right)\right)\left(11-12\right)\right)\left(13-14\right)\right)\left(15-16\right)\right)\left(17-18\right)\right)\left(19-20\right)=20$
プログラムなどの言語処理系では数式は1種類のカッコで100重だろうが1000000000重だろうが,対応する.カッコの数があっていれば,種類を変えずに十分解釈できるからである.
エクセルも =1-(2-(3-4)*(5-(6+7))) とセルに書き込めば 7 と表示されるが,=1-[2-{3-4}*{5-(6+7)}] は当然解釈できないので,エラーとなる.
google電卓もカッコは1種類であり,違う括弧を使うと,解釈できずに計算してくれない.


言語処理系ではカッコの種類は他の目的に用いている.
Mathmatica では数式カッコで許されるのは当然 (parenthesis) のみで,{brace} は配列に用い,[bracket] は関数の引数を意味する.

すべての言語処理系では,数式の優先関係をつける括弧はparenthesis のみでphp や perl などでは,
if( $hensu == 3){
$hairetu[ $hensu] = 1-(2-(3-4)*(5-(6+7)));
}else{
$hensu = 10;
}
のように使う.この括弧の種類を変えたら,解釈できないので全く動かなくなる.

ということで,手書きでも数式でカッコの種類を変える必要はあまりない.わかりやすくしたければ,大きさだけを変えれば十分なのである.

0 件のコメント:

コメントを投稿

スパム対策のため,コメントは,承認するまで表示されません。
「コメントの記入者:」は「匿名」ではなく,「名前/URL」を選んで,なにかニックネームを入れてください.URL は空欄で構いません.