平成24年度 春期 午前 問49
ソフトウェア開発管理技術
サブルーチンへの引数の渡し方のうち,変数を引数として渡しても,サブルーチンの実行後に変数の値が変更されないことが保証されているものはどれか。
- ア値呼出し
- イ結果呼出し
- ウ参照呼出し
- エ名前呼出し
答えと解説を見る
✓ これが正解ア値呼出し
解説
値を写して渡せば呼び出し元の変数は変わりません。
サブルーチンに変数を渡すやり方には、値そのものを写して渡すやり方と、その変数のありかを教えるやり方があります。前者が値呼出しで、サブルーチンの側が受け取るのは複製ですから、その中でいくら書き換えても、呼び出した側の変数はもとのままに保たれます。後者ではサブルーチンの側が触っているのが呼び出し元の変数そのものなので、書き換えればそのまま呼び出し元に残ります。両者の中間として、中で決まった値を戻るときに書き戻すやり方や、引数を式のまま持ち込んで使うたびに評価するやり方もあります。判定の軸は、渡されるのが複製なのか呼び出し元へ届く手がかりなのか、そして戻るときに書き戻す段取りがあるかどうかです。
ほかの選択肢はなぜ違うのか
- イ結果呼出し:サブルーチンの中で定まった値を、処理を終えて戻る時点で呼び出し元の変数へ写し返す渡し方を指す語です。写し返す段取りがある以上、もとの値が保たれるとは言えません。
- ウ参照呼出し:変数のありかそのものを教える渡し方を指す語です。サブルーチンが触っているのは呼び出し元の変数そのものなので、そこでおこなった書換えはそのまま呼び出し元に残ります。
- エ名前呼出し:引数を評価しないまま式の形で持ち込み、使われるたびにその場で評価する渡し方を指す語です。持ち込まれた式が変数を指していれば、その変数が書き換わることがあります。
出典:平成24年度 春期 基本情報技術者試験 午前 問49
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)