答え イ
【解説】
メインプログラムが手続きadd (X 、Y )を呼出したときの、X 、Y の値は、X =2、Y =2である。
手続きadd (X 、Y )の1行目の処理X =X +Y を行うと、X =2、Y =2なので、X =4 になり、
2行目の処理X =X +Y を行うと、X =4、Y =2なので、Y =6 になる。
3行目のreturnで手続きを抜けてメインプログラムに戻るが、X は値呼出しなので手続き内の値はメインプログラムに影響せず、X =2のままである。
また、Y は参照呼出しなので手続き内の値がメインプログラムにも引き継がれて、Y =6(イ)である。