サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
ews2.cc.niigata-u.ac.jp/~takeuchi
ハノイの塔は1883年にフランスのE.Lucas(リュカ)が考案したゲームと言われています。著書『数学遊戯』の中にあるそうです。 これは次のようなゲームです。 台の上に3本の棒A,B,Cが固定されていて,そのうちの一本に何枚かの円盤が棒を通して重ねられています。円盤は下へいくほど半径が大きくなっています。 このとき,次の規則に従って,円盤をAからBに移動してください。 一回に一枚の円盤しか動かしてはいけません。 移動の途中で円盤の大小を逆に積んではいけません。常に大きい方の円盤が下になるようにして下さい。 棒A,B,C以外のところに円盤を置いてはいけません。 このゲームは元々手で実際にやるものですし,実際に玩具としてこのようなものがあるそうです。しかしここではこれをプログラミングの問題,即ち,解く手順をコンピュータを使って求める問題としましょう。 プログラミングの問題
このようにして3!が計算されます。 このような定義の仕方を再帰的定義と言います。 この階乗関数を Basic プログラムとして実現してみると,(Tiny Basic には階乗関数 Factorial が内蔵されていますから,実際にこのようなプログラムを書く必要はありませんが。) Function Kaijyou(n) If n = 0 then Kaijyou = 1 Else Kaijyou = Kaijyou(n-1)*n End if End Function となります。しかし,実は階乗関数は,再帰を使わなくても,次のように実現することが出来ます。 Function Kaijyou(n) F = 1 For i = 1 to n F = F * i Next i Kaijyou = F End Function このように再帰的プログ
構造化プログラミングは1960年代後半から1970年頃にかけて,E.W.ダイクストラ達によって提唱されたプログラミングについての考え方です。この主張は提唱当時から支持され,現在ではプログラミングにおける基本的原則として広く受け入れられています。またこの考え方は余りに基本的なものとして受け入れられている為に,この主張が意識されず当然のこととして扱われていることさえあります。また現在のプログラミング技法や手法については色々ありますが,それらは全てこの考え方の延長線上にあります。 ここではこの構造化プログラミングの考え方についての簡単にまとめてみましょう。 ダイクストラ自身の提唱は原著の日本語訳 「構造化プログラミング」ダイクストラ他(サイエンス社,昭和50年) によって読むことができます。 構造化プログラミングの目的 良いプログラムとは プログラム理解ための道具 プロ
このページを最初にブックマークしてみませんか?
『ews2.cc.niigata-u.ac.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く