※本情報は解説作成時点のもので、閲覧時点では法改正等により情報が変更になっている場合がございます。あらかじめご理解いただければ幸いです。
正解は「H. “C”,“B”,“A”,“C”」です。
この問題は、複数の手続き呼び出しが入れ子になったときの出力順序を理解する問題です。proc2 を呼び出すと、手続きの呼び出し順に応じて文字列が出力されます。
この記事では、基本情報技術者試験(FE)試験(令和5年度)で出題された過去問の第2問「手続き呼び出し順序」について、試験対策の観点からわかりやすく解説します。
Contents
プログラムの呼び出し構造
proc2 → proc3 → “B” → proc1 → “A” → proc3 → “C”
各手続きの内容を整理すると以下の通りです:
- proc1(): “A”を出力 → proc3() を呼び出す
- proc2(): proc3() → “B”を出力 → proc1() を呼び出す
- proc3(): “C”を出力
この構造を順番に追うと、proc2 呼び出し時の出力順序は “C”, “B”, “A”, “C” となります。
出力順序の理解ポイント
- 呼び出された手続きは、内部の命令を順に実行
- 手続き内で別の手続きが呼ばれた場合、その手続きが完了してから元の手続きに戻る
- この「呼び出し→実行→戻る」の順序を意識すると正しい出力順序が分かる
他の選択肢との違い
- “A”,“B”,“B”,“C”:proc1 の出力順序を誤っている
- “A”,“C”,“B”,“C”:B の出力順序が前後している
- “B”,“C”,“B”,“A”:最初に B が出力されるのは誤り
正しい出力順序は H の “C”,“B”,“A”,“C” のみです。
問われているポイント
この問題では、手続き呼び出しの入れ子構造と実行順序を理解しているかが問われています。
手続き呼び出しの流れを順に追うことが解答の鍵です。
気を付けてほしい点(勘違いしやすいポイント)
- 呼び出し順序と出力順序は必ず一致するとは限らない
- 手続き内で別手続きを呼ぶ場合は、呼ばれた手続きが先に実行される
補足
再帰や入れ子呼び出しの理解が不十分だと間違いやすいポイントです。
基本情報技術者試験(FE)試験での出題パターン
手続き呼び出し順序や再帰の理解を問う問題は毎年出題されます。
フローチャートや擬似コードでの出題が多く、順序を正確に追う練習が重要です。
この知識が使われている問題
まとめ
- proc2 を呼び出すと出力順序は “C”,“B”,“A”,“C”
- 手続き呼び出しの入れ子構造と実行順序を正しく理解することが重要