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

正答4
解説
正解は4です。 流れ図が指定の順序で実行されるために、初期値aとbが満たすべき関係を求める問題です。 図では、①でm←a、n←bとします。 ②でmとnを比べ、等しければ⑥でmを印字し、異なれば③へ進みます。 ③でm>nなら④でm←m-n、m<nなら⑤でn←n-mとして②に戻ります。 【計算】 ①でm=a、n=bとなります。 1回目の②では、m≠nなので③へ進みます。 1回目の③では⑤へ進むので、a<bです。 ⑤でn=b-aとなります。 2回目の②でも、m≠nなので③へ進みます。 2回目の③では④へ進むので、a>b-aです。 ④でm=a-(b-a)=2a-bとなります。 3回目の②で⑥へ進むので、m=nです。 2a-b=b-aより、3a=2bです。 例えばa=2、b=3のとき、n=1、m=1となり、指定の順序どおりに実行されます。 【選択肢別解説】 1:× a=2bのときはa>bなので、最初の③で④に進みます。 指定の順序では最初に⑤へ進む必要があるので誤りです。 2:× 2a=bのときは、⑤でn=b-a=aとなり、m=nになります。 2回目の②でそのまま⑥へ進んでしまうので誤りです。 3:× 2a=3bのときはa>bなので、最初の③で④に進みます。 最初に⑤へ進む順序にならないので誤りです。 4:○ 3a=2bのときは、a<bかつa>b-aを満たします。 ⑤と④を1回ずつ実行した後、m=n=b-aとなって⑥へ進むので、指定の順序になります。 【ポイント】 この流れ図は、ユークリッドの互除法を引き算で行い、最大公約数を求める処理です。 実行順序の問題は、分岐ごとに変数の値を式で書き出すと確実に解けます。まとめて解く
修了試験 2021-12-12実施分を通しで解く(80問)→