アルゴリズムとプログラミング

ITパスポート試験次の流れ図で示す処理を終了したとき,xの値はどれか。 〔流れ図〕 1. 開始 2. x を 98 とする 3.…

テクノロジ系アルゴリズムとプログラミング計算問題難易度:normal
次の流れ図で示す処理を終了したとき,xの値はどれか。 〔流れ図〕 1. 開始 2. x を 98 とする 3. y を 42 とする 4. ループ始端「繰返し:x = y(注)」… 注:ループ端に書かれた条件は終了条件を示す(x=y になったら繰返しを終える)。 5. 判定「x : y」 - x > y のとき:「x−y の計算結果を新たな x とする」 - x ≦ y のとき:「y−x の計算結果を新たな y とする」 6. ループ終端(始端へ戻る) 7. 終了 すなわち、x と y が等しくなるまで、大きい方から小さい方を引き続ける処理である。
0
14
28
56
正解
イ.14

x=98,y=42で開始。x>yなのでx←98−42=56(x=56,y=42)。なおx>yなのでx←56−42=14(x=14,y=42)。x≦yなのでy←42−14=28(x=14,y=28)。x≦yなのでy←28−14=14(x=14,y=14)。x=yとなり繰返し終了。終了時のxは14である。よって正解はイ。これは98と42の最大公約数(14)を求めるユークリッドの互減法である。

?選択肢ごとの解説

ア ×0は引き算の途中でどちらかが0になると誤解した場合の値だが、本処理はx=yで停止するため0にはならない。トレース不足による誤り。
イ ○x=98,y=42で開始。x>yなのでx←98−42=56(x=56,y=42)。なおx>yなのでx←56−42=14(x=14,y=42)。x≦yなのでy←42−14=28(x=14,y=28)。x≦yなのでy←28−14=14(x=14,y=14)。x=yとなり繰返し終了。終了時のxは14である。よって正解はイ。これは98と42の最大公約数(14)を求めるユークリッドの互減法である。
ウ ×28はトレース途中でyが28になった瞬間の値だが、処理はそこで終わらずさらにy←28−14=14まで進む。終了条件x=yに達する前で読み取りを止めた誤り。
エ ×56は最初にx←98−42=56とした直後のxだが、x>yがまだ成り立つため処理は継続しx=14まで減る。最初の1回で止めた誤り。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

ITパスポート試験は全2,669問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 最終更新 2026-08-15 · ITパスポート試験 過去問 · itpass-r4k-q79

【ITパスポート試験】次の流れ図で示す処理を終了したとき,xの値はどれか。…|正解「14」|ukamiru 過去問