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

ITパスポート試験アルゴリズムとプログラミング」の問題

テクノロジ系アルゴリズムとプログラミング計算問題難易度: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パスポート試験の全問を、一問ごとにAIの8-ways解説つきで。SRS暗記カード・全真模試・弱点診断まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · ITパスポート試験 · itpass-r4k-q79

【ITパスポート試験】アルゴリズムとプログラミングの問題と解答・解説|ukamiru 過去問