過去問解きまくり研究所 ホーム

平成28年度 春期 午前 問6

基礎理論

流れ図に示す処理の動作の記述

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

〔流れ図〕 開始 → A → 二重線(同期) → その下で B と C が横に並ぶ → 二重線(同期) → そこから左右に伸びた線が,上の二重線の直後(B と C の入口)へ戻る矢印になっている(= B と C の並列処理を繰り返す)。

答えと解説を見る

✓ これが正解ウA の後に BC 又は CB,BC 又は CB,… と繰り返して実行する。

解説

二重線で分かれて待ち合わせ、戻り矢印で組ごと繰り返します。

この流れ図には二重線が二本あり、設問がそれを並列処理の同期だと断っています。上の二重線は、一本だった流れを B と C の二本に分ける役です。下の二重線は、B と C が両方とも終わるまで待ってから一本に戻す役です。同期とは、先に終わったほうが遅いほうを待つことだと読み替えると迷いません。流れをたどります。まず A を実行し、次に分かれて B と C を並列に実行し、両方そろうまで待ちます。そして戻り矢印が下の二重線から出て B と C の入口へ戻るので、また B と C を並列に実行します。どちらが先に終わるかは決まらないので、実行される順序は B から C のこともあれば C から B のこともあります。したがって A の後は、B と C の組が順序を問わず繰り返されます。デッドロックかどうかも切り分けておきます。デッドロックとは、互いに相手の解放を待って双方とも進めなくなる状態です。この図では B と C が互いに何かを要求しておらず、待つのは下の二重線での一度だけなので、その状態にはなりません。

ほかの選択肢はなぜ違うのか

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

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)