| English | 意味 |
|---|---|
| reusable/riːˈjuːzəbl/ | 再利用可能 |
| procedure/prəˈsiːdʒə/ | 手続き |
| call/kɔːl/ | 呼び出し |
| method/ˈmeθəd/ | メソッド |
| arguments/ˈɑːɡjuːmənts/ | 実引数 |
| parameters/pəˈræmɪtəz/ | 形式引数 |
| return value/rɪˈtɜːn ˈvæljuː/ | 返り値 |
| implementation/ˌɪmplɪmənˈteɪʃn/ | 実装 |
| abstraction/əbˈstrækʃn/ | 抽象化 |
再利用可能なコードブロック
- プロシージャ(または関数やメソッド)とは、名前付けされた再利用可能なコードのブロックです。
- 一度書けば、何度も使用できます。
- 作業に名前をつけることで、必要な時にその作業を呼び出せるようになります。
- これが「同じことを繰り返さない」ことの核心です。
プロシージャー(関数/メソッド)とは:
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
一度書き、何度も呼び出す。
プロシージャーの指示を別的地方から実行するには、名前で ____ する。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
呼び出しが終わると、プログラムは中断した地点から继续する。
プロシージャの呼び出し
- 他场所からプロシージャを実行するには、名前で呼び出します。
- 呼び出しが完了すると、プログラムは中断した場所から继续されます。
- つまり、呼び出しとは別道のようなものです:作业に行き、戻ってくるのです。
- 同一のプロシージャを、多处から呼び出すことができます。
プロシージャー呼び出しの仕組み
呼び出しは引数とともにプロシージャーにジャンプし、本体を実行して値を返すと、プログラムは中断した場所から继续する。
area(4, 5) の各用語の意味と対応させよ。
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
引数は実際の値であり、パラメータは名付けられたスロットである。
In total ← area(4, 5) において、area は何を返すか?
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
返された結果は後で使うために格納される。
引数、パラメータ、返り値
- プロシージャは入力を受け取ります:引数をパラメータを通じてプロシージャに渡します。
area(length, width)がarea(4, 5)として呼び出され、4と5を受け取ります。- プロシージャは返り値を返すこともできます — 後で使用するための結果です。
- 例えば
total ← area(4, 5)は返り値を格納します。
square(n) が n × n を返す場合、square(square(3)) は何を返すか?
難易度 2/5 · 140 コイン + 今日初回完了時に小ボーナス付与
square(3) = 9、then square(9) = 81。
square(3) を呼び出す際、内部の動作ではなく、何をするかを知る必要がある。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
実装の詳細を隠すことを手続的抽象という。
実装の隠蔽
- プロシージャは、呼び出し側に対して実装の詳細を隠すことで抽象化をサポートします。
- プロシージャが 何 を行うか只知道すればよく、内部の どう いう仕組みかは知らなくても構いません。
square(n) は n × n を返します。 a ← square(3) に9を格納します。b ← square(a) に81を格納します。なぜなら、square(9) は81だからです。呼び出し側は内部の掛け算を見ず、ただ返り値を使用するだけです。
プロシージャ(関数やメソッド)は、名前で呼び出せる 再利用可能なコードであり、返り値之后、プログラムは继续します。引数をパラメータに渡し、返り値を使用できます。プロシージャは抽象化を提供し、呼び出し側は 何 を行うかを知道し、実装は知らない必要があります。