平成24年 秋期 ITパスポート 問80

ある在庫管理システムは、複数の入力を同時並行して処理し、在庫数を更新しているが、排他制御は行っていない。
ある時点での在庫数が100であったとき、入力された二つの入力A、Bに応じて、図に示す処理が@→A→B→Cの順序で実行された場合、処理Cが終了した時点の在庫数は幾つになるか。

 ア  70  イ  100  ウ  120  エ  150


答え エ


解説
処理の順を追ってみると

  • 入力Aが@の処理を行った時の在庫数は100であり、読み込まれる値は100であり、50を加えて150になる。
  • 入力BがAの処理を行った時の在庫数は100であり、読み込まれる値は100であり、30を引いて70になる。
  • 入力BがBの処理を行うと、在庫数は70になる。
  • 入力AがCの処理を行うと、在庫数は150(ウ)になる。
このように、このシステムは問題があります。
本来は入力Aと入力Bの間で排他制御を行い、一方が処理中のときに他方の在庫数へのアクセスを制限する必要があります。


キーワード
・在庫管理

キーワードの解説
  • 在庫管理
    企業において適正な在庫を持つことは重要であり、在庫に過不足があると以下のような問題がある。
    • 製品在庫が不足すると、品薄になり機会損失が発生する。
    • 原材料の在庫不足により、製造の停止が発生する。
    • 製品在庫が多すぎると、保管料(倉庫代)が発生し、売れ残りを避けるための価格の低下が発生する。(在庫一掃セール)
    • 原材料の在庫が多すぎると、保管料(倉庫代)が発生したり、余分な材料の破棄が行なわれ、調達コストが高くなる。

もっと、「在庫管理」について調べてみよう。

戻る 一覧へ 次へ