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

正答4
解説
正解は4です。 流れ図は、mとnを比べ、大きいほうから小さいほうを引くことを、等しくなるまで繰り返します。 図の②はmとnが等しいかの判定、③は大小の判定で、m>nなら④、m<nなら⑤に進みます。 ④はm-nをmに、⑤はn-mをnに代入し、⑥でmを印字します。 指定の順序を、m=a、n=bとしてたどります。 ①の後、②でm≠n、③でm<nなので、a<bが必要です。 ⑤でn=b-aになります。 次の②でm≠n、③でm>nなので、a>b-aが必要です。 ④でm=a-(b-a)=2a-bになります。 次の②でm=nなので、2a-b=b-aが必要です。 これを整理すると、3a=2bです。 【選択肢別解説】 1:× a=2bではa>bとなり、最初の③で④に進むので、指定の順序になりません。 2:× 2a=bでは、⑤の後にn=b-a=aとなり、すぐに⑥へ進みます。 3:× 2a=3bではa>bとなり、最初の③で④に進みます。 4:○ 例えばa=2、b=3では、nが1、mが1となり、指定どおりの順序で⑥に進みます。 【ポイント】 この流れ図は、引き算で最大公約数を求めるユークリッドの互除法です。 具体的な数値を代入して確かめると、式の誤りを防げます。まとめて解く
修了試験 2016-06-12実施分を通しで解く(80問)→