科目B

令和5年度 基本情報技術者試験 科目B 公開問題 問2

次の記述中の に入れる正しい答えを,解答群の中から選べ。 次のプログラムにおいて,手続 proc2 を呼び出すと, の順に出力される。 〔プログラム〕
○proc1()
  "A" を出力する
  proc3()

○proc2()
  proc3()
  "B" を出力する
  proc1()

○proc3()
  "C" を出力する
答えを選ぶ

出典:令和5年度 基本情報技術者試験 科目B 公開問題 問2(問題文は IPA の公開問題。図・数式・下線などはテキストに直して掲載。解説は当サイト作成)

科目Bの解き方と全問の一覧

解説に誤りを見つけたら、解説の誤りを報告してください。

答えと解説を見る

正解:ク

覚える知識

手続呼出しの実行順序のトレース

手続を呼び出すと、呼び出された手続を最後まで実行してから、呼出し元の次の行に戻ります。入れ子の呼出しでは、呼ばれた順に中身を展開して追います。

この問題で必要なこと

proc2 は上から順に実行されます。まず proc3 を呼んで "C" を出力し、次に "B" を出力します。続いて proc1 を呼び、proc1 の中で "A" を出力したあと proc3 を呼んで "C" を出力します。出力は C, B, A, C の順になり、正解はクです。

ひっかけ

キは、proc1 の中にある proc3 呼出しを見落とすと選んでしまいます。オ・エなどは、手続が定義されている順番や proc1 の中身から出力が始まると思い違いした場合の並びです。