こんにちは。ユーキです。
プログラミングを学び始めた初心者さんにとって、「関数」は理解しづらいのではないでしょうか?
最近、新人さんにプログラミングを教える機会があり、「関数がわからない」と言われました。そこで、プログラミングを学び始めた初心者さんがわかりやすいように、関数ついて解説をしたいと思います。
プログラミングにおける関数
関数とは
処理の集合に名前をつけたものを関数といいます。なんのことか、ちょっと理解できないですよね。
関数は次のような問題を解決してくれます。
- 処理することが多く、コードが見づらい
- 同じ処理を何回も実行する
- 処理に名前をつけたい
関数は次の4つの要素から成り立っています。それぞれについて、詳しく解説してきます。
- 関数名
- 引数(ひきすう)
- 処理部
- 戻り値
関数名
処理につけた名前です。「料理をつくる」とか「消費税計算する」といったものを想像してもらったらOKです。
引数(ひきすう)
処理を実行するときに、必要となる情報(パラメータ)です。実行するたびに値が変わるものをパラメータとして設定をします。必要となる情報がなければ、指定しなくてもOKです。
引数のない関数もあります。
処理部
関数でやりたいことを、処理部分に書きます。関数の一番大事な部分です。
戻り値
処理した結果になります。戻り値がない関数もあります。
関数を自動調理鍋に例えてみる
もうすこしイメージしやすい例で関数を説明みましょう。
ここに、自動調理鍋があるとします。自動調理鍋は具材と調味料を入れれば、料理ができます。この自動調理鍋を例に関数を説明してみます。
作る料理名を決める=関数名
まず、作る料理を決めましょう。今回は、シチューを作ることにします。
関数名は「シチュー作成」とします。
具材を決める=引数(ひきすう)
次に、具材は何にするかを考えます。今回は、にんじん、たまねぎ、じゃがいも、牛乳の4つとしましょう。
このにんじん、たまねぎ、じゃがいも、牛乳が引数(ひきすう)となります。
調理する=処理
具材を投入したら、自動調理鍋は以下のことをします。これが処理に当たります。
調理手順はかなり適当ですので、悪しからず。
- 20分加熱
- かき混ぜる
- 5分蒸らす
できあがった料理=戻り値
できあがったシチューが、戻り値となります。
図解
これらを図にすると、以下のようになります。
関数のさまざまな呼び方
プログラミング言語は、以下のように様々なものがあります。
- C言語
- Java
- Python
- データベース言語(SQL)
- シェル ほか多数
呼び方は「メソッド」だったり、「ファンクション」だったり、「プロシージャ」だったりします。すべてこの関数と同じ意味です。
聞いたことのない単語だと焦ってしまうかもしれませんが、考え方はすべて同じです。
関数をコーディングしてみる
では、関数のイメージがついたところで、さきほどの自動調理鍋の「シチューを作る」例をコード調で書いてみましょう。
Java書式をベースとしていますが、Javaがわからなくても大丈夫です。
自動調理鍋「シチュー作成関数」のコーディング
完成したシチュー シチューを作る(にんじん、たまねぎ、じゃがいも、牛乳) {
// 20分する
// 材料をかき混ぜる
// 5分蒸らす
return 完成したシチュー;
}
まとめ
今回は、プログラミング勉強中の初心者さんがつまづきやすい関数について解説しました。すこしは関数について、イメージを持つことができたでしょうか?
今回、解説したことのおさらいになります。
- 処理の集合に名前をつけたもの
- 関数名、引数(ひきすう)、処理部、戻り値から構成される
- 関数は、自動調理鍋の調理にたとえることができる
どんなプログラミング言語をやるにしろ関数は避けては通せません。
理解の一助になれば、幸いです。