SAシステムアーキテクト試験 午前Ⅱ
平成22年度秋期 システムアーキテクト 午前Ⅱ 問11
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題

選択肢
- アa=2b
- イ2a=b
- ウ2a=3b
- エ3a=2b
解き方のヒントを見る
分岐ごとの成立条件を順に記録する
経路をたどるときは、通過する各分岐で「どちら側へ進んだか」と、その時点の変数の値が満たすべき条件を一つずつ書き出します。途中で値が変化する場合は、初期値との関係に置き直してから条件を重ね合わせる意識が役立ちます。
この問題で問われていること
この種の問題では、ある経路が実際に実行されるための前提を、初期値だけで表した条件として整理できるかが問われやすいです。各分岐の判定に使われる値が、初期値からどう導かれるかを追うことが検討の中心になります。
視点
分岐の判定は、その時点の変数の値に対して行われます。処理が進むと変数は書き換えられることがあるため、判定条件をそのまま初期値の条件とみなすと食い違いが生じます。通過した処理を順に追い、判定に使われる値を初期値を使った形に置き直してから、経路上の全条件を同時に満たす範囲を考えるのが基本的な検討手順です。
確認ポイント
- 通過する各分岐で、どちら側へ進むことが求められているかを書き出したか
- 判定の時点までに変数の値が書き換えられていないか、初期値との関係を確認したか
- 経路上のすべての条件を同時に満たすかを、境界の値も含めて確かめたか
正解と解説を見る
正解
エ
解説
①でm=a、n=bと置き、指定された分岐順から大小関係を確認します。⑤の後はm=a、n=b−aとなり、次の③ではm>n、④の後の②ではm=nとなる必要があります。これらを式にすると3a=2bです。
理由
①の直後はm=a、n=bです。②から③へ進み、③から⑤へ進むにはa<bが必要です。⑤実行後はm=a、n=b−aとなるため、②から再び③へ進むにはa≠b−a、さらに③から④へ進むにはa>b−a、すなわち2a>bが必要です。④実行後はm=2a−b、n=b−aとなります。最後に②で一致する条件は2a−b=b−aであり、整理すると3a=2bです。
比較
3a=2bならb=3a/2なので、aとbは正の整数という条件のもとでa<bが成立します。また、⑤後の値はm=a、n=a/2となるため、a≠b−aかつa>b−aです。④後は両方ともa/2となり、②から⑥へ進めます。したがって指定された全経路と矛盾しません。
選択肢ア
これは不正解だよ。a=2bでは、aとbが正の整数であるため最初からm>nとなります。したがって③では「m−n→m」の④へ進み、「n−m→n」の⑤には進みません。指定された最初の分岐条件と一致しないため、この関係は不適切です。
選択肢イ
これは不正解だよ。2a=bなら最初はa<bなので⑤までは進めます。しかし⑤の後はm=a、n=b−a=aとなり、②でmとnが一致します。その時点で⑥へ進むため、指定された2回目の③と④を実行できません。
選択肢ウ
これは不正解だよ。2a=3bからa=3b/2となり、正の整数条件ではa>bです。そのため最初の③でm>nとなり、④へ進みます。指定経路は最初の③から⑤へ進む必要があるので、大小関係が逆になり条件を満たしません。
選択肢エ(正解)
これは正解だよ。3a=2bならb=3a/2で、最初はa<bとなり⑤へ進みます。⑤後はm=a、n=b−a=a/2なので、②では不一致、③ではm>nとなり④へ進みます。④後はm=2a−b=a/2、n=b−a=a/2となり、②から⑥へ進めます。
学習のポイント
比較分岐と更新後の値を対応させ、指定経路を最後まで検証する。
出典:独立行政法人 情報処理推進機構(IPA)平成22年度秋期 システムアーキテクト試験 午前Ⅱ 問11(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針