戻り値とは?もどりち
戻り値とは、関数や手続きが処理を終えたときに、呼び出した側へ返す値。呼び出し側は受け取った値を変数へ代入したり、そのまま式の一部として使ったりできる。呼び出し側から渡す入力が引数、関数から戻す出力が戻り値にあたり、科目Bの擬似言語ではreturnで何を返すかを指定する。
最終更新:2026-10-09
この語が出る過去問を解く →背景
処理をまとめて名前を付けても、結果を受け取る道がなければ、呼び出し側は共有の変数をのぞきに行くしかない。それでは呼び出しの前後で誰がその変数を書き換えたかを追わないと結果を信用できず、部品として切り出した意味が薄れる。入口を引数、出口を戻り値に限ることで、中身を知らなくても「何を渡すと何が返るか」だけで使えるようになった。
具体例
表計算ソフトのSUM関数に範囲を渡すと、その合計が戻り値として返る。科目Bの擬似言語でも、関数の中でreturnの後ろに書いた値が呼び出し側へ戻る。
試験での引っ掛け
引数と戻り値の向きを取り違えないこと。呼び出し側が渡すのが引数、関数が返すのが戻り値である。戻り値は原則1つで、複数返したいときは配列などにまとめて1つの値として返す。値を返さない手続きの戻り値を使う選択肢は誤りになる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:令和4年度 公開問題 基本情報技術者試験 科目A 問8(IPA)解説で登場
自然数nに対して、次のとおり再帰的に定義される関数f(n)を考える。f(5)の値はどれか。 f(n): if n≦1 then return 1 else re…
正解:15
要点:再帰関数は終了条件まで展開して値を積み上げて求める
この関数は引数が1以下なら1を返し、それ以外は引数と1小さい引数での結果を足す。展開すると5+4+3+2+(1のときの戻り値1)となる。したがって5+4+3+2+1で15が得られる。
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問3(IPA)
次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 関数makeNewArrayは、要素数2以上の整数型の配列を引数…
正解:17
要点:末尾に前回値を足し込む処理は累積和を作る
この関数はoutの末尾の値に入力の次の要素を足しては追加していくので、結果は入力の累積和(先頭からの部分和)の並びになります。入力{3, 2, 1, 6, 5, 4}に対して出力は3、5、6、12、17、21となります。要素番号5の値は先頭5個の合計で、3+2+1+6+5=17です。
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問6(IPA)
次のプログラム中の に入れる正しい答えを、解答群の中から選べ。 関数revは8ビット型の引数byteを受け取り、ビットの並びを逆にした値を返す。例えば、関数re…
正解:r ← (r << 1) ∨ (rbyte ∧ 00000001) rbyte ← rbyte >> 1
要点:ビット反転は最下位を取り出し結果を左シフトして積む
ビット順を反転させる定石は、元の値から最下位ビットを1つずつ取り出し、結果側では左へ押し込んでいく方法です。rbyte ∧ 00000001 で最下位ビットだけを取り出し、rを1ビット左シフトしてから論理和で下端に加えます。その後 rbyte を1ビット右シフトして次のビットを最下位に持ってくれば、8回の繰返しで並びが逆になります。
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問8(IPA)
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問11(IPA)
次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 関数binSortをbinSort( )として呼び出すと、戻り値…
正解:{2, 6, 3, 1, 4, 5}
要点:値を添字にする分配法は入力が1〜nの順列である必要がある
この処理は値そのものを添字にして格納するので、bins[v] に v が入ります。戻り値に未定義の要素が残らず昇順に並ぶには、添字1からnまでのすべてが1回ずつ埋まる必要があり、入力は1からnまでの整数がちょうど1つずつ並んだもの、つまり1〜nの順列でなければなりません。要素数6の選択肢のうち、1から6が重複なく揃っているのは{2, 6, 3, 1, 4, 5}だけです。
出典・参考
公式シラバスの1 基礎理論 > 3. プログラミング > (1) プログラミングに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。