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

No.7

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

分類

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

正解

解説

図中には二重線が示す同期部分があるため、2つのタスクが協調し合いながら処理を進める同期制御の流れ図であることがわかります。
同期制御では、2つの処理の待ち合わせが行われます。一方の処理が先に終了した場合でも、その先の処理に進まず、二重線が示すポイントでもう一方の処理の終了を待ちます。

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

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

Pagetop