はじめてのなでしこ
早速開始。最初は簡単で短いのがいいだろうということでダウンロードしてきたソースをまずはサイズでソート。そこから小さい順にやっていく。もちろんネタとして難しそうなのは飛ばしていく。というわけで最初に選ばれたのは"e.c"自然対数の底を求める。プログラムを転載していいかどうかわからないので転載は控える。
知らない人のために簡単に説明。思いっきりはしょって、以下の無限級数である。
展開して書くと
まあとにかく、ちゃっちゃと作ってみました。
●自然対数の底 媒介変数は1 階乗逆数は1 現在値は0 (0<階乗逆数)の間 過去値は現在値 現在値は現在値+階乗逆数 階乗逆数は階乗逆数/媒介変数 媒介変数は媒介変数+1 もし、現在値=過去値ならば、抜ける 現在値で戻る 自然対数の底を表示する
残念ながらなでしこのシンタックスハイライトは存在しないようだorz 流石に初めてなのでこの程度の行数でも1時間近くかかりましたorz
ヘンは判別がありますが、調べたんですがなでしこって後置判定が出来ないっぽいですね。しょうがないから無限ループにしようとしたらこちらもないっぽいですね(’’; しょうがないからこんな形になってます。
書いてみて思ったんですが、変数名に助詞が入るとうまくコンパイルが通らないことがあるみたいですね。最初変数名を「階乗の逆数」とか「現在の値」とかやってたらうまくいきませんでした。変数名に工夫が必要ですな。
とりあえず無事1回目が終了(^^;