平成21年 春期 ITパスポート 問82

データDを更新する二つの処理A、Bが、@→B→A→Cのタイミングで実行された場合、Dの値は幾らになるか。
ここで、Dの初期値は2とする。

 ア  6  イ  7  ウ  11  エ  21


答え イ


解説
@で読み込んだデータDの値は2である。
Bで読み込んだデータDの値は2である。
Aで書き込んだデータDの値は2×3=6である。
Cで書き込んだデータDの値は2+5=7である。(イ)
※@→B→A→Cで処理が行われた場合、処理AのAで書き込んだ値は処理Bに影響しない。
また。処理BのCが行われた時点で処理Aの内容(A)は失われてしまう。


キーワード
・変数の呼び出し

キーワードの解説
  • 変数の呼び出し
    関数の変数の呼び出し(関数への変数の引渡し)には値呼出しと参照呼出しがある。
    • 値呼出し(call by value)
      関数が変数の値のみ継承する方法で、関数内で変数の書き換えを行っても、関数の呼出し元の変数の値は変化しない。
    • 参照呼出し(call by reference)
      関数が変数を参照(アクセス)するための情報(アドレス)を継承する方法で、関数内で変数の書き換えを行うと、呼出し元の変数の値も変わる。

もっと、「変数の呼び出し」について調べてみよう。

戻る 一覧へ 次へ