修了試験 2012-01-22実施分 基本情報技術者試験 問51
次の流れ図において,①→②→③→⑤→②→③→④→②→⑥の順に実行させるために,①においてmとnに与えるべき初期値aとbの関係はどれか。 ここで,a,bはともに正の整数とする。

正答4
解説
正解は4です。 流れ図では、①でmにa、nにbを代入し、②でmとnを比較します。 mとnが等しければ⑥でmを印字して終了します。 等しくなければ③で大小を比べ、m>nなら④でmにm-nを、m<nなら⑤でnにn-mを代入して②に戻ります。 これは、最大公約数を求めるユークリッドの互除法(減算版)です。 【処理の流れ】 1回目の②③で⑤に進むので、m<n、つまりa<bです。 ⑤の実行後、nはb-aになり、mはaのままです。 2回目の②③で④に進むので、m>n、つまりa>b-aです。 ④の実行後、mはa-(b-a)=2a-bになり、nはb-aのままです。 3回目の②で⑥に進むので、m=n、つまり2a-b=b-aです。 これを整理すると、3a=2bになります。 【選択肢別解説】 1:× a=2bではa>bとなり、最初の比較で⑤ではなく④に進んでしまいます。 2:× 2a=bでは、⑤の後にmとnがともにaとなって等しくなり、③④を通らずに⑥へ進みます。 3:× 2a=3bではa>bとなり、最初の比較で④に進んでしまいます。 4:○ 3a=2bのとき、例えばa=2、b=3で確かめると、⑤でn=1、④でm=1となり、m=nで⑥に進みます。 指定された順序どおりに実行されます。 【ポイント】 流れ図の問題は、変数の値を式のまま追いかけ、分岐の条件を等式・不等式で表すと解けます。 最後に具体的な数値を当てはめて検算すると確実です。まとめて解く
修了試験 2012-01-22実施分を通しで解く(80問)→