マナビングITパスポート

流れ図の繰返し指定と更新式をどう読み解くか

ITパスポート試験 令和3年度 問74 / アルゴリズムとプログラミング › アルゴリズムとプログラミング

過去問にチャレンジ

令和3年度 問74

流れ図Xで示す処理では,変数 i の値が,1→3→7→13と変化し,流れ図Yで示す処理では,変数 i の値が,1→5→13→25と変化した。図中のa,bに入れる字句の適切な組合せはどれか。

令和3年度 問74の図
令和3年度 問74の図
  1. ア

    a:2i+k b:k:1, 3, 7

  2. イ

    a:2i+k b:k:2, 2, 6

  3. ウ

    a:i+2k b:k:1, 3, 7

  4. エ

    a:i+2k b:k:2, 2, 6

会話形式の解説

講師講師
繰返し指定の読み方と、iが1回ごとにいくつ増えたかに注目します。
受験者受験者
繰返し指定の中央の数を、次のkの値と読んでしまいそうです。
講師講師
三つの値は初期値、増分、終値の順です。Xではkが1、2、3と変わります。
受験者受験者
Xのiは順に2、4、6増えています。kの2倍を足す形でしょうか。
講師講師
そのとおりです。i+2kなら、1から3、3から7、7から13へ進みます。
受験者受験者
2i+kでも最初は3になるので、迷います。
講師講師
2回目を計算すると、2×3+2=8です。指定された7と違うので、2i+kを使う二つの組合せは外れます。
受験者受験者
Yでは増加量が4、8、12です。同じ式ならkは2、4、6ですね。
講師講師
はい。初期値2、増分2、終値6という指定が必要です。
受験者受験者
初期値1、増分3、終値7という指定だと、kは1、4、7になりますね。
講師講師
その場合、i+2kで計算したYは1→3→11→25となり、途中の値が合いません。
受験者受験者
更新式だけでなく、繰返し指定も途中の値まで確認するのですね。
講師講師
はい。XとYの両方に一致するのは、aがi+2k、bが初期値2・増分2・終値6の組合せ、エです。

まとめ

繰返し指定の三つの値は、初期値、増分、終値を表します。Xではkが1、2、3と変わり、iの増加量は2、4、6なので、更新式はi+2kです。Yの増加量4、8、12に対応するkは2、4、6です。したがって、正解はエです。

解答・解説

正解はエです

この問題のテーマ

繰返しで変化する k の値と、変数 i の更新式を流れ図から読み取る問題です。

解き方の考え方

図の繰返し指定は「変数名:初期値,増分,終値」を表します。Xでは k が1、2、3と変わり、i の増加量は順に2、4、6です。したがって a は i+2k です。Yでも同じ式を使うので、増加量4、8、12に対応する k は2、4、6となり、b は「k:2,2,6」です。

選択肢ごとの解説

  1. ×ア  a:2i+k b:k:1, 3, 7
    a の「2i+k」では、Xの最初の更新後は3ですが、次は 2×3+2=8 となり、指定された7に一致しません。また、b の「k:1,3,7」では k は1、4、7と変わります。
  2. ×イ  a:2i+k b:k:2, 2, 6
    b の「k:2,2,6」なら、Yで必要な k=2、4、6を得られます。しかし、a の「2i+k」をXに使うと2回目の更新後が8となるため、組合せとしては適切ではありません。
  3. ×ウ  a:i+2k b:k:1, 3, 7
    a の「i+2k」は、Xの値の変化に一致します。しかし、b の「k:1,3,7」では k が1、4、7となり、Yの i は1→3→11→25です。途中の値が指定された変化と異なります。
  4. ○エ  a:i+2k b:k:2, 2, 6
    a の「i+2k」でXを計算すると、1+2×1=3、3+2×2=7、7+2×3=13です。b の「k:2,2,6」でYを計算すると、1+2×2=5、5+2×4=13、13+2×6=25です。どちらも指定された変化と一致します。

補足

「k:1,3,7」の中央の3は、次の値ではなく増分です。そのため k は1、4、7と変わります。

POINT

  • 繰返し指定の三つの値は、初期値、増分、終値の順です。
  • Xの k は1、2、3と変わります。
  • 更新前後の i の差を見ると、更新式を絞れます。
  • 候補は最終値だけでなく、途中の値まで検算します。

※出典:令和3年度 ITパスポート試験 問74(一部改変)