メインコンテンツへスキップ
高度試験共通2013年度 春期午前I問 7

2013年度 春期 高度試験共通 午前I 問7

難度標準

メインプログラムを実行した後、メインプログラムの変数 X, Y の値は幾つになるか。ここで、仮引数 X は値呼出し(call by value), 仮引数 Y は参照呼出し(call by reference)であるとする。

メインプログラム

X=2;

Y=2;

add(X, Y);

手続 add(X, Y)

X=X+Y;

Y=X+Y;

return;

選択肢

解説

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

展開
結論Layer 1

呼出し時点ではメイン側のXとYはいずれも2です。

詳細Layer 2
展開

手続内のXは値渡しされたコピーなので、X=X+Yによって4になっても、メイン側のXは2のままです。次のY=X+Yでは、手続内で更新したXの4とYの2を加えて6となります。Yは参照呼出しのため、この更新はメイン側のYにも反映されます。したがって終了後はX=2、Y=6でイです。二つの代入は同時ではなく順に実行されるため、二行目で元のX=2を使ってY=4としないことと、ローカルなXの更新範囲に注意します。

この解説は?
AI生成

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

最終更新:

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

分野「開発技術」の学習ポイント

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

何が問われるか
本問の分野で問われる代表的な知識・用語の整理。
学習の進め方
正解/誤答の選択肢ごとに「なぜ正しい / なぜ違うのか」を1行ずつ言語化すると定着する。
この分野の問題をもっと解く
AI コパイロット

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

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

クイズモードで開く

関連する問題

開発技術 の他の問題

他年度の「開発技術」問題

高度試験共通 の同じ分野を年度をまたいで演習する

高度試験共通 の学習ガイド