*これまでのあらすじ [#c9e3fc7b] ※個人的でくだらない言い訳です、読み飛ばしていただいてかまいません。~ 今まで、.comエミュレータやら動物将棋やらのページを立ち上げては途中で断念してきました。(動物将棋については開発言語をHSPに変更して今でも作ってますが…)~ そして、懲りもせずに今度はbasicインタプリタのページを作りました。~ しかし、今回は今までとはわけが違います。~ 私はとある公立高校の理数課に通っていますが、理数課では夏から秋にかけて、グループごとに研究をすることになっています。~ 私は数学のグループですが、情報数学分野として、マインスイーパについて研究することになりました。(詳しい研究内容は省きますが、本気です。)~ ただ、研究の内容上コンピュータに大量のマインスイーパのステージをプレイさせる必要があり、どうしてもプログラミングが必要になったのですが、あいにく私しかプログラミングが出来ません。~ もちろんグループ単位での研究なので私一人が暴走するわけにもいかず、教科書にも載っているbasicをみんなに教え込む事にしました。~ ただし、教科書には行番号が必要な時代のかなり古いタイプのbasicが載っており、そんなbasicのインタプリタを私は知らないので、このさい自分で作ってしまおうと思います。~ 結論から言えば、私がこれを投げ出すと、グループで研究が出来ない事になるので、きっと今回は意地でも完成させます。~ *具体的な話 [#x12104e6] **当面の目標 [#n8a8dd5a] とりあえずは、インタプリタの骨格を作ってしまって後はどんどん機能を足していけばいいようにしてしまいたいです。~ 方針としては、中間コード方式を採用したいと思います。~ 骨格づくりの為に、以下のソースを実行できるようにしたいです。~ 100 END **課題 [#k3aa9a78] 構想を練りつつふと困ったことに気がつきました。~ たとえば、縦10マス、横10マスの計100マスのマップに10個の爆弾を配置するとします。~ 点対称や線対称の事を考えないとすると、そのパターンは、(100*99*98*97*96*95*94*93*92*91)/(10*9*8*7*6*5*4*3*2*1)=17310309456440通りにもなります。~ つまり、これから作るbasicはかなり大きな数を扱えないといけないようです。~ さらに、よくよく教科書を読んでみると、basicは小数を標準で扱え、割り算の答えは標準で小数で返ってくるようです。~ 当初は軽い気持ちで作ってしまえ、と思いましたが、案外大変そうです。~
(This host) = http://osask.net