seegongsik
プログラミング

わかりやすく 関数 プログラミング とは

ラーメンを作るいくつもの手順に「ラーメンを作る」という名前をつけておけば、次からはその一言ですみます。関数とは、いくつもの仕事を一つのかたまりにまとめて名前をつけることです。名前を呼ぶだけで、その仕事が全部行われます。

01

まとめて名前をつける

お湯をわかす、めんを入れる、スープを入れる、器に盛る。
この四つの手順を「ラーメンを作る」という一つのかたまりにまとめ、名前をつけます。
このまとまりが関数です。
下では、ばらばらの手順が一つのかたまりにまとまる様子が見られます。

お湯を わかす
めんを入れる
スープを 入れる
器に盛る
四つの手順がばらばらにあります。

ばらばらの手順 → 名前のついた一つのかたまり。四つの手順が「ラーメンを作る」にまとまります。

まとめて名前をつけると、頭の中がすっきりします。
「お湯をわかして、めんを入れて……」と一つずつ言わなくても、「ラーメンを作る」の一言で通じます。
複雑なものを、名前一つの後ろに隠すわけです。

02

呼べば全部行われる

名前をつけておいたので、あとは名前を呼ぶだけです。
「ラーメンを作る」と言えば、中にまとめた四つの手順が順に全部行われます。
中をもう一度のぞく必要はなく、名前がその仕事を代わりに引き受けてくれます。

ラーメンを作る
お湯を わかす
めんを入れる
スープを 入れる
器に盛る
「ラーメンを作る」を呼ぶと、中の四つの手順が順に実行されます。

名前を呼ぶと、まとめた手順が順に実行されます。「ラーメンを作る」→ 四つの手順が一つずつ。

これが便利なのは、「どうやるか」を忘れてもかまわないからです。
名前と「何をするか」さえわかっていれば、中がどうなっていても呼ぶだけですみます。
複雑さを名前の後ろに隠しておくのです。

03

材料を入れて結果を受け取る

関数には材料を入れられます。
「2倍にする」という関数に5を入れると10が、7を入れると14が出てきます。
何かを入れると(入力)中で働き、結果を返してくれる(出力)ので、小さな機械のようなものです。

→
2倍にする
入れた数 × 2
→10
同じ関数でも、入れる値によって出てくる値が変わります。(5 → 10, 7 → 14)

入力 → (関数) → 出力。2倍にする: 5 → 10。入れる値によって結果が変わります。

名前が同じでも、入れるものが違えば出てくるものも違います。
「2倍にする」に3を入れれば6、100を入れれば200です。
材料だけを変えて、同じ仕事をさせるわけです。

04

作った関数をもう一度使う

関数のいちばんいいところは、何度でも使えることです。
「2倍にする」を一度作っておけば、5にも8にも12にも、必要なたびに名前を呼ぶだけです。
一度作って、何度も使うのです。

5→2倍にする10
8→2倍にする16
12→2倍にする24
同じ関数を三回呼びました。作るのは一回でかまいません。

一度作った「2倍にする」を何度も呼びます。5 → 10 · 8 → 16 · 12 → 24。

第7回の繰り返しも「一度書いて何度も」でした。
関数も似ていて、一度うまく作っておけば、プログラムのあちこちで何度も取り出して使えます。
よい関数が一つあれば、いつまでも手間を減らしてくれます。

05

複雑さを治める方法

関数は、複雑さを治める方法です。
いくつもの仕事をまとめ、名前をつけ、また取り出して使う。
大きなプログラムも、じつは関数どうしが呼び合いながら動いているのです。

関数 = まとめて名前をつけて使い回す
名前を呼ぶだけでその仕事が · 材料を入れると結果が · 一度作って何度も。
データの まとまり
いくつも一つに
大きな プログラム
関数が呼び合う
その先
もっと深い世界へ
次のレッスンでは、関数が自分自身を呼ぶ「再帰」に出会います。

まとめて名前がつけられたら、次へ。関数 = まとめて名前をつけて使い回す → データのまとまり · 大きなプログラム · その先。

ここまでよくがんばりました。
値に名前をつけ、種類を知り、判断し、計算し、繰り返し、そしてまとめて名前をつけるところまで来ました。
プログラムを組み立てる基本の道具を、ほとんど手にしたことになります。

一言でいうと関数とは、いくつもの仕事を一つのかたまりにまとめて名前をつけることです。名前を呼べばその仕事が全部行われ、材料を入れれば結果が出て、一度うまく作ればプログラムのあちこちで使い回せます。関数は複雑さを名前の後ろに隠し、大きなプログラムを治める方法なのです。
← プログラミング
このページがお役に立ったなら支援する