1.2 表と集合・写像

  4-1. 余談(表と関数)

関数というのは,本質的には写像と同じようなものです.
関数は,主に値が数ですが,写像は必ずしも数である必要はありません.
文字で表す時はどちらかというと写像というイメージが強いです.
しかしプログラムでもストリングとして文字を扱うことは出来ますが,なるべく数だけを扱うようにしておく方が良いのです.
そして最後に,表示する時だけ文字に直すようにしておきます.
必ずそうすべきというわけではないですが,プログラムの移植性を高めたり,変更が容易であるといった理由でそのようにした方が良いのです.

例えばコンパイラというプログラムがありますが,そこでソースプログラムをコンパイルするといった時に,プログラム中にエラーメッセージをだらだら書いておくのではなくて,エラーメッセージコードを決めておいて, 例えば23番エラーだよ,という時に23番はこのようなエラーだよ,ということはランダムファイルに記録しておきます.
このメッセージを日本語にしておけば,日本で使えるし,英語にしておけば,英語圏で使用するとが出来ます.

また表を式で表すこともできます.
例えば,150未満であれば,このような計算式でランクを計算することができます.

−139)÷10+1

この場合は139以上という制限は必要ですが, このような(式で表現された)関数を持っていれば表を持っていなくても,身長をに入れればランクを計算することが出来ます.
このように式による関数で表現されれば,ディスクの容量を節約できるし,そのアクセスの時間を早くすることが出来ます.

要約すると,表を時には式による関数で表すことも出来ますし,逆に関数を表で表すことも出来ます.


関数を表で表す例をあげます.

今,下図のようなとても複雑な関数のグラフが与えられたとします.



そしてこれをどういう数式で表したらよいのかわからないとします.
数式をいろいろな多項式で表現するというのも1つの方法ですが,

 
x
f


x の変域として,有限個の点だけを考えてよいとすると,表を1つ持っていれば置き換えることが出来ます.
つまり数式にこだっわっているより,表を作ってしまったほうが早い場合があります.