基本情報【科目B】令和5年度サンプル問題問2(関数から関数):ポインタを使ってトレース

Uncategorized

基本情報技術者試験 科目Bの「令和5年度 サンプル問題 問2」(関数から関数を呼び出す)を、図解トレースで解説します。単純な処理であれば、マウスポインタを使ってメインとなるプログラムを追えば充分です。

動画で見たい方はこちら▼

問題(令和5年度 サンプル問題 問2)

次の記述中の【 】に入れる正しい答えを,解答群の中から選べ。

次のプログラムにおいて,手続 proc2 を呼び出すと,【 】の順に出力される。

○ proc1()
  "A" を出力する
  proc3()

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

○ proc3()
  "C" を出力する

解答群

ア ”A”, “B”, “B”, “C”
イ ”A”, “C”
ウ ”A”, “C”, “B”, “C”
エ ”B”, “A”, “B”, “C”
オ ”B”, “C”, “B”, “A”
カ ”C”, “B”
キ ”C”, “B”, “A”
ク ”C”, “B”, “A”, “C”

本番さながらの環境で解いてみたい方はこちら↓

解説

正解は ク “C”, “B”, “A”, “C” です。

呼び出す proc2 から、proc1 と proc3 も呼び出されます。処理がシンプルなので、いま実行している行にマウスポインタを当てながらトレースすれば追えます。ここでは ⇐ をポインタと見立てて解説します。

① proc2 の proc3()

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

proc3 は「”C” を出力する」だけなので、ポインタは動かさず、出力結果に反映します。

出力結果

C

② proc2 の "B" を出力する

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

出力結果

C B

③ proc1 の "A" を出力する

proc2()はこれで終わりなので、ポインタを proc1 に移してしまいます。

○ proc1()
  "A" を出力する  ⇐
  proc3()

出力結果

C B A

④ proc1 の proc3()

proc3 は「”C” を出力する」です。

出力結果

C B A C

よって正解は ク “C”, “B”, “A”, “C” です。

Point: いま実行している行にポインタを当てる

手続が別の手続を呼ぶ問題でも、処理が短ければ書き出さなくてOK。今どの行を実行しているかにポインタを当てながら、実行結果を紙にトレースすれば、見失うことはありません。

関連リンク

基本情報科目B-サンプル問題【全44問をがっつり解説】
※サンプル問題だけを解くのは,非効率です。詳細は以下の動画をご確認ください。 おすすめの学習順 サンプル問題(過去問・公開問題)だけを順に解くと、基礎を飛ばしがちになります。そこで、サンプル問題(★)を骨格にしつつ、合間に基礎固め(−)を挟...

関連動画

関数の基礎から学べる動画です。

講座の全動画はこちら(プレイリスト)。

6/30まで限定 無料プレゼント

サンプル問題だけ解いても、
合格できません

サンプル問題は応用ばかり。学習には不向きで、非効率です。段階的に学べるオリジナル問題50問を加えた学習専用サイトを、今だけ無料でプレゼント中

⏱ 2分で終わるアンケートに答えるだけ!

科目B 学習専用サイト ▶ アンケートに答えてサイトを受け取る

※ Googleフォーム(SSL)に移動します

タイトルとURLをコピーしました