Archive for takeuchi

プログラミングの背景で「エラトステネスの篩」を公開しました。

プログラミングの背景で「エラトステネスの篩」を公開しました。

http://www.tbasic.org/reference/numbertheory/202006Eratosthenes.pdf

旧ホームページでの「エラトステネスの篩」の更新ということですが,今回は大幅に
加筆しています。
書き始めた当初は,もっとあっさりとするつもりでしたが,書いてくるうちに,色々疑問もでて,考えるとともに,色々な文献を調べたりしました。そのうちに,いわゆるエラトステネスの篩だけでなく,その改良版についての全体的説明を纏めたいと思うようになりました。その結果,全体で,94ページにもなりました。

内容は,実際に見てもらうと早いですが,以下の通りです。
・基本篩(これが元々のエラトステネスの篩です。)
・改良篩
・車輪篩
・リスト篩
・既約篩
そして,
・区分法(これは篩法ではなく,篩を分割して実行する技法です。)
等について,かなり詳しく説明しました。恐らくこれほど詳しい内容は,日本語の文献では見かけません。エラトステネスの篩について興味のある人に参考になれば,と思っています。

付録として,ここで説明した方法を使って,大きな素数表の作成にチャレンジしました。勿論,tbasicでそれを行うのは無理ですから,ここでは,C#を使いました。その結果,

・既約篩法を使って,一度の篩で,10^10までの素数表を作成することができました。
更に,区分法を併用することで,
・10^13までの素数表を篩うことができました。
(10^13までの素数表を作る試みはネット上でもいくつか見られますので,これ自体は全く新しいというものではありません。ただあまり技巧的ではない,標準的なプログラミングで実行したという意義はあるかもしれません。)

私自身,書いていて勉強にもなり,楽しむこともできました。私のコンピュータ環境(エントリー的なデスクトップ機)ではこれ以上の計算は無理なので,一応ここまでとして,公開しました。

1.501,1.502を公開しました。

1.501,1.502を公開しました。

立て続けにバグの修正版を公開しました。いずれも,掲示板,ブログでのコメントによる指摘です。
「このような単純なバグがまだ残っているのか」という感じですが,これらはいずれも,バージョンアップに伴うコード修正の時に,誤って紛れ込んだバグです。

一応チェックをしてから公開をしているのですが,やはりバグがあります。気が付いたら,掲示板等で指摘して頂けると有難いです。

時間をみて,全体的なチェックを少ししてみたいと思います。

tbasic 1.50を公開しました。

tbasicセット1.50を公開しました。
tbw150set.zip: http://www.tbasic.org/downloads/index.html
です。

更新内容は,Windows 10 版の正式対応です。

tbw1239set の公開から5か月余り,比較的短い期間での更新です。これは,tbw1239setの同梱文書の完成が遅れていたためです。1.50の開発自体は少し前から始めていて,ここ数か月は主に微調整を行っていました。

1.2系でもWindows 10 上で動作しましたが,開始画面でのOS表示が,動作しているOSがWindows 10 であっても Windows 8 と表示されていました。
tbasicの開発自体は,ここしばらく前から,Windows 10 上で行っていましたが,利用しているコンパイラが少し古いことなどの理由からでした。

今回公開したtbasicはWindows 10をターゲットとした新しいコンパイラでコンパイルされています。そのために内部的なコードの修正・削除・追加,
更に機能強化を行いました。言語機能は基本的に変更はありませんが,1.2系に比較して,

  1. 新しいコンパイラを使ったこと
  2. 内部的なコードの修正をかなり行っていること
  3. かなりファイルサイズが大きくなったこと
  4. 利用環境の向上があったこと

から,バージョン番号を少し飛ばして,1.50としました。Windows 10上での動作の安定性が増したと思います。ボタン等の外観も微妙に変更され,少し新しい雰囲気になっています。また,動作しているOSがWindows 10 なら開始画面で Windows 10 と表示されます。

少し詳しい更新内容は更新記録
http://www.tbasic.org/whatsnew/index.html
にあります。

tbasic セットの更新

tbasicセットを久しぶりに公開しました。
tbw1239set.zip: http://www.tbasic.org/downloads/index.html
です。

 更新内容は,Basic入門のpdf化が終わったのを受けて,それらpdf文書をtbasicのBasic入門よりブラウザを使って読むようにしたものです。それに伴い,従来のBasic入門BTutor.chmを廃止しました。

 tbasic本体も少し調整しました。内容はエディターのフォント表示の不具合の修正です。

 更新の仕方は,旧来の TBasicフォルダに解凍してできる新しいTBasicフォルダを上書きするだけで可能です。
 旧版を残す場合は,別な場所に新しいTBasicフォルダを置いてください。
tbasic.ini がある場合は,新しいTBasicフォルダ旧版のiniをコピーすれば使えます。

 これで,Basic入門のpdf化関係が一段落しました。種々の事情からBasic入門のpdf化に随分と時間が掛かってしましました。これから暫くはtbasic本体の更新に力を入れたいと思っています。

 言語そのものの機能アップは少し先のこととして,まずは

  1. Windows 10 への正式対応
  2. プログラミング環境の向上

を目標とするつもりです。

BASIC入門の更新

随分と時間が掛かってしまいましたが,やっと

BASIC入門:

http://www.tbasic.org/tutorial/index.html

「構造化プログラミング(2018年04月版)」の追加です。

  • これは tbasic に同梱されているBTutor.chmの「構造化言語としてのBASIC」の加筆修正版です。基本方針は変わっていませんが,大幅に書き直しをしています。全体で55頁です。構造化プログラミングについての比較的詳しい一般的な内容も多いので,必ずしもtbasicを使っていなくても,参考になるかも知れません。また,pdf版の方が,chm版より随分と読みやすくなっています。

これで,BASIC入門のpdf化が一応すべて終わりました。

やっと次(tbasic本体の更新作業)に進みます。

プログラミングの背景:数論の更新

プログラミングの背景:数論:

http://www.tbasic.org/reference/numbertheory/index.html

「記号と準備(2017年06月版)」を更新しました。

  • 「記号と準備(2014年06月版)」の更新版です。

     更新内容は,
    数学的帰納法1,2の同値性の証明の追加,基本的素数判定の方法,
    素数の無限性の証明の追加。証明での文体を「である調」に変更。
    です。

     現在まとめている「構造化プログラミング」での説明に必要な部分の追加です。
    構造化プログラミングの理解に数学的帰納法は重要な役割を果たします。このことから,数学的帰納法についての少しの追加と,素数表を作る例での素数判定のための予備知識の追加です。

TBasic 本体の TBasic128.zip を公開

TBasicのメンテナンスを止めてしまったわけではないのですが,Windows 8用に作った TBasic が Windows 10 でも特に問題なく動作していて,緊急な更新の必要性がなく,また,更新材料が無かったため,更新に随分と期間が空いてしまいました。久しぶりの更新です。今回は

TBasic 本体のTBasic128.zip の公開です。
http://www.tbasic.org/downloads/index.html

 今回のものも Windows 8用のものですが,Windows 10 でも問題なく動作します。(最新のOSで動作させるというのが,私の基本的考えで,Windows 10用の版を早く公開したいのですが,それは現在準備中で,もう少し時間が掛かります。)

 ホームページでの今までの公開は Ver. 1.234 でしたが,今回はバージョンを少し飛ばして,Ver. 1.238 です。 実際問題として,Ver. 1.231Setからの更新はしなくても余り差し支えは無いと思いますが,必要な方もいるかも知れません。

 途中のバージョンは掲示板では公開していましたが,ホームページ では未公開でした。それぞれの更新内容は,次の通りです。

  • Ver. 1.235:エディターのタブの位置の設定の追加。
  • Ver. 1.236:BMPファイルの読み込みの脆弱性へのパッチ。
  • Ver. 1.237:ウインドウの起動時位置の指定機能の追加。
  • Ver. 1.238:バグの修正。

 ドキュメントを含んだセット(現在は Ver. 1.231Set)の更新は, Basic入門シリーズのpdf化が済んでからにします。 Basic入門シリーズの最後になる「構造化プログラミング」については現在作成中ですが,もう少し時間が掛かりそうです。

BASIC入門の更新

 また少し期間が空いてしまいました。

BASIC入門:

http://www.tbasic.org/tutorial/index.html

「Tiny Basic for Windows グラフィック操作法(2014年11月版)」の追加です。

  • Tiny Basic for Windows グラフィック操作法(2014年11月版)の追加内容は tbasic に同梱されているBTutor.chmの「入門Basic」での初級グラフィックと大体同じですが,pdf化に際して,Ver.1.2以後用の説明に書き直しています。また,少し詳しい内容を追加しています。

BASIC入門のpdf化で残るのは,「構造化言語としてのBASIC」
だけになりました。何とか年内にpdf化をしたいと思っています。

プログラミングの背景:数論の更新

プログラミングの背景:数論:

http://www.tbasic.org/reference/numbertheory/index.html

「整数の合同と一次合同式(2014年09月版)」を追加しました。

  • 「整数の合同と一次合同式(2014年09月版)」の追加

     旧ホームページにあった「整数の合同と一次合同式」の更新版ですが,pdf化に合わせて,かなり多くの内容の追加と書き直しをしました。

     比較的丁寧に説明したつもりですので,合同の理論の入門としても読めると思います。読むときの前提の知識は「プログラミングの背景:数論」にある,「記号と準備」と「ユークリッドの互除法」です。

「プログラミングの背景」旧コンテンツへのリンク掲載

 昨日に引き続きの少しの更新です。

プログラミングの背景:

http://www.tbasic.org/reference/index.html

「プログラミングの背景」旧コンテンツへのリンクを掲載しました。

 昨年末,新ホームページに移行の際,旧ホームページのコンテンツについては,すべてリセットするつもりでした。しかし,新ホームページをスタートし,文書の更新等を随時行っていますが,予想外に時間が掛かります。「プログラミングの背景」についても,順次新コンテンツへの移行・更新の予定ですが,かなり時間が掛かりそうです。

 旧コンテンツは,htmlでの記述なので,式が見にくいこともあり,また,今から見ると説明があっさりしている感じもします。ただ,それでも,少しは参考になるところもあると思いますので,とりあえず,旧コンテンツへのリンクを掲載することにしました。修正したい部分もあるところですが,それは新コンテンツで書き直すことにして,修正はしていません。