平成27年度春期 応用情報技術者試験 午前 問7

分野:アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語)|実際に出題されたIPA過去問題

プログラムの実行に関する次の記述の下線部 a〜d のうち,いずれかに誤りがある。誤りの箇所と正しい字句の適切な組合せはどれか。自分自身を呼び出すことができるプログラムは,a 再帰的 であるという。このようなプログラムを実行するときは,b スタック に局所変数,c 仮引数 及び戻り番地を格納して呼び出し,復帰するときは d FIFO(First In First Out) 方式で格納したデータを取り出して復元する必要がある。

  1.  a 再入可能
  2.  b 待ち行列
  3.  c 実引数
  4.  d LIFO(Last In First Out)
解答・解説を見る

正解:エ

AI解説

再帰呼出しでは、呼び出すたびに局所変数・仮引数・戻り番地をスタックに積み(プッシュ)、復帰時には積んだのと逆順、すなわち後入れ先出し(LIFO)で取り出して復元する。誤りはdのFIFOであり、正しくはLIFOなのでエが正解である。 ア: 「再帰的(リカーシブ)」は正しい記述である。再入可能(リエントラント)は複数のタスクから同時に呼ばれても正しく動作する性質で、別の概念である。 イ: 「スタック」は正しい記述である。待ち行列(キュー)はFIFO構造であり、再帰の退避領域には使わない。 ウ: 「仮引数」は正しい記述である。実引数は呼び出す側が渡す値のことで、呼び出された側で確保されるのは仮引数である。 エ: 正解。復帰時はFIFOではなくLIFO(後入れ先出し)で取り出す。 💡 スタック=LIFO、キュー=FIFOの対応は最頻出。関数呼出し・再帰・割込みからの復帰は常にスタック(LIFO)とセットで覚える。

出典:平成27年度 春期 応用情報技術者試験 午前 問7 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「アルゴリズムとプログラミング」分野の攻略ポイント

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語))の過去問