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

問題20

ポケットスタディ 基本情報午後・要点整理―即効!7つの知識 (情報処理技術者試験)

メインプログラムを実行した後、メインプログラムの変数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は参照呼出しのため、値がとなる。

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

前の問題 次の問題

Copyrithg naruha