平成25年度春期 問8 / 80

平成25年度 春期 応用情報技術者試験 午前 問8

流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を表す。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

流れ図の動きを追います。

  1. A を実行する。
  2. 上の二重線で処理が分岐し,B と C が 並列に 実行される。
  3. 下の二重線で B と C の 両方の終了を待ち合わせる(同期)。
  4. 同期後,矢印で B と C の入口に戻り,再び B と C を並列に実行する。

B と C のどちらが先に終わるかは決まらないので,実行順は BC 又は CB となり,それが繰り返されます。

  • ア: ABC 又は ACB を実行してデッドロックになる
    誤り。B と C は互いの資源を待ち合う構造ではなく,下の二重線で両方の終了を待ち合わせてから再び並列に実行されるので,デッドロックにはなりません。

  • イ: AB 又は AC を実行してデッドロックになる
    誤り。A の後は B と C の両方が並列に開始されるので,片方だけが実行されることはなく,デッドロックにもなりません。

  • ウ: A の後に BC 又は CB,BC 又は CB,… と繰り返して実行する
    正しい。A の後,上の二重線で B と C が並列に開始され,下の二重線で両方の終了を待ち合わせ(同期)てから,再び B と C が開始されます。B と C の実行順は決まらないので BC 又は CB となり,これが繰り返されます。

  • エ: A の後に B の無限ループ又は C の無限ループになる
    誤り。下の二重線で B と C の同期をとるため,B だけ又は C だけが繰り返し実行されることはありません。


答え

ウ: A の後に BC 又は CB,BC 又は CB,… と繰り返して実行する

出典:平成25年度 春期 応用情報技術者試験 午前 問8

平成25年度春期の他の問題