令和7年度 春期 システムアーキテクト試験 午前II 問9
テクノロジアルゴリズムプログラム言語・パラダイム
サブルーチンとの引数の受渡し方のうち,引数として渡した変数の値が,サブルーチンの実行後に変更されないことが保証されているものはどれか。
解答・解説
正解: ア. 値呼出し
サブルーチンとの引数の受渡し方にはいくつかの方式があります。本問で問われている「引数として渡した変数の値が、サブルーチンの実行後に変更されないことが保証されているもの」は 値呼出し です。
各選択肢の解説
- ア (値呼出し): 正解です。引数として変数の値を渡す方式です。サブルーチン側には値のコピーが渡されるため、サブルーチン内で値を変更しても呼び出し元の変数の値は変更されません。
- イ (結果呼出し): 誤りです。サブルーチンの終了時に、サブルーチン内での計算結果を呼び出し元の変数に書き戻す方式です。そのため、呼び出し元の変数の値は変更されます。
- ウ (参照呼出し): 誤りです。引数として変数のメモリアドレスを渡す方式です。サブルーチン側でそのアドレスにあるデータを直接操作するため、呼び出し元の変数の値も変更されます。
- エ (名前呼出し): 誤りです。引数として渡された名前(式)を、サブルーチン内で引数が参照されるたびに評価する方式です。変数の値が変更される可能性があります。