- ベストアンサー
フローチャートが書けません
最近大学でフローチャートを勉強し始めたのですが、二つの問題に詰まってしまいました。 問1) 正の数nを入力して 2^0、2^1、2^2、2^3、…、2^n の値を続けて表示するフローチャートを書け。 続けて表示する、とはどのように書けばよいのでしょうか。 問2) 正の数nを入力して、その階乗を求め、それを表示するフローチャートを書け。 手も足も出ない感じです… 解説お願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
フローチャートなんて、あなたがこの問題を解くときに行っていることを、わかりやすく記述するだけですよ。自分でこの計算をするときのことを整理してみましょう。コンピュータープログラムだけじゃなく、普段の自分の行動にも役立つ。 まず、単純な形から初めます。そして、そのステップのひとつをさらに詳しくと徐々に詳しくいていきます。 ( )開始 | / /入力 n | [ ]計算 | < ]出力 | ( )終了 もちろん、これでは未完成ですから ( )開始 | / /入力 n | [ ] 初期値 | ●A | <a≧n>─yes──>(終了) |no [ ] 計算 | < x ] | [Aへ] | (終了) 計算部分をより詳細に 略 | / /入力 n | [ ] a=0 b=1/2 c="" x="" d=n | ●A | <a≧d>─yes──>(終了) |no [x=b*2] | < x ] | [a+=1] [b=x] | [Aへ] | < ]出力 | (終了) と少しずつ増やしていきます。
その他の回答 (2)
- kmee
- ベストアンサー率55% (1857/3366)
箇条書きとかでは書けますか? 例えば問1なら 1) nを入力、正の整数か確認 2) 2^0を表示 3) 2^1を表示 4) n>=2 なら 2^2を表示 5) n>=3 なら 2^3を表示 ... ?) 2^nを表示 ?+1)終了 ここがわからないのなら、あなたは「フローチャート」ができないのではなく、「問題を解く手順を考える」ことができていません。 まずは、「問題を解くにはどうしたらいいのか」を考えましょう。 これを 決まりに従って図で書いたものがフローチャートです。 ただ、これでは、無限で不定な長さになってしまって、フローチャートとしてもプログラムとしても不適切です。 2)~?)に注目するれば 2') 0≦i≦nの間、 2^iの表示を繰り返す 3') 終了 こうすれば、フローチャートとしてもプログラムとても適切なものになりました。 あとは決まりに従ってフローチャートを書くだけです。 問2などは nの入力 ↓ n!の計算 ↓ 計算したn!の出力 ↓ 終了 だけですよ。 詳しく書くしても、n!の計算の部分くらい。
- bin-chan
- ベストアンサー率33% (1403/4213)
字面で書いて伝わるかな? 問1 1)nを入力 2)カウンタを0に初期化 3)ループの開始 4) 2^カウンタ を計算して表示 5) カウンタに1加算 6)ループの終了 カウンタ<=nなら3へ(判断のひし形でも可) 7)終了 問2 1)nを入力 2)カウンタを2に初期化、答えを1に初期化 3)ループの開始 カウンタ>nなら6へ(判断のひし形でも可) 4) 答え×カウンタ を計算して 答えに格納 5) カウンタに1加算 6)ループの終了 7)答えを表示 8)終了