概要
数学で習う。またプログラムを組むプログラミングでもよく使う。
その名の通り2つの数の関係を表す。例えばy=3x+4などのような式はxの値が決まればyの値も決まる。この時、yはxの関数であると言い、xは変数と呼ばれ、y(x)=3x+4のような表現がなされる事もある。逆にyを変数として、xをyの関数と見る事もできる。
日常にも関数と同じようなものは多数存在する。例えば「料金=200×利用時間+500」などがある。利用時間がわかれば料金が特定されるため、これも関数といえる。
変数が2つ以上な関数や、変数が行列な関数も存在する。
類義に写像。
名称について
元々は中国語由来で「函数」と表記されていたが、常用漢字的な都合のため日本語では「関数」となった。
しかし「函数」という表記にも根強い人気があり、それはWikipediaにおいてどちらにするかで編集合戦が広範囲に亘って繰り広げられた程である(外部リンク参照)。
なお、「函」という漢字は現在は地名くらいでしか用いられず、馴染みの薄いものとなっているが、「箱」を意味しており、ブラックボックス的なイメージであるという。
英語ではFunction(ファンクション)と呼ばれ、「函」はこの「Fun」の部分の音訳でもあるという説がある(「函」は中国語読みでは「ハン」が近い)。
プログラミングにおける関数
プログラミングでは若干意味が異なり、通常の関数と同様の性格ものも存在しているが(例えば、絶対値を求めるABS関数など)、サブルーチンの意味合いを含んでいたり、サブルーチンと同義だったりもする。
サブルーチンというのは、例えば「今日は飯食って糞して寝る、明日も飯食って糞して寝る、明後日も飯食って糞して寝る」という表現に対して、「A=飯食って糞して寝る」と置けば「今日はA、明日もA、明後日もA」となり簡略化されるが、このAのようなものを言う。
つまり、お決まりの動作を別枠で定義し、一言で表せるようにしたものであり、プログラムの中にある小さなプログラムのようなイメージ。
これにより、プログラムが簡潔になったり、サイズが節約できたりする。
この時点では、いわゆる関数とは似ても似つかないが、サブルーチンは通常、入力として引数を、出力として戻り値を定義する事が可能であり、これらを定義する事によって通常の関数のような様相となる。
例えばfという関数があった場合、y=f(5)と書くと、5を引数としてfに渡して、その戻り値をyに代入するという形となる。
プログラミング言語によっては、関数とサブルーチンは区別される。
プログラミング言語のタイプによっては、マクロと呼ばれる似て非なるものも存在。
関連イラスト
関連タグ
一次関数 二次関数 三次関数 指数関数 対数関数 三角関数 双曲線関数
数学 数字 プログラミング グラフ 曲線 図形 方程式 微積分