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

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

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

出典:基本情報技術者試験 科目A免除 修了試験 20150125 実施分 問6

答えと解説を見る

正解:ウ

覚える知識

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

後判定ループでは、更新後の変数値で終了を判定するため、最終処理後の値(M+1)を超えたかで判定する。

この問題で必要なこと

左はn=M〜1の積(階乗)。右はn=1から昇順で、乗算後にnを増やすので、n=Mまで掛けた時点でn=M+1になる。終了条件はn>M。

ひっかけ

n>M−1やn>M+1では掛ける回数が1回ずれ、積がずれる。

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

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

同じ知識の過去問