SC情報処理安全確保支援士試験 午前Ⅰ

平成29年度春期 情報処理安全確保支援士 午前Ⅰ 問3

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

次の流れ図の処理で、 終了時の x に格納されているものはどれか。ここで、 与えられた6、 5は正の整数であり、 mod(*、》) は* をヵヶで割った余りを返す。

選択肢

  1. ア
    ( 開始
  2. イ
    た】 ゅて62
  3. ウ
    ループュまき
  4. エ
    ょでmod(sめ) っ / ダ生ま
解き方のヒントを見る

午前I 問03:ループは“順番に荷物を運ぶ”みたいに1回ずつ追おう

ループ処理は、頭の中だけで一気に考えると混乱しやすいよ。宅配の荷物を1個ずつ確認するみたいに、変数の値がどう変わるかを表にして順番に追っていこう。途中式を飛ばさないことで、何回繰り返したかや最後の値を間違えにくくなるよ。

この問題で問われていること

この問題では、ループが何回実行されるかと、代入がどの順番で行われるかを正確に追えるかがポイントだよ。変数の更新タイミングを1ステップずつ確認しよう。

Flowchart Tracing

trace the flowchart step by step、 recording variable updates until the termination condition is met

follow branches\nrecord updates\nstop at exit condition

確認ポイント

  • 更新前後の値を混同しない。
  • 分岐条件を毎回判定する。
  • 表にして追う。
正解と解説を見る

正解

イ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

これは不正解だよ。最小公倍数は、aとbの両方の倍数になる一番小さい数だけど、この流れ図は倍数を増やして探していない。余りを使って共通に割り切れる数を絞り込んでいるので、探している方向が逆なんだ。

選択肢イ(正解)

これが正解だよ。xにa、yにbを入れて、xをyで割った余りをtにし、xをyへ、yをtへ入れ替えることを、yが0になるまで繰り返している。これはユークリッドの互除法で、最後にxへ残るのはaとbの最大公約数。たとえるなら、2本のひもを同じ長さに切り分けられる「一番長いものさし」を探している感じだよ。

選択肢ウ

これは不正解だよ。この流れ図は、割った余りを次々に使っていく「ユークリッドの互除法」で、aとbに共通する一番大きな割り切れる数を探しているんだ。素数探しではないので、たとえるなら「共通で使える一番大きい箱」を探しているのに、「近くの特別な箱」を探していると思ってしまっている感じだよ。

選択肢エ

これは不正解だよ。aをbで割った商なら、最初に一回割ればだいたい分かるよね。でもこの流れ図は、余りを使って何度も入れ替えながらループしている。レジで割り算の答えを出すだけではなく、余りを手がかりに共通のサイズを探している処理なんだ。

出典:独立行政法人 情報処理推進機構(IPA)平成29年度春期 情報処理安全確保支援士試験 午前Ⅰ 問3(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針