平成 30 年度 秋期 システムアーキテクト試験 午前Ⅱ 問題 問11
テクノロジシステム開発技術アルゴリズムテスト・レビュー擬似言語・プログラム読解
次の流れ図において,
① ② ③ ⑤ ② ③ ④ ② ⑥
の順に実行させるために,①においてとに与えるべき初期値との関係はどれか。ここで,,はともに正の整数とする。

図の説明テキスト
流れ図(フローチャート):
- 開始 → 処理①「」
- 処理① → 判断②「」
- 判断②で「」の場合 → 入出力⑥「 の値を印字」 → 終了
- 判断②で「」の場合 → 判断③「」
- 判断③で「」の場合 → 処理④「」 → 判断②の直前に合流
- 判断③で「」の場合 → 処理⑤「」 → 判断②の直前に合流
解答・解説
正解: エ.
与えられた実行順序に従って、変数 と の値がどのように変化するかを順番に追跡(トレース)して関係式を導き出します。
処理のトレース
処理①()
- 初期値として 、 が代入されます。
1回目の判断② 判断③ 処理⑤
- 判断②で「」へ進み、判断③で「」(、つまり )と判定されて処理⑤へ進みます。
- 処理⑤()が実行され、 の値が更新されます。
- この時点での値は 、 です。
2回目の判断② 判断③ 処理④
- 判断②で「」へ進み、判断③で「」(、つまり )と判定されて処理④へ進みます。
- 処理④()が実行され、 の値が に更新されます。
- この時点での値は 、 です。
3回目の判断② 入出力⑥
- 判断②で「」()と判定されて入出力⑥へ進みます。
- したがって、この時点の と の値が等しくなるため、次の等式が成り立ちます。
- この式を整理すると、以下の関係が得られます。
よって、正解は エ です。
各選択肢の解説
- ア:
- ()となるため、1回目の判断③で処理④へ進みます。その後の判断②で ()となるため、実行順序は「① ② ③ ④ ② ⑥」となり誤りです。
- イ:
- 1回目の判断③で処理⑤へ進み、 となります。続く2回目の判断②で ()と判定されて入出力⑥へ進むため、実行順序は「① ② ③ ⑤ ② ⑥」となり誤りです。
- ウ:
- ()となるため、1回目の判断③で処理④へ進みます。最終的に「① ② ③ ④ ② ③ ⑤ ② ⑥」の順で実行されるため誤りです。
- エ:
- 上記のトレースの通り、指定された順序で実行されるため正解です(例: のとき)。