必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成28年度春季問題一覧
  4. 平成28年度春季問題20-解答・解説-分析

平成28年度春季問題

問題20

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

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

解答:イ

<解説>

値呼び出し
プログラム中で関数やサブルーチンなどに引数を渡す時に、その値のみを渡す方式である。
参照呼び出し
プログラム中で関数やサブルーチンなどに引数を渡す時に、変数への参照(メモリ中のアドレスなど)を渡す方式である。

 

メインプログラムではX=2,Y=2として手続きaddを呼び出しているので、

X=X+Y→X=2+2=4

X=X+Y→Y=4+2=6

となる。

ただし、Xは値呼び出しのため、メインプログラムのXの値は2のままである。Yは参照呼出しのため、値がとなる。

したがって、イが正解である。