第9回 関数

プログラミング準備室

こんにちは!みらびの準備室の「さん」です。

高校で数学と情報を教えています!

「プログラミング準備室」では、共通テスト情報Ⅰで出題される「プログラミング」について学べます。

今回は「関数」について解説していきます!

生徒
生徒

関数?数学でもやったけど…プログラミングでも出てくるの?

さん
さん

出てくるよ!でも意味がちょっと違うから、一緒に学んでいこうね!

スポンサーリンク

関数とは?

関数とは、
「何かの処理をひとまとめにして、あとで何度でも呼び出せる仕組み」 のことです。

生徒
生徒

うーん… いまいちピンとこないなあ。

さん
さん

じゃあ、「自動販売機でジュースを買う」場面を想像してみよう。

自動販売機でジュースを買う手順
  1. お金を入れる。
  2. ボタンを押す。
  3. ジュースを取り出す。
  4. お釣りを取り出す。

「自動販売機でジュースを買う」ときは、毎回この4つの処理を行わなければいけません。

そこで、これらの処理をひとまとめにして、4つの処理を1度に実行できるようにします。

この仕組みを関数といいます。

生徒
生徒

同じ処理を何度も記述しなくても済むってことか!

さん
さん

そうだね。関数は「複数の処理をひとまとめにしたもの」なんだ!


関数:表示する()


ここまでずっと使ってきた 「表示する()」 も、関数なんです。

ソースコード

(1) 表示する(“こんにちは!”)

生徒
生徒

そういえば、これも関数だったね。第1回で学んだね。

さん
さん

画面に表示するための複雑な処理を、ひとまとめにしてくれているんだ。


関数:あいさつ()

さん
さん

挨拶をしてくれる関数を作ってみよう。

変数 name に与えられた名前に対して、「こんにちは〇〇さん!」と挨拶をするプログラムを考えてみました。

ソースコード

(1) name = “タロー”
(2) 表示する(“こんにちは、”, name, “さん!”)

実行結果

こんにちは、タローさん!

さん
さん

この2つの処理をまとめた関数「あいさつ()」を作ったよ。

生徒
生徒

その関数はどうやって使うの?

関数「あいさつ()」を使って、タローさんとハナコさんに挨拶をしてみます。

ソースコード

(1) あいさつ(“タロー”)
(2) あいさつ(“ハナコ”)

実行結果

こんにちは、タローさん!
こんにちは、ハナコさん!


引数とは?

生徒
生徒

「あいさつ(“タロー”)」って書いてあるけど、( )の中の“タロー”ってなに?

さん
さん

いい質問だね!その“タロー”のことを 引数(ひきすう) って呼ぶんだよ。

引数とは、
「関数に渡す情報」のことです。

関数は、引数を受け取って、その値を使って処理をします。

ソースコード

(1) あいさつ(“タロー”)

このように書くと、「タロー」という文字列が 関数「あいさつ」に渡されて、

実行結果

こんにちは、タローさん!

このようなメッセージが表示されます。

さん
さん

関数の処理を変えたいときには引数を変えるだけでOKなんだ!

生徒
生徒

たしかに、「あいさつ(“ハナコ”)」にすれば、ハナコさんって呼んでくれるんね!

ソースコード

(1) あいさつ(“ハナコ”)

実行結果

こんにちは、ハナコさん!

スポンサーリンク

「値を返す関数」と「値を返さない関数」

共通テスト用プログラム表記の例示では、次のように書かれています。

生徒
生徒

値を返す関数?値を返さない関数?なんのこと?

さん
さん

関数は大きく分けて「値を返す関数」と「値を返さない関数」の2種類があるんだ。具体例で説明していくね。


「値を返す関数」と「値を返さない関数」の違いは、関数を使ったあとに「結果(値)」が返ってくるかどうかです。

値を返す関数

値を返す関数は、関数を使うと「結果」が返ってきて、それを変数などに代入できます。

例として 関数「要素数()」が使われています。

関数「要素数()」の説明

要素数(配列)•••引数として「配列」が与えられ、その配列に含まれる要素の個数が戻り値となる関数。

ソースコード

(1) Data = [1, 2, 3, 4, 5]
(2) kazu = 要素数(Data)
(3) 表示する(kazu)

実行結果

5

引数の配列「Data」には 5つ の要素が入っているので、関数「要素数(Data)」を実行すると「5 」という「結果」を返します。

この返す「結果」のことを「戻り値」といいます。

生徒
生徒

なるほどね。関数が実行された結果を、プログラムの中で使うことができるんだ。

さん
さん

別の例でも説明するよ。

関数「整数()」と関数「乱数()」についても説明します。


関数「整数()」の説明

整数(値)•••引数として「値」が与えられ、その値の小数部分を切り捨た整数が戻り値となる関数。

ソースコード

(1) seisu = 整数(1.98)
(2) 表示する(seisu)

実行結果

1

引数の値は「1.98」なので、小数部分を切り捨てた「1」が戻り値になります。


関数「乱数()」の説明

乱数()•••引数を必要としない、0以上1未満のランダムな小数が戻り値となる関数。

ソースコード

(1) a = 乱数()
(2) b = 乱数()
(3) c = 乱数()
(4) 表示する(a)
(5) 表示する(b)
(6) 表示する(c)

実行結果

0.3816
0.7924
0.1037

0以上1未満のランダムな小数を戻り値とします。使うたびに別の結果になります。

生徒
生徒

引数がいらない関数もあるんだ!

さん
さん

そうなんだ。逆に引数が複数必要な関数も作ることができるんだよ。


値を返さない関数

値を返さない関数は「結果」は返さず、その場で何かを実行するだけの関数です。

ソースコード

(1) 表示する(“こんにちは!”)

実行結果

こんにちは!

このように、画面に文字や数値を出力するだけで、何かを返してはいません。

生徒
生徒

あ、これまでいっぱい使ってきた 関数「表示する()」も、値は返してなかったのか!

さん
さん

うん。「出力はするけど、返り値はない」っていう関数なんだよ。

関数の補足

共通テスト用プログラム表記の例示では関数について、2つの補足ポイントがあります。

※「表示する」関数はカンマ区切りで文字列や数値を連結できる。
※「表示する」関数以外は基本的に問題中に説明あり

ソースコード

(1) tensu = 82
(2) 表示する(“情報の点数は”, tensu, “です”)

実行結果

情報の点数は 82 です

生徒
生徒

関数は問題文で説明があるんだね。それなら安心だ。

さん
さん

「この関数はどんなことができるのか」を理解する力が必要になるんだ。

スポンサーリンク

練習問題

練習問題

次のプログラムを実行したときに、表示されるものを答えなさい。ただし、関数「乱数()」の戻り値は「0.7012」とする

関数「整数()」の説明

整数(値)•••引数として「値」が与えられ、その値の小数部分を切り捨た整数が戻り値となる関数。

関数「乱数()」の説明

乱数()•••引数を必要としない、0以上1未満のランダムな小数が戻り値となる関数。

ソースコード

(1) saikoro = 整数(乱数() * 6) + 1
(2) 表示する(saikoro)

生徒
生徒

関数の引数に関数がある•••

さん
さん

1つずつ考えれば大丈夫だよ。頑張ってみよう!

5

まとめ

今回は「関数」について解説しました。

  • 関数とは、「処理をひとまとめにして、あとで呼び出せる仕組み」
  • 関数には 引数 を渡して、処理内容を変えることができる
  • 関数には 値を返す関数値を返さない関数 の2種類がある
  • 「表示する()」のように、返り値はないけど動作だけする関数もある
  • 共通テストでは、「表示する」以外の関数は 問題中で説明される
さん
さん

今回で、共通テストを解くための知識は揃ったよ。必要な知識はこれだけ!あとは実践あるのみだね!

生徒
生徒

これだけの知識でいいのか!思ったより簡単かも!本屋さんで問題集買ってこようかな。

次に進む → 第10回 まとめ

コメント

タイトルとURLをコピーしました