応用情報技術者試験 応用情報技術者試験 平成28年度春期 午前6: 流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を表す。

応用情報技術者試験 平成28年度春期 午前
Q 66 / 80
流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を表す。
並列処理の流れ図(開始→A→並列にBとC→繰り返し)
この問の正解率:56.62%(1,088件)

問題本文

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

選択肢

  • .ABC 又は ACB を実行してデッドロックになる。
  • .AB 又は AC を実行してデッドロックになる。
  • .A の後に BC 又は CB,BC 又は CB,… と繰り返して実行する。
  • .A の後に B の無限ループ又は C の無限ループになる。

正解

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

解説

二重線(同期バー)は並列処理の開始と合流を表し、最初のバーで複数の処理に分岐し、次のバーでは全ての処理が到着するまで待ち合わせてから先へ進む。流れ図ではAの後に同期バーでBとCに分岐し、BとCは並行に実行され(順序はBC・CBどちらもあり得る)、両方が終わると合流して再びAの後の分岐に戻る構造になっている。よってAの後にBとCの並列実行を繰り返すことになり、正解はウである。

選択肢ごとの解説

  • .BとCは並列(同時)に実行されるのであって、ABCやACBのように逐次1つずつ実行されるわけではない。また同期バーで正しく合流できるためデッドロックにもならず誤り。
  • .合流の同期バーはBとC両方の到着を待つだけで、互いの資源を待ち合う関係はなく、AB止まり・AC止まりでデッドロックになることはないため誤り。
  • .Aの後に同期バーでBとCへ分岐し並行実行、両者が合流すると再びAの分岐へ戻る繰り返し構造であり、流れ図の動作を正しく説明しているため正しい。
  • .BとCは並列に実行され、両方が終わってから次へ進むのであって、片方だけが無限ループするわけではないため誤り。

応用情報技術者試験 平成28年度春期 午前過去問一覧へ戻る・問6