問題
問72
2台のPCから一つのファイルを並行して更新した。ファイル中のデータnに対する処理が①~④の順に行われたとき、データnは最後にどの値になるか。ここで、データnの初期値は10であった。

- 5
- 10
- 12
- 17
[出典:ITパスポート試験 令和2年度 問72]
スポンサーリンク
正解
正解は「エ」です。
解説
この問題は、2台のPCが並行してデータを更新する際の最終的なデータの値を求める問題です。
初期値は10であり、PC-AとPC-Bがそれぞれデータを読み込み、計算し、書き込むという手順を踏みます。まず、PC-Aがデータを読み込み、5を引きます。次にPC-Bがデータを読み込み、7を足します。
PC-Aが計算結果をデータに書き込み、次にPC-Bが計算結果をデータに書き込みます。最終的にデータnは17になります。
ア(5):
PC-Aが5を引いた後の値ですが、PC-Bの処理が考慮されていません。
イ(10):
初期値のままですが、PC-AとPC-Bの処理が考慮されていません。
ウ(12):
PC-Bが7を足した後の値ですが、PC-Aの処理が考慮されていません。
難易度
この問題の難易度は中程度です。並行処理の概念を理解している必要があり、各PCの処理順序とその影響を正確に把握する必要があります。初心者には少し難しいかもしれませんが、基本的な並行処理の知識があれば解ける問題です。
スポンサーリンク
用語補足
並行処理:
複数の処理を同時に実行すること。例えば、PC-AとPC-Bが同時にデータを更新する場合など。
データ更新:
データの値を変更すること。例えば、データnに対して5を引いたり、7を足したりすること。
対策
この問題を解くためには、並行処理の基本概念を理解し、各処理がデータにどのように影響を与えるかを正確に把握することが重要です。特に、処理の順序やタイミングが結果に与える影響を考慮する練習をすると良いでしょう。