22.サンプルの問題9(関数)
DNCL 速習

📖 例題

このサンプルの問題9は、運動した時間と体重から消費カロリーを計算し表示する プログラムです。
運動した時間は90分、体重は55㎏です。

「関数」という機能が使われています。

📖 関数の定義プログラム

📖 プログラム

このサンプルの問題9から「関数」の「定義」「引数」「戻り値」について学んでいきましょう。

👩‍🏫 関数 👨‍🏫

関数とは一定のプログラム処理をひとまとめにしたものです。

プログラム中に何度も同じ処理が出てくる場合、関数を使うことで入力作業を簡略化することや、 プログラムを見返したときに見やすくなるといったメリットがあります。

👩‍🏫 定義 👨‍🏫

📖 関数の定義プログラム

自分で関数を作る場合、初めに関数名と処理内容を「定義」する必要があります。

処理内容として、関数のプログラムの中でその関数が受けとる値のことを「引数」(赤枠部分)、 処理の結果としてプログラムに戻す数値のことを「戻り値」(青枠部分)と言います。

なお、関数によっては処理結果を「表示する」など何かの動作を行うだけで終わり、 プログラムに戻り値を送らないものも存在します。

📖 関数の定義プログラム

必ずしも関数の定義プログラムを他のプログラムと分けなければいけない、ということはありません。
このように関数の定義を1つのプログラムに一緒に書くこともできます。

👩‍🏫 組み込み関数 👨‍🏫

関数は必ずしも自分で新たに作らなければいけないわけではありません。 多くのプログラミング言語では、頻繁に使われる一連の処理内容に関してあらかじめ関数が組み込まれています。 これを「組み込み関数」と言います。 自分で考えなくても誰かが考えてくれた便利な関数が使える、これも大きなメリットの一つです。

なお、自分で定義した関数のことは「ユーザー定義関数」と呼びます。

(※「表示する()」というのも組み込み関数の一つです)

🧭 使用例

💻1

サンプルの問題9を実行してみると「この運動であなたは259.875カロリー消費しました。」と表示されます。

📖 プログラム

📖 解説

👨‍🏫 実行するとまず、2行目と3行目で変数hunと変数taijuに数値が代入されます。
それらの変数の値が関数「カロリー計算()」の引数となります。

ここからは関数内の作業が始まります。
関数内3行目では単位を「分」から「時間」に直すため、変数jikanに90/60を計算した「1.5」が代入されます。
関数内4行目で3×1.5×55×1.05が計算され259.875が戻り値となります。

再びプログラムに戻り、5行目の変数syouhiに戻り値が代入されます。
6行目が実行され「この運動であなたは259.875カロリー消費しました。」と表示されます。


💻2

左右にかかる荷重のバランスが大きく崩れている場合に教えてくれるプログラムです。

📖 プログラム

📖 解説

👨‍🏫 実行すると変数hidari、変数migiに数値が代入されます。

3行目では「関数 絶対値()」が定義されることもなく使われています。
名前の通り引数の絶対値を戻り値とするものです。この機能を持つ関数が組み込み関数としてあらかじめ備えられているプログラミング言語は少なくありません。

引数として「hidari - migi」が与えられており、計算すると「-20」になります。
そのため戻り値は符号を取り除いた「20」となり、変数sayusaに「20」が代入されます。

4行目以降の条件分岐においては、6行目の条件に該当するため「注意!バランスが崩れています。」という表示が行われることになります。


💻3

5日間開かれる大学説明会にどれだけのベンチが必要かを計算するプログラムです。
まず、一つのベンチに何人座るのか(ベンチ当たりの座席数)を決めます。
次に「来場予約者が最大となる日の予約者数」を「ベンチ当たりの座席数」で割り、「小数点以下を切り上げ」ます。
配列内の要素の最大値を求める「配列最大値」という関数を使用します。

📖 プログラム

📖 解説

👨‍🏫 3行目のプログラムに注目します。

まず、関数 配列最大値(Raijosya)の戻り値は 61 となります。

次に、これを変数 zaseki で割ると 61/4 = 15.25 となります。
この数値の小数点以下を切り上げるので、変数benchiは16となります。

これらをもとに4行目で「一つのベンチに4人座る時、ベンチは16脚必要です。」と表示されることになります。

このケースのように引数として別の関数が使用されること、また関数のプログラムの中に別の関数が用いられることもあります。

💡 ポイント

  1. 一定のプログラム処理をひとまとめにしたものを「関数」という。
  2. 自分で関数を作る場合、初めに関数名と処理内容を「定義」する必要がある。
  3. 関数のプログラムの中でその関数が受けとる値のことを「引数」、処理の結果としてプログラムに戻す数値のことを「戻り値」という。
  4. 自分で定義する「ユーザ定義関数」と、あらかじめ組み込まれている「組み込み関数」がある。