実みつるのPreプログラミング

プログラミングの学習を考えている方へ

5-1 関数とは

第五章 関数

関数と言えば、学生時代に数学で勉強したなと思う人が多いのではないでしょうか。数学が苦手だった人は、この単語を聞いてアレルギー反応を起こすかもしれません。しかしプログラミングで使われる関数というのは、数学で扱うそれとはちょっと異なります。いわば概念の様な物だと思って下さい。つまりそんなに難しいものではありませんのでご安心下さい。

 

(1)関数とは

関数とは「一つ、もしくは複数の数字に対し一定の規則に従い順応する数」の事だと私は考えます(本来はきちんとした定義が有ると思いますが、ここでは追及しない事とします)。難しい言い回しになってしまいましたが、要するに「何かを入力すればルールに従って何かが返ってくる」というイメージです。

 

良く数学では、関数を説明する際にxとyというアルファベットが使われますが、一番簡単な関数は以下の様なものです。

 

y = x

 

yはxである、という事です。つまり、xが1ならyも1、xが100ならyも100になります。この場合のyを関数と呼ぶのですが、「yはxの値に応じて定まる」という事を以下の様に表現します。

 

y = f(x)

 

「f」はfunction(関数)という英語の略と思われます。この場合のfは「与えられた値をそのまま返せ」という役割を持っています。

 

あくまでも私見になりますが、本来は得られる結果、すなわちyそのものを関数というのでしょうが、ここ最近はf自体、つまり役割のことを関数と解釈している様に思えます。確かにfunctionという英単語は「機能」といった意味も持っていますので、あながち間違いではない様です。

 

その様に考えると、関数、すなわち機能をもう少し応用できるように思います。例えば、

 

東京 = f(日本)

 

という式が有ったとします。これは「日本」を与えると、「東京」が返ってくる関数です。どういうことでしょうか…同じ関数を使ってもう一つ例を示します。

 

北京 = f(中国)

 

そうです。この関数は「入力された国名から、その国の首都名を返す」という関数です。「首都名算出関数」とでも言うのでしょうか。この様に関数を「役割」として捉えると、数字だけでなく文字なども扱えるようになります。もしこの関数に「OutputShuto」と名前を付ければ、以下の様に表現できます。

 

首都名 = OutputShuto(国名)

 

ではクイズの様になりますが、以下の関数はどの様な役割を果たしていると思いますか。

 

北 = f(南)

左 = f(右)

支出 = f(収入)

義務 = f(権利)

 

この関数は「入力された単語の反対語を返す」という機能をもっています。この関数に「Hantaigo」と名前を付ければ、以下の様に表現できます。

 

単語の反対語 = Hantaigo(単語)

 

ここで覚えて欲しい言葉が有ります。関数自体の名前は「関数名」なのですが、関数に入力するもの(数や単語)を「引数(ひきすう)」、関数から返ってくるものを「戻り値(もどりち)」と言います。

 

戻り値 = 関数名(引数)

 

今回は関数とは何かという事を述べてきました。次回以降は様々な形の関数を見ていきたいと思います。