共通テスト 情報Ⅰ・4-9

関数と引数・戻り値の一問一答

共通テスト「情報Ⅰ」の「アルゴリズムとプログラミング」から、関数と引数・戻り値に関する4択問題を10問。「答えと解説を見る」を開くと、正解とその理由がその場で読めます。会員登録は不要です。

この分野の演習

全10問/解説付き・基本無料

アプリ形式で解く(全800問) アルゴリズムとプログラミングの要点解説を読む
問題

上から順に解いてみてください。答えは各問の下で確認できます。

問14-9・基礎

関数 要素数(Data) の Data のように、関数を呼び出すときにかっこの中に書いて関数に渡す値を何というか。

  • ①引数
  • ②戻り値
  • ③添字
  • ④要素
答えと解説を見る
正解 ①引数
解説
正解は「引数」(ひきすう)。関数に処理してほしい値を渡すのが引数です。

なぜ
関数は、決まった処理をひとまとまりにして名前を付けたものです。一度作れば何度でも呼び出せるので、同じ処理を書き直さずに使い回せます。呼び出すときは、関数名の後のかっこの中に、処理に使う値を書いて渡します。要素数(Data) なら、個数を数える配列として Data を渡しています。

ひっかけ注意

・「戻り値」…関数が処理の結果として呼び出し元に返す値です。kazu = 要素数(Data) なら、返ってきた個数が kazu に入ります。
・「添字」…配列の何番目かを表す番号で、Data[2] のように [ ] の中に書きます。特に説明がなければ 0 から始まります。
・「要素」…配列に入っている1つ1つの値です。Data = [10, 20, 30] なら要素は3個で、要素数(Data) は 3 を返します。
問24-9・基礎

kazu = 要素数(Data) のように、関数が処理の結果として返し、変数に代入したり式の中で使ったりできる値を何というか。

  • ①引数
  • ②戻り値
  • ③初期値
  • ④添字
答えと解説を見る
正解 ②戻り値
解説
正解は「戻り値」。関数が処理の結果として、呼び出し元に返す値です。

なぜ
要素数() は、配列の要素の個数を返す関数です。返された値は、kazu に代入したり、要素数(Data) - 1 のように式の中で使ったりできます。資料では、値を返す関数(要素数 など)と、値を返さない関数(表示する)を分けて例に挙げています。

ひっかけ注意

・「引数」…関数を呼び出すときに、かっこの中に書いて渡す値です。要素数(Data) では Data が引数です。
・「初期値」…変数に最初に入れておく値です。合計を求めるときの goukei = 0 の 0 などがその例です。
・「添字」…配列の要素を指定する番号です。要素数が n の配列では、0 から n − 1 までを使います。
問34-9・基礎

次のプログラムを実行したとき、n の値はどれか。
Data = [3, 1, 4, 1, 5]
n = 要素数(Data) * 2

  • ①8
  • ②28
  • ③10
  • ④5
答えと解説を見る
正解 ③10
解説
正解は「10」。要素数(Data) の戻り値 5 に 2 をかけます。

手順
①要素数(Data) は、Data の中の値の個数 5 を返す。
②返ってきた 5 を式の中で使い、5 * 2 を計算する(* はかけ算)。
③n は 10。

ひっかけ注意

・「8」…最後の添字 4 に 2 をかけた値です。要素数は個数なので、添字の最大値(4)より 1 大きい 5 です。
・「28」…要素の値の合計 14 に 2 をかけた値です。要素数() が返すのは、値の合計ではなく個数です。
・「5」…要素数(Data) の戻り値そのものです。戻り値は式の中で使えるので、続けて * 2 まで計算します。
問44-9・基礎

関数 整数(x) は、正の数 x の小数点以下を切り捨てた整数を返すものとする。次のプログラムを実行したとき、y の値はどれか。
y = 整数(7.8) + 整数(2.5)

  • ①10
  • ②11
  • ③10.3
  • ④9
答えと解説を見る
正解 ④9
解説
正解は「9」。整数(7.8) は 7、整数(2.5) は 2 を返すので、7 + 2 = 9 です。

なぜ
切り捨ては、小数点より下の部分を捨てる処理です。四捨五入ではないので、7.8 も 7 になります。関数の戻り値どうしは、ふつうの数と同じように足し算できます。共通テスト用プログラム表記では、表示する 以外の関数は基本的に問題文で説明されるので、説明(切り捨てか四捨五入か など)を必ず読みます。

ひっかけ注意

・「10」…先に 7.8 + 2.5 = 10.3 を計算してから切り捨てた値です。整数(7.8) と 整数(2.5) は、それぞれ先に計算されます。
・「11」…四捨五入して 8 + 3 とした値です。この問題の 整数(x) は切り捨てなので、7.8 は 7 になります。
・「10.3」…切り捨てをせずに足した値です。整数(x) の戻り値は、小数点以下の無い整数です。
問54-9・標準

関数 乱数() は 0 以上 1 未満のランダムな小数を返し、関数 整数(x) は 0 以上の数 x の小数点以下を切り捨てた整数を返すものとする。0 以上 9 以下の整数のどれかを得る式として正しいものはどれか。

  • ①整数(乱数() * 10)
  • ②整数(乱数() * 9)
  • ③整数(乱数() * 10) + 1
  • ④整数(乱数()) * 10
答えと解説を見る
正解 ①整数(乱数() * 10)
解説
正解は「整数(乱数() * 10)」。乱数() に 10 をかけると 0 以上 10 未満になり、切り捨てると 0 から 9 になります。

手順
①乱数() は 0 以上 1 未満の小数。
②10 をかけると 0 以上 10 未満(10 ちょうどにはならない)。
③小数点以下を切り捨てると 0、1、…、9 の10通りのどれかになる。

ひっかけ注意

・「整数(乱数() * 9)」…0 以上 9 未満を切り捨てるので、結果は 0〜8 の9通りで、9 が出ません。かける数は、出したい整数の個数(ここでは10)にします。
・「整数(乱数() * 10) + 1」…1〜10 の10通りになり、0 が出ません。+ 1 は範囲を1つずらす働きで、さいころの 1〜6 なら 整数(乱数() * 6) + 1 です。
・「整数(乱数()) * 10」…乱数() は 1 未満なので、先に切り捨てると必ず 0 になり、結果はいつも 0 です。
問64-9・標準

関数 baisu(n) は、引数 n の 2 倍の値を返すものとする。次のプログラムを実行したとき、x の値はどれか。
x = baisu(baisu(3)) + 1

  • ①7
  • ②13
  • ③12
  • ④14
答えと解説を見る
正解 ②13
解説
正解は「13」。内側の関数から先に計算し、その戻り値を外側の関数の引数にします。

手順
①内側:baisu(3) は 6 を返す。
②外側:baisu(6) は 12 を返す。
③12 + 1 = 13。

ひっかけ注意

・「7」…baisu を1回だけ計算した値(6 + 1)です。baisu(baisu(3)) では、関数が2回呼ばれます。
・「12」…最後の + 1 を忘れた値です。関数の戻り値 12 に、式の続きの + 1 を計算します。
・「14」…baisu(baisu(3) + 1) のように、内側の戻り値 6 に 1 を足してから2倍した値((6 + 1) × 2)です。かっこの位置で計算の順番が変わります。
問74-9・標準

関数 ookii(a, b) は、a と b のうち大きい方の値(等しいときはその値)を返すものとする。次のプログラムを実行したとき、表示される値はどれか。
Data = [6, 11, 3, 9]
m = Data[0]
i を 1 から 3 まで 1 ずつ増やしながら繰り返す:
⎿ m = ookii(m, Data[i])
表示する(m)

  • ①9
  • ②29
  • ③11
  • ④3
答えと解説を見る
正解 ③11
解説
正解は「11」。大きい方を返す関数を順に使うので、m には配列の最大値が残ります。

手順
①m は Data[0] の 6 から始まる。
②ookii(6, 11) は 11、ookii(11, 3) は 11、ookii(11, 9) は 11 を返す。
③最後に 11 を表示する。

ひっかけ注意

・「9」…最後に比べた Data[3] の値です。ookii(11, 9) の戻り値は大きい方の 11 なので、m は 11 のままです。
・「29」…すべての要素の合計です。ookii は足し算をせず、2つの値のうち大きい方を1つだけ返します。
・「3」…最小値です。2つのうち小さい方を返す関数を使った場合に、この値が残ります。
問84-9・標準

関数 heikin(a, b) は、(a + b) / 2 の値を返すものとする。次のプログラムを実行したとき、表示される値はどれか。
x = heikin(4, 9)
表示する(x)

  • ①6
  • ②13
  • ③7
  • ④6.5
答えと解説を見る
正解 ④6.5
解説
正解は「6.5」。引数 a に 4、b に 9 が渡され、(4 + 9) / 2 = 6.5 が返されます。

手順
①呼び出しのかっこの順に、a = 4、b = 9 が渡される。
②関数の中で (4 + 9) / 2 を計算する。
③/ はふつうの割り算なので 13 / 2 = 6.5 が戻り値になり、x に入る。

ひっかけ注意

・「6」…13 ÷ 2 の商(整数の除算)です。関数の説明は / なので、小数まで求めて 6.5 になります。
・「13」…2 で割る前の a + b の値です。戻り値は、説明どおり (a + b) / 2 を計算した結果です。
・「7」…6.5 を四捨五入した値です。関数の説明に四捨五入は無いので、6.5 のまま返されます。
問94-9・標準

関数 hiku(a, b) は、a - b の値を返すものとする。次のプログラムを実行したとき、表示される値はどれか。
x = 10 , y = 3
kekka = hiku(y, x)
表示する(kekka)

  • ①-7
  • ②7
  • ③13
  • ④-13
答えと解説を見る
正解 ①-7
解説
正解は「-7」。引数は書いた順に渡されるので、a に y の 3、b に x の 10 が入ります。

手順
①hiku(y, x) の1つ目の y(3)が a に、2つ目の x(10)が b に対応する。
②関数は a − b = 3 − 10 を計算する。
③戻り値 −7 を表示する。変数の名前ではなく、並んだ順番で対応が決まります。

ひっかけ注意

・「7」…10 − 3 と、引数を逆の順番で対応させた値です。1つ目の y(3)が a、2つ目の x(10)が b に入ります。
・「13」…3 + 10 の和です。hiku は a − b(引き算)を返す関数なので、足し算はしません。
・「-13」…−3 − 10 と、a の符号まで反対にした値です。a は 3 のままなので、3 − 10 = −7 です。
問104-9・標準

関数 zettai(n) は、n が負のときは -n を、そうでないときは n を返すものとする。次のプログラムを実行したとき、表示される値はどれか。
Data = [3, -5, 2, -1]
goukei = 0
i を 0 から 3 まで 1 ずつ増やしながら繰り返す:
⎿ goukei = goukei + zettai(Data[i])
表示する(goukei)

  • ①-1
  • ②11
  • ③5
  • ④6
答えと解説を見る
正解 ②11
解説
正解は「11」。負の数は符号を反対にして正にしてから足すので、3 + 5 + 2 + 1 = 11 です。

手順
①zettai(3) = 3、zettai(-5) = 5(−(−5) = 5)。
②zettai(2) = 2、zettai(-1) = 1。
③3 + 5 + 2 + 1 = 11。

ひっかけ注意

・「-1」…zettai を通さずに、そのまま足した値(3 − 5 + 2 − 1)です。足すのは関数の戻り値なので、負の数は正に直ってから足されます。
・「5」…正の数(3 と 2)だけを足した値です。負の数も zettai で正に直してから足します。
・「6」…負の数だけを正にして足した値(5 + 1)です。正の 3 と 2 も、zettai を通してそのまま足されます。

当サイトは、独立行政法人 大学入試センターとは一切関係のない、非公式の学習サイトです。試験に関する最新情報は、大学入試センターの公式サイトでご確認ください。

共通テスト 情報Ⅰ 基礎完全対策(全800問)に戻る

※本ページでは、アクセス解析(Googleアナリティクス)と、広告の配信・成果の計測(A8.net)のためにCookie等を利用し、閲覧に関する情報をGoogle LLC・株式会社ファンコミュニケーションズへ送信しています。詳しくはプライバシーポリシーをご覧ください。

※本ページの問題・解説は、生成AI(人工知能)を活用して作成しています。

【PR】