アルゴリズム (全82問中50問目)

No.50

流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を示す。
14.gif/image-size:145×171
  • Aの後にBC又はCB,BC又はCB,…と繰り返しになる。
  • Aの後にBの無限ループ又はCの無限ループになる。
  • ABC又はACBを実行してデッドロックになる。
  • AB又はACを実行してデッドロックになる。
  • [この問題の出題歴]
  • 応用情報技術者 H23特別 問9
  • 応用情報技術者 H25春期 問8
  • 応用情報技術者 H28春期 問6

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム

正解

解説

図中には二重線が示す同期部分があるため、2つのタスクが協調し合いながら処理を進める同期制御の流れ図であることがわかります。

同期制御では、2つの処理の待ち合わせが行われます。
一方の処理が先に終了した場合でも、その先の処理に進まず、二重線が示すポイントでもう一方の処理の終了を待ちます。

問題の流れ図ではまずAが実行され、その後BとCがほぼ同時に実行されます。すぐ下に同期のポイントがあるため、Bが先に終了した場合はCの終了を、Cが終了した場合にはBの終了を、それぞれ待つことになります。同期のポイントの存在によってB又はCの片方だけが連続して実行されることはなくなります。

この結果Aが一度だけ実行され、その後はBC又はCB,BC又はCB,…の実行が繰返し行われることになります。
14a.gif/image-size:185×189
© 2010-2018 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop