メインコンテンツへスキップ
応用情報技術者2011年度 秋期午前問 22

2011年度 秋期 応用情報技術者 午前 問22

難度標準

メインプログラムを実行した結果はどれか。ここで、static は静的割当てを,auto は動的割当てを表す。

メインプログラム

auto int x, y;

x = f(2) + f(2);

y = g(2) + g(2);

関数 f(u)

auto int u;

auto int v = 1;

v = v + u;

return v;

関数 g(u)

auto int u;

static int v = 1;

v = v + u;

return v;

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

関数fの変数vはauto(自動変数)で宣言されているため、関数呼び出しのたびに1で初期化されます。

詳細Layer 2
展開

したがって、f(2)は毎回 v=1+2=3 を返します。よって、x = f(2) + f(2) は 3 + 3 = 6 となります。一方、関数gの変数vはstatic(静的変数)で宣言されているため、1に初期化され、呼出しのたびには再初期化されず、その値はプログラム終了まで保持されます。1回目のg(2)呼び出しではv=1+2=3となり3を返します。2回目のg(2)呼び出しでは、保持されていたv=3に2が加算されv=5となり5を返すため、y = g(2) + g(2) は 3 + 5 = 8 となります。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

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

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
学習の進め方
擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
関連キーワード
計算量二分探索クイックソート再帰スタックキュー木構造
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

アルゴリズムとプログラミング の他の問題

他試験区分の同分野問題

応用情報技術者 と共通カリキュラムの他区分で「アルゴリズムとプログラミング」分野を演習する

他年度の「アルゴリズムとプログラミング」問題

応用情報技術者 の同じ分野を年度をまたいで演習する

応用情報技術者 の学習ガイド