BLOG ブログ

ENTRY

お申し込みはこちら

関数がざっくりわかる話

関数がざっくりわかる話

関数がざっくりわかる話

 数学やプログラミングの学習を進めているとどこかで『関数』というワードに触れることになるかと思います。今回は具体的なプログラミングでの文法や数学での解法の話はしません。なるべく噛み砕いて『そもそも関数とは?』というお話をしていきます。 

イメージを掴もう

りんごパーティ
 突然ですがりんごパーティーを開くとしましょう。参加者は全員りんごを1個持ってくるルールです。
 さて、参加者が3にんのとき、パーティーには何個のりんごが集まるでしょうか?

 正解は3個。これは簡単ですね。あえて式を書くとしたら下のようになるかもしれません。
 1[個] ×3[人] = 3[個]
 
 ではりんご2個を持ってくるルールだったらどうでしょうか。同じように参加者3人のときを考えてみましょう。

 正解は6個。これもまだまだ簡単ですね。
 2[個] ×3[人] = 6[個]

 では続けて、ルールはりんご2個持参のままで、参加人数が当日までわからない場合はどうでしょうか。当日りんごは何個集まるでしょう。

 はい。わかるわけないですね。
 ですが、もし参加人数が0人なら0個だし、6人なら12個になるというのは正確に予測ができるんじゃないかと思います。式で書くとしたら下のようになるかもしれません。
 2[個] ×『参加人数』[人] = 『集まるりんごの数』[個]

 この式があればあとは『参加人数』の数を当てはめるだけでそれに応じた答えが出せますね。
 ざっくり言っていしまうと実はこれが『関数』です。
 毎回『参加人数』とか『集まるりんごの数』とか書いて計算するのは非常に手間なので、わからない数をx、答えになりそうな数をyと書いたりもします。そうすると下の式のようにすっきりします。
 y = 2x

 こうなると見覚えのある方もいるかも知れませんね。
 イメージしやすいようにいくつか例を出しておくと、りんご4個持参のルールなら
 y = 4x

 さらに会場に最初からりんごが10個用意されているなら
 y = 4x +10
 のようになります。

つまり関数とは

つまり関数とは
 結局りんごパーティー例のどこが関数なのかきっと疑問だと思います。
 大雑把に言ってしまうと『何か数を当てはめたら答えが出せる』というようなイメージがあれば大丈夫です。
 プログラミングではさらに広い意味で捉え『何か与えたら何かを返す』とも言えます。

 ただ、少しややこしいことにプログラミングでは何も受け取らないし何も返さない関数も普通です。そこについて詳しく書くと混乱を招きそうなので今回は省略しておきますが、元々は数学と同じところから来ていると覚えておくといいでしょう。

プログラミングの関数は数だけじゃない

数値以外のリアクション
 前の項で書いた『何か与えたら何かを返す』というのがどういう事を言うのか、具体的なイメージを持てるようにまた例を出します。
 とあるゲームの中に村人がいます。この村人は「こんにちは」と話しかければ「こんにちは」と答え、「おはよう」と話しかければ「もうお昼だよ」と答えてくれます。
 実はこの村人も関数と言えます。
 どれか挨拶を与えたらそれに応じて設定された言葉を返してくれる。つまり、数学では数のやり取りしかなかったものが、プログラミングではさらに様々な影響を取り扱えるわけです。挨拶の例では条件分岐でも実現できますが、配列などと合わせて使うことで整理しやすくなります。
 また、キャラをぴょんぴょん跳ねさせたり画面を揺らしたりといった他の場面でも使えそうな一連の動作を関数でひとまとまりに束ねておく使い方などもあります。

関数はラクをするための道具

包丁とスライサー
 プログラミングを学び始めてある程度スキルを付けてきた方から度々「関数を知りたい」「これはいつ使うものなの?」といった質問を受けます。極論、いくらでも手間をかけていいのであれば、関数を使わなくても割となんとかなります。いざ学ぼうと思って関数の解説を聞いてもいまいちピンと来ないのはおそらくこのためで、実際何か実現したい機能のために関数を学んだ方はとてもしっかりマスターしていました。関数はプログラムを整理したり短縮したいときに最初に出会う機能と言ってもいいかもしれません。
 プログラムをまとめたり使いまわしたり法則性を見つけて整理するのはプログラミングの中でも特に面白いところなのでぜひ臆せずチャレンジしてみてください。

CONTACT お問い合わせ

無料体験授業は随時開催しています。
ご希望やご質問など、お気軽にお寄せください。