流れ図(2)
★★★宿題:二種向け★(2000/2/9)
正の整数Mに対して次の二つの流れ図に示したアルゴリズムを実行したとき,
結果のxの値が等しくなるようにしたい。┏━┓に入れる条件として,正しい
ものはどれか。
┗━┛
| 流れ図1 _____ ( 開 始 )  ̄ ̄│ ̄ ̄ ┌──┴──┐ │ 1→ x │ └──┬──┘ ──┴── / 演 算 \ ループ端の繰り返し指定は, │ n : M, -1,1│変数名:初期値,増分,終値 └──┬──┘を示す。 ┌──┴──┐ │ x × n→x │ └──┬──┘ ┌──┴──┐ │ │ \ 演 算 / ──┬── ──┴── ( 終 了 )  ̄ ̄ ̄ ̄ ̄ |
流れ図2 _____ ( 開 始 )  ̄ ̄│ ̄ ̄ ┌──┴──┐ │ 1 → x │ └──┬──┘ ┌──┴──┐ │ 1 → n │ └──┬──┘ ┌────→│ │ ┌──┴──┐ │ │ x×n →x │ │ └──┬──┘ │ ┌──┴──┐ │ │n +1→n │ │ └──┬──┘ │ │ │ / \ │ NO /┏━┓\ └───\┗━┛/ \ / │YES ──┴── ( 終 了 )  ̄ ̄ ̄ ̄ ̄ |
ア n>M
イ n>M+1
ウ n>M−1
エ n<M
(太チョ解答例)
<トレース表を使用>
Mを3として計算
| 順番 | 流れ図1 | 流れ図2 | ||
| 1 | n | x | n | x |
| 2 | 1 | 1 | ||
| 3 | 3 | 1 | ||
| 4 | 3 | 1 | ||
| 5 | 2 | 2 | ||
| 6 | 6 | 2 | ||
| 7 | 1 | 3 | ||
| 8 | 6 | 6 | ||
| 9 | 4 | |||
| 10 | 24 | |||
xが同じ値で終わるためには流れ図2のnが9番目で終わる条件を
代入する。
よってn>Mでループを終了する。
■解答■(宿題メールより)
二種午前平成11年秋問15
> 流れ図1は M!の計算なので、1 から M
までの積になるようにすれば良い。
> したがって、nがMより大きくなるまで繰り返す。
どうもありがとうございました。
> 流れ図1の1回目は,1*M
> 2回目は,1*M*(M−1)
> 3回目は,1*M*(M−1)*(M−2)
> M回目は,1*M*(M−1)*(M−2)*・・・・・*1
>という様に続くので,これはMの階乗を求める流れ図である。
>
> 流れ図2をMの階乗を求める流れ図にするには,
> 1回目は,1*1
> 2回目は,1*1*2
> 3回目は,1*1*2*3
> M回目は,1*1*2*3*・・・・・*M
>になるとよいので,何回目かを示すnの値がMより大きくなった時という条件
>(n>M)が問題の場所にあるといい。よって,アです。
どうもありがとうございました。
>流れ図の問題は、実際に値を入力して移り変わる様子を
>トレースしてみるのが一番だと思って、やってみました。
>上の図
>|x|1|5|20|60|120|
>------------------------
>|n|5|4| 3| 2| 1|
>------------------------
>下の図
>|x|1|1|2|6|24|120|
>--------------------------
>|n|1|2|3|4| 5| 6|
>
>下の図で n が 6になったとき
>終了すればいいので、n>M
どうもありがとうございました。