数学における関数
関数とは、ある決まった値を与えると何らかの値を返すような物を言う。このときに返される値は、与えた値によって定まり、同じ値を与えた場合は常に同じ値が返ってくる。関数を表す記号としては、f, g, h などがよくもちいられる。fは関数を意味する function の頭文字である。
y = f(x)のような記述がされるときは、関数fから導かれるxの写像をyとする、と言う意味である。言い換えると、fは数字を変更するルール・規則であり、括弧の中に入り込んだ数字xをルールfで変換したらyになりますよ、と言う事である。例えばf(x) = x + 1 とする関数fと定義された場合、このfは括弧の中に入った数字に1を足す変換をしますよと言う意味になる。つまり、f(5) = 6となる。
「関数g(x,y)」と記述のあった場合は「gはxとyを変数とする関数」と言う意味になる。
以下に関数の例をいくつか示す。
- f(x) = x2 + 2x + 1
- f(x, y) = 2xy + x2 - 3
- f(x) = 0 (x < 1 のとき)
f(x) = 1 (x ≧ 1 のとき) - f(x) = [x] ([x]はxを超えない最大の整数。一般的にガウス記号と呼ばれる。)
- f(x) = ex
(eは一般的にlimn→∞(1+1/n)nで定義される値で、ネイピア数と呼ばれ、自然対数の底として使われる。2<e<3)
プログラミング言語における関数
関数とは、ある値(引数)を与えると、何らかの値(戻り値)を返す処理のまとまりである。
C言語やJava言語、PascalやVisual Basic, PHPやPerl, Ruby, Python、Prologなど、多くのプログラミング言語が関数(あるいは戻り値のあるサブルーチン。プロシージャやメソッド)の機構を持っている。この場合も多くは 関数名(変数[引数])と言う形式で関数を記述する。
手続き型言語の関数
数学の関数と違い、同じ引数を与えたからといって、同じ戻り値が返されるとは限らない。戻り値は、引数だけでなく、関数そのものの状態や、関数外部の環境(グローバル変数、ファイルの内容など)の状態に依存する。
このような関数は、サブルーチンとも呼ばれる。また、オブジェクトに属している関数はメソッドとも呼ばれる。
純粋関数型言語の関数
純粋関数型言語の関数は、基本的に数学の関数と同じ性質を持つ。すなわち、戻り値は引数のみに依存する。
関連項目
- 8
- 0pt