基本情報トップに戻る
A難易度: 2026年度

基本情報技術者 一問一答A 第56問

問題

再帰呼出しとは何か。

選択肢

  1. 1関数が自分自身を呼び出す処理
  2. 2反復処理より常に高速
  3. 3無限ループにならない
  4. 4メモリ一定

正解

1. 関数が自分自身を呼び出す処理

詳しい解説を見る

解説

再帰呼出しとは、関数(手続)が処理の中で自分自身を呼び出す方式である。階乗の計算(n!=n×(n−1)!)、フィボナッチ数列、クイックソート、木構造の走査など、同じ構造の小さな問題に分解できる処理を簡潔に記述できる。正しく動作させるには再帰を止める終了条件(基底ケース)が必須であり、これがないと呼出しが無限に続きスタックオーバーフローが発生する。反復処理より常に高速という記述は誤りで、関数呼出しのオーバーヘッドにより一般にループより遅く、呼出しの深さに応じてスタックのメモリ消費も増えるため「メモリ一定」も誤りである。基本情報技術者試験では再帰関数のトレース(与えられた引数に対する戻り値の計算)が頻出であり、終了条件の役割もよく問われる。

一問一答

科目A 180問+科目B 60問

Aの関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。