令和4年度 ITパスポート試験 公開問題 問79

流れ図で示す処理を終了したとき,xの値はどれか。

流れ図
図の説明テキスト

流れ図(フローチャート)。以下の順に処理が行われる。

  1. 端子:「開始」
  2. 処理:「x を 98 とする」
  3. 処理:「y を 42 とする」
  4. ループ開始:「繰返し x = y (注)」
  5. 判断:「x : y」
    • 「>」の場合、処理:「x - y の計算結果を新たなxとする」へ遷移
    • 「≦」の場合、処理:「y - x の計算結果を新たなyとする」へ遷移
  6. 分岐が合流し、ループ終了:「繰返し」
  7. 端子:「終了」
    図の下部に注記として「(注) ループ端の条件は,終了条件を示す。」と記述されている。
解答・解説

正解: イ. 14

流れ図(フローチャート)の処理を順を追ってトレースし、xx の値を求めます。

  1. 初期化:
    • xx を 9898 とする。
    • yy を 4242 とする。
  2. 1回目の繰返し:
    • 条件判断: x:yx : y は 98>4298 > 42 となる。
    • x>yx > y の処理: x−y=98−42=56x - y = 98 - 42 = 56 を新たな xx とする。(x=56,y=42x = 56, y = 42)
    • ループ終了条件 x=yx = y ( 56=4256 = 42 ) を満たさないため、繰り返す。
  3. 2回目の繰返し:
    • 条件判断: x:yx : y は 56>4256 > 42 となる。
    • x>yx > y の処理: x−y=56−42=14x - y = 56 - 42 = 14 を新たな xx とする。(x=14,y=42x = 14, y = 42)
    • ループ終了条件 x=yx = y ( 14=4214 = 42 ) を満たさないため、繰り返す。
  4. 3回目の繰返し:
    • 条件判断: x:yx : y は 14≦4214 \leqq 42 となる。
    • x≦yx \leqq y の処理: y−x=42−14=28y - x = 42 - 14 = 28 を新たな yy とする。(x=14,y=28x = 14, y = 28)
    • ループ終了条件 x=yx = y ( 14=2814 = 28 ) を満たさないため、繰り返す。
  5. 4回目の繰返し:
    • 条件判断: x:yx : y は 14≦2814 \leqq 28 となる。
    • x≦yx \leqq y の処理: y−x=28−14=14y - x = 28 - 14 = 14 を新たな yy とする。(x=14,y=14x = 14, y = 14)
    • ループ終了条件 x=yx = y ( 14=1414 = 14 ) を満たすため、ループを終了する。

処理終了時の xx の値は 1414 となります。

各選択肢の解説

  • ア: 不正解。トレースの結果、xx の値が 00 になることはありません。
  • イ: 正解。上記の通り、処理を終了したときの xx の値は 1414 となります。
  • ウ: 不正解。3回目の繰返し終了時の yy の値 ( 2828 ) です。
  • エ: 不正解。1回目の繰返し終了時の xx の値 ( 5656 ) です。

Spineチーム