PMプロジェクトマネージャ試験 午前Ⅰ

平成28年度春期 プロジェクトマネージャ 午前Ⅰ 問3

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を表す。
開始後に処理Aを実行し,処理BとCを並列実行して同期後に繰り返す流れ図。
開始後に処理Aを実行し,処理BとCを並列実行して同期後に繰り返す流れ図。

選択肢

  1. ア
    ABC又はACBを実行してデッドロックになる。
  2. イ
    AB又はACを実行してデッドロックになる。
  3. ウ
    Aの後にBC又はCB,BC又はCB,…と繰り返して実行する。
  4. エ
    Aの後にBの無限ループ又はCの無限ループになる。
解き方のヒントを見る

並列処理の流れを追う視点

並列処理を含む流れ図では、全体を一度に決めつけず、分岐や合流の関係を保ちながら、各処理がどの時点で関係するかを順に整理することが大切です。時間の前後関係にも注意します。

この問題で問われていること

一つの処理だけを追うのではなく、複数の流れを同じ時系列上に置き、開始・待機・合流などの節目で、どの情報や状態を確認すべきかに注目しましょう。

視点

流れ図を読むときは、処理を個別に眺めるだけでなく、流れ同士の対応関係と、状態が変わる節目を整理します。まず時系列の軸を置き、各処理が関係する箇所を対応づけて、全体の整合性を確認します。

確認ポイント

  • 各処理の開始点と、次に関係する節目を整理する
  • 流れが分かれる箇所と再び関係する箇所を対応づける
  • 処理の順序と状態の変化を時系列で見直す
正解と解説を見る

正解

ウ

解説

Aを実行した後、BとCが並列に開始され、両方の処理が終了すると二重線で同期する。その後は矢印によって再び並列処理の開始位置へ戻るため、BとCを順序を変えながら繰り返し実行する流れになる。

理由

開始後にAを実行すると、二重線の位置でBとCの並列処理が始まる。BとCの下流には同期を表す二重線があり、両方が完了するまで次へ進まない。同期後の矢印は並列処理の開始側へ戻るため、処理はそこで繰り返される。

比較

BとCは互いに相手の終了を待つ経路ではなく、同時に開始されて同期点で合流する。したがってデッドロックや一方だけの無限ループではなく、同期を挟んだ反復処理として捉える。

選択肢ア

これは不正解だよ。Aの後はBとCが並列に処理され、同期点で両方の完了を待つ構造である。ABCやACBの一回の実行後に停止するのではなく、同期後の矢印によって再び並列処理の開始位置へ戻るため、デッドロックになるという説明は流れ図と一致しない。

選択肢イ

これは不正解だよ。Aの後にBまたはCの一方だけを実行して停止する流れではない。二重線の位置でBとCが並列に開始され、両方の処理が終わった後に同期するため、ABまたはACを実行してデッドロックになるという記述は誤りである。

選択肢ウ(正解)

これは正解だよ。Aの実行後、BとCは並列に開始され、下側の二重線で両方の終了を待って同期する。同期後の矢印は再びBとCの処理開始側へ戻るので、BとCの実行を順序を変えながら繰り返す動作になる。

選択肢エ

これは不正解だよ。図ではBとCのどちらか一方だけが無限に実行されるのではなく、両方が並列に実行されて下側の二重線で同期する。したがって、Aの後にBまたはCの無限ループになるという説明は、並列処理と同期の構造を正しく表していない。

学習のポイント

並列処理の同期点と、ループを形成する矢印の読み取り方を学ぶ。

出典:独立行政法人 情報処理推進機構(IPA)平成28年度春期 プロジェクトマネージャ試験 午前Ⅰ 問3(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針