ITパスポート過去問 令和4年度(2022年)問79
流れ図で示す処理を終了したとき,Xの値はどれか。

選択肢
- ア:0
- イ:14
- ウ:28
- エ:56
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
流れ図は、x=98、y=42から開始し、x=yになるまで繰り返します。各繰返しでxとyを比較し、x>yならx=x-y、そうでなければy=y-xに更新します。順に値を追うと最終的にx=y=14となるため、処理終了時のXは14です。
Point
この問題は、流れ図の繰返し条件と条件分岐の処理内容を読み取り、変数xとyの値を更新しながら正しくトレースできるかを確認する問題です。
解くために必要な知識
この問題を解くには、流れ図に書かれた処理を順番に実行して値の変化を追う考え方が必要です。
用語の整理
| 用語名 | 意味 |
|---|---|
| 流れ図(フローチャート) | 処理の順序や条件分岐を記号で表した図です。 |
| アルゴリズム | 目的の結果を得るための手順です。 |
| 変数 | 値を入れておく入れ物で、処理の途中で値が変わります。 |
| 繰返し処理 | 条件を満たすまで、同じ処理を何度も行うことです。 |
| トレース | 手順に従って、変数の値がどう変化するかを順に記録して確認することです。 |
解くための手順
1. 初期値を確認する
代入の箱から、x=98、y=42で開始することを読み取ります。
2. 繰返しの終了条件を確認する
「x=y」が繰返しの終了条件であることを確認します。
3. 条件分岐で何が更新されるかを確認する
ひし形の判定がx>yかどうかであり、結果によって更新式が次のように分かれます。
| 判定 | 実行する更新 |
|---|---|
| x>y | x=x-y |
| x<=y | y=y-x |
4. 表でトレースする
各ループごとにxとyを記録し、終了条件x=yになった時点のxを答えます。
問題の解法手順
注目ポイント
繰返しの終了条件
繰返しは、x=yになったときに終了します。
条件分岐で行う更新
-
x>yのときはx=x-yに更新します。
-
x<=yのときはy=y-xに更新します。
解く手順
変数の変化を表で追う
| 回数 | x | y | 判定 | 更新 |
|---|---|---|---|---|
| 初期 | 98 | 42 | - | - |
| 1 | 98 | 42 | x>y | x=98-42=56 |
| 2 | 56 | 42 | x>y | x=56-42=14 |
| 3 | 14 | 42 | x<=y | y=42-14=28 |
| 4 | 14 | 28 | x<=y | y=28-14=14 |
終了判定
x=y=14となったため繰返しを終了します。よって、処理終了時のXは14です。
選択肢ごとの解説
- ア:不正解
この流れ図は、x=yになるまで差をとって更新します。今回の初期値ではxとyが14で一致して終了するため、xが0になる前に終了します。
- イ:正解
トレースすると最終的にx=y=14となり、その時点で繰返しが終了するため、処理終了時のXは14です。
- ウ:不正解
28は途中のyの値です。この時点ではx=14、y=28でx=yではないため、処理はまだ終了しません。
- エ:不正解
56は途中のxの値です。この時点ではx=56、y=42でx=yではないため、処理はまだ終了しません。
まとめ
流れ図は、x=98、y=42から開始し、x=yになるまで繰り返します。各繰返しでxとyを比較し、x>yならx=x-y、そうでなければy=y-xに更新します。順に値を追うと最終的にx=y=14となるため、処理終了時のXは14です。
テクノロジ系 > 基礎理論 > アルゴリズムとプログラミング
この流れ図は、x=yになるまで差をとって更新します。今回の初期値ではxとyが14で一致して終了するため、xが0になる前に終了します。
トレースすると最終的にx=y=14となり、その時点で繰返しが終了するため、処理終了時のXは14です。
28は途中のyの値です。この時点ではx=14、y=28でx=yではないため、処理はまだ終了しません。
56は途中のxの値です。この時点ではx=56、y=42でx=yではないため、処理はまだ終了しません。