科目B
令和5年度 基本情報技術者試験 科目B 公開問題 問2
次の記述中の に入れる正しい答えを,解答群の中から選べ。
次のプログラムにおいて,手続 proc2 を呼び出すと, の順に出力される。
〔プログラム〕
○proc1() "A" を出力する proc3() ○proc2() proc3() "B" を出力する proc1() ○proc3() "C" を出力する
答えを選ぶ
出典:令和5年度 基本情報技術者試験 科目B 公開問題 問2(問題文は IPA の公開問題。図・数式・下線などはテキストに直して掲載。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:ク
覚える知識
手続呼出しの実行順序のトレース
手続を呼び出すと、呼び出された手続を最後まで実行してから、呼出し元の次の行に戻ります。入れ子の呼出しでは、呼ばれた順に中身を展開して追います。
この問題で必要なこと
proc2 は上から順に実行されます。まず proc3 を呼んで "C" を出力し、次に "B" を出力します。続いて proc1 を呼び、proc1 の中で "A" を出力したあと proc3 を呼んで "C" を出力します。出力は C, B, A, C の順になり、正解はクです。
ひっかけ
キは、proc1 の中にある proc3 呼出しを見落とすと選んでしまいます。オ・エなどは、手続が定義されている順番や proc1 の中身から出力が始まると思い違いした場合の並びです。