ITパスポート試験

問74

ITパスポート過去問 令和3年度(2021年)問74

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

選択肢

正解と解き方・学習ポイント(AI解説)

正解:
あなたの回答:未回答

流れ図Xでのiの変化と、ループ端の繰返し指定(kの初期値・増分・終値)から計算式aを特定します。次に、その計算式aを流れ図Yにも適用し、iが指定どおりに変化するために必要なkの並びを求め、ループ条件b(kの初期値・増分・終値)を決定します。

不正解

a=2i+kは流れ図Xでk=2のときi=8となり、iの変化1→3→7→13と一致しません。またb=k:1,3,7(k=1,4,7)でも流れ図Yの最初の更新が5になりません。

不正解

b=k:2,2,6(k=2,4,6)は流れ図Yのkの並びとしては適切ですが、a=2i+kが流れ図Xの変化1→3→7→13と一致しないため不正解です。

不正解

a=i+2kは流れ図Xの変化1→3→7→13と一致します。しかしb=k:1,3,7(k=1,4,7)では流れ図Yの最初の更新がi=1+2×1=3となり、1→5→13→25と一致しません。

正解

a=i+2kは流れ図Xでk=1,2,3のときiが1→3→7→13となります。b=k:2,2,6はk=2,4,6を表し、同じaで流れ図Yはiが1→5→13→25となるため正解です。

Point

この問題は、流れ図の繰返し指定(初期値、増分、終値)を読み取り、ループ変数kの値を当てはめて処理aを計算し、変数iの変化と一致する式と繰返し条件を特定する力を確認します。

解くために必要な知識

この問題を解くには、流れ図の繰返し指定の読み方と、変数の値を順に計算して確認する方法が必要です。

用語の整理

用語 意味
流れ図(フローチャート) 処理の手順を図で表したものです。処理、繰返しなどの記号で構成されます。
ループ(繰返し処理) 同じ処理を決められた回数、または条件を満たす間、繰り返す処理です。
変数 処理の途中で値が変わる入れ物です。例ではiやkが該当します。
トレース 実際に値を代入して、処理の順に計算し、変数の変化を確認することです。

図表の読み取り方

繰返し指定(ループ端)の形式

「変数名:初期値, 増分, 終値」で表されます。

指定例 kの変化 ループ回数
k:1, 1, 3 1, 2, 3 3
k:2, 2, 6 2, 4, 6 3
k:1, 3, 7 1, 4, 7 3

ループ内の処理の読み方

ループの各回で「aを計算し、その結果をiに格納する」ため、次の形で更新されます。

  • 更新後i = a(更新前iと、その回のkを使って計算した結果)

解くための基本手順

1. kの取り得る値を確定する

繰返し指定からkの列(例:1, 2, 3)を作ります。

2. 候補の式aを代入してiの変化を計算する

表にして、問題文の変化と一致するかを確認します。

3. もう一方の流れ図でも同じaで成り立つbを選ぶ

iの増え方(差分)からkの列を逆算し、繰返し指定を決めます。

問題の解法手順

この問題では、流れ図Xでaを確定し、流れ図Yでbを確定します。

図の読み取り

繰返し指定の意味

ループ端の指定は「変数名:初期値, 増分, 終値」です。
例:k:1, 1, 3 は k = 1, 2, 3 の順に変化し、合計3回処理を行います。

手順1:流れ図Xでaを決める

流れ図Xでは k = 1, 2, 3 で、iが 1→3→7→13 と変化します。

a = i+2k の確認

回数 k 更新前i 計算 i+2k 更新後i
1 1 1 1 + 2×1 = 3 3
2 2 3 3 + 2×2 = 7 7
3 3 7 7 + 2×3 = 13 13
一致します。        

a = 2i+k が合わないことの確認

2回目で i = 2×3 + 2 = 8 となり、7と一致しません。
よって a = i+2k です。

手順2:流れ図Yでbを決める

流れ図Yでは iが 1→5→13→25 です。
各回の増分は 4, 8, 12 なので、a = i+2k の「2k」が 4, 8, 12 になる必要があります。

kの値

2k = 4, 8, 12 より、k = 2, 4, 6 です。
よって繰返し指定は k:2, 2, 6 になります。

結論として、正解はエです。

選択肢ごとの解説

不正解

a=2i+kは流れ図Xでk=2のときi=8となり、iの変化1→3→7→13と一致しません。またb=k:1,3,7(k=1,4,7)でも流れ図Yの最初の更新が5になりません。

不正解

b=k:2,2,6(k=2,4,6)は流れ図Yのkの並びとしては適切ですが、a=2i+kが流れ図Xの変化1→3→7→13と一致しないため不正解です。

不正解

a=i+2kは流れ図Xの変化1→3→7→13と一致します。しかしb=k:1,3,7(k=1,4,7)では流れ図Yの最初の更新がi=1+2×1=3となり、1→5→13→25と一致しません。

正解

a=i+2kは流れ図Xでk=1,2,3のときiが1→3→7→13となります。b=k:2,2,6はk=2,4,6を表し、同じaで流れ図Yはiが1→5→13→25となるため正解です。

まとめ

流れ図Xでのiの変化と、ループ端の繰返し指定(kの初期値・増分・終値)から計算式aを特定します。次に、その計算式aを流れ図Yにも適用し、iが指定どおりに変化するために必要なkの並びを求め、ループ条件b(kの初期値・増分・終値)を決定します。

テクノロジ系 > 基礎理論 > アルゴリズムとプログラミング