メインプログラムで定義された変数 X, Y の値は、サブルーチン呼び出し時の引数渡し方法によって変化します。値渡し(call by value)は、引数として渡された変数の「値」のコピーが仮引数に代入されるため、サブルーチン内での仮引数の変更は元の変数に影響しません。一方、参照渡し(call by reference)は、引数として渡された変数の「メモリ上のアドレス」が仮引数に代入されるため、サブルーチン内での仮引数の変更は元の変数そのものを変更します。
2013年度 春期 ITストラテジスト 午前I 問7
メインプログラムを実行した後、メインプログラムの変数 X, Y の値は幾つになるか。ここで、仮引数 X は値呼出し(call by value), 仮引数 Y は参照呼出し(call by reference)であるとする。
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
問題文の定義に従うと、仮引数 X は値渡し、Y は参照渡しです。メインプログラムで X=2, Y=4 が初期値として与えられており、サブルーチン呼び出し時に X, Y が渡されます。サブルーチン内で X の値が更新され、Y の値も更新される処理が行われたと想定できます。値渡しである X はサブルーチンで更新されてもメインプログラムの X には影響しないため、初期値のままです。参照渡しである Y はサブルーチンでの更新がメインプログラムの Y に反映されるため、値が変化します。図表がないため具体的な処理は不明ですが、選択肢から Y の値が 6 に変化したと推測すると、メインプログラムの X は初期値の 2 のまま、Y は 4 から 6 に更新されたと考えられます。
アは、参照渡しである Y の値が変更されていないため不適切です。イは、値渡しである X が初期値のまま 2 であり、参照渡しである Y が 6 に更新されたことを示しており、問題の条件と合致する可能性が最も高いです。ウは、X が 4 に変更されているため値渡しと矛盾します。エは、X が 4 に変更されているため値渡しと矛盾します。
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「開発技術」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 本問の分野で問われる代表的な知識・用語の整理。
- 学習の進め方
- 正解/誤答の選択肢ごとに「なぜ正しい / なぜ違うのか」を1行ずつ言語化すると定着する。
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
開発技術 の他の問題
- ITストラテジスト2009年度 秋期 午前I 問9Web アクセシビリティに配慮した画面の設計方針のうち、適切なものはどれか。
- ITストラテジスト2009年度 秋期 午前I 問16JIS X 0129-1 で規定されたソフトウェア製品の品質副特性の説明のうち、信頼性に分類されるものはどれか。
- ITストラテジスト2009年度 秋期 午前I 問19ソフトウェアの開発規模と開発工数の関係を表すグラフはどれか。
- ITストラテジスト2010年度 秋期 午前I 問9ヤコブ・ニールセンのユーザインタフェースに関する 10 か条のヒューリスティックスの一つである“システム状態の視認性”に該当するものはどれか。
- ITストラテジスト2010年度 秋期 午前I 問10コンピュータグラフィックスに関する記述のうち、適切なものはどれか。