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

基本情報技術者試験 科目A免除 修了試験 20220612 実施分 問10

正の整数Mに対して,次の二つの流れ図に示すアルゴリズムを実行したとき,結果xの値が等しくなるようにしたい。aに入れる条件として,適切なものはどれか。
左の流れ図: 開始 → x ← 1 → ループ端(上)「演算 n:M,-1,1」 → x ← (x × n) → ループ端(下)「演算」 → 終了。注記「ループ端の繰返し指定は,変数名:初期値,増分,終値を示す。」 右の流れ図: 開始 → x ← 1 → n ← 1 → x ← (x × n) → n ← (n + 1) → 判定(ひし形)「a」。No は x ← (x × n) の直前に戻る,Yes は終了へ。
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 20220612 実施分 問10(問題文は IPA の公開問題。解説は当サイト作成)

答えと解説を見る

正解:ウ

覚える知識

繰返し流れ図の終了条件の読解(後判定ループ)

後判定ループは、本体を実行した後に条件を判定するため、終了条件には最後の反復の次の値を用いる。

この問題で必要なこと

左は階乗M×(M-1)×…×1。右はnを1から増やしながら掛け、n>Mで終了させると1〜Mの積になり等しい。

ひっかけ

n>M-1やn<Mなど境界を1つずらした条件で回数の誤りを誘う。

この知識の出題:本試験系 0 回・免除試験 3 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「流れ図の基本構造とループの終了条件」で学ぶ

同じ知識の過去問