正則コラッツ木生成機の画面要素が確定した,あとは図版を差し替えるだけ

開発機で実行していたテストは昨日のうちに落ちていた.うっかり閉じてしまったのだろう.予備機のテストは続いている.6日+52分で63.2%.少なくともあと4日は掛かる形勢だ.予備機でもカスペルスキーのパスワードマネージャのアンロック画面が出ていて,そのあとに「個人情報の商用利用」の許諾を求めるメッセージが出た.拒否したのに「おめでとうございます…」のようなことを言っているのが気になる.ボタンを押し間違えてはいないと思うが,この種のボタンは一度許諾すると戻せない(のが普通だ).

正則コラッツ木生成機の画面要素はすでに確定しているので,あとはマニュアルの図版を差し替えるだけになっている.それほど時間は掛からないので,ほどなく公開の段取りに入ることになるだろう.公開後も差し替えができるようにしておくので,多少のところは後日修正もできるだろう.テント村の訪問者がじわじわと増加傾向にある.昨日の訪問者数は64人で,いまの時刻午前四時ですでに訪問者8人,うち2人がオンライン中になっているので,海外からのアクセスが出てきている可能性はある.現在公開しているCollatz Tree Generator V.1.04は少なくとも数本はダウンロードされている.

仮に今日中に最新版+マニュアルが公開できたとして,その後に日本語版マニュアルを作るかどうか?が問題だ.グーグル翻訳である程度のことはできると思うのだが,読者の便を考えれば作った方がよいのは当然だろうとは思うのだが…まぁ,これはあとから考えることにしよう.アイコンを作り変えるという話もある.現在は応急的にゼルコバの木ベータ時代の切り株アイコンを使っているのだが…⇒アイコンは作るとしても間に合わない.図版もすべて差し替えになってしまうし…

マニュアルの図版でとんでもない間違いが見つかった.一番肝心なコラッツ木構造図だ.k番目の子ノードの番号を与える漸化式を,

N(k) = 4N(k-1) – 1

としているが,これはN(k) = 4N(k-1) + 1の明らかな誤りだ.誰も指摘してくれていないので,読まれていないことは間違いないが…本体プログラムではこの式を使わず,

N(k)=(4M(k-1)-1)/3 : M(k)=4M(k-1)

のような式を使っているので,この間違いは発現していない.まず,この図版を修正し,かつ漸化式をN(k) = 4N(k-1) + 1に変えて動作することを確認しておく必要がある.モハティのスレッドの図版も差し替える必要がある.しかし,これは最新版+マニュアルの公開の手配が整ってからやることにする.

▲Collatz Tree 3-8-766.zelをダブルクリックで起動して,フォントサイズゼロというエラーが出た.

image

アプリを起動しておいて,ファイル→開くではエラーは起きない.ダブルクリックで起動したときに固有の現象のようだ.

正則コラッツ木生成機のCollatzTreeStructureに上記の修正を入れて動作を確認した.つまり,「漸化式をN(k) = 4N(k-1) + 1に変えて動作することを確認」できた.この方が論理が単純なものになるので,より優れていると言える.プログラムの修正はこれまでなので,図版を作り直すことにする.コラッツ木構造図はゼルコバの木で描画しているので,原図を探してみよう.フォーラムに投稿された画像の日付は2021/12/17だ.⇒どこにも残っていない.簡単な図なので作ってみよう.⇒バックアップに入っていた.見つからなかったのは,このあとフロントエンド機を変えているためだ.

▲コラッツ木構造.zelを保存しようとして,PAGESETUP::GetPageCountのエラーになった.

image

とりあえず,マニュアルに関しては図版を差し替えるだけになった.アイコンにトライしてみたが,なかなか難しい.ネットでピッタリの絵柄を見つけたので使わせてもらうことにした.ありがたいことに無料だ.

ClipartKey_1694922

無料なのはいいが,フォトメディアアドオンというアプリのインストールが勝手に始まっている.もしかしたら,どこかのボタンを押しているのかもしれないが…こっちはドライブが逼迫しているので勘弁してほしい…エクスプローラのプレビューに画像が表示されないので,再起動したところだ…(再起動すると多少緩和して表示できるようになる)

一つ問題が出てきた.Export Zelkova Tree CSVがオンになっていると,ゼルコバの木形式CSVファイルが出力されるようになっている.全部で4種類のファイルが出力されていて,CollatzNumber.csvという名前のファイルは,Get the Numberで出力されることになっているが,Verification Testでも同じ名前のファイルが出力されている.本来Verification Testではファイルに保存しないという仕様だったが,内部でGet the Numberが走っているため,副次的に生成されている.

もし,Verification TestでもCSV出力が取れるということになれば,それはそれで面白いのだが,現在の動作では,最後の1点についてのグラフデータしか出力されていない.これはほとんど意味がないので,全面的に出力しないようにするか,ないし,全点(と言ってもゼルコバの木が読み込める限度内ではあるが)取れるようにすべきだろう.Verification Testのテスト結果をゼルコバの木で可視化できるとかなり面白いのだが,可能だろうか?

このためには,隣接リストファイルをゼルコバの木で直接読み込めるようにする必要がある.Verification Testで出力されるグラフというのはすべて「鎖」なので,不可能ではないような気もするが,ゼルコバの木を改変しないでそれができるかどうかはやや疑問だ.というのは,どうしても交叉が発生する可能性があり,特に1はすべての鎖に含まれるので,現行のゼルコバの木の論理では別人物として登録されるのは避けられないような気がする.いずれにしても,いま直ちに実装するというのは困難なので,Verification Testでは何も出力しないようにしておくしかないだろう.⇒対処した.

▲CollatzTree.csvをインポートしようとして,ImportTablefuncのエラーが出た.

image

あまり見たことのないエラーだ.そのあと,ファイルのオープンに失敗しましたなどのエラーが続く.どうもこのCSVファイルはでき損なっているのではないか?プレーンCSVを取ってみよう.これは問題なさそうだ.⇒ゼルコバ形式ファイルを出力していないように見える.やはりそうだ.どこか壊してしまったのだろうか?mmm…確かにやり過ぎていたかもしれない…

ExportZelkovCsvでWorkingでないときは無動作で抜けるようになっていた.この関数は汎用でゼルコバCSV出力では必ず使われるものだから,ここで抜けるというのは間違っている.ゼルコバの木出力しないときは,プレーンCSVを出力するようになっているので,それをインポートしたゼルコバの木が「ファイルのオープンに失敗」というのは正しい動作だ.いや,まだ少しおかしい.CSVファイルが消えてしまった.⇒拡張ディスプレィの方に出ていた.まったく問題ない.

▲出力枠のテキストを切り詰めるとき,行単位で削るようにしているはずだが,うまく動作していない.最初の一行が半端なところから始まっている.⇒テキストがMAXDUMPTEXTより短いときは切り詰めないようになっているが,等号が成立したため無処理になっていた.等号の場合も処理するようにした.

▲プレーンCSVを取ったあと,ゼルコバの木CSVに切り替えて例外が発生して,異常終了した.⇒これはLcalcを開いてファイルがロックされていたためと思われる.フラグは立っているが,ストリームがNothingであるため,Closeしようとして例外が発生している.⇒対処した.

公開版のバージョンをV1.1.4とし,リリース日付も2022-01-27に改めておこう.まず,これをownCloudにアップロードして場所取りをしておこう.⇒クラウド上にすでにCollatz Tree Generatorというフォルダは存在する.一番最初に作ったものだが,上書きしてしまおう.⇒公開リンクは一つのファイルに対して複数作れる.一応,新しいリンクを作っておくことにする.

https://zelkova-tree.net/ownCloud/index.php/s/hp1QwdFxv3HLez1

今度はLibreWriterから直接印刷してみる.⇒レイアウトで失敗している.18ページのところが,19ページになってしまった.紙とインクがもったない…仕上がりはほぼ同じだ.Libreの方がPDFより気持ちページが縦長になっているが,まぁ,収まっている.完璧とは言えないにしても,ほぼ満足できるものになった.マニュアルも仕上がったのでクラウドにアップすることにしよう.

マニュアルの公開リンク:https://zelkova-tree.net/ownCloud/index.php/s/Tsgt6t10A3NI7Uz

まず,テント村のトップページに告知を入れておこう.⇒片付いた.パッケージにPDFを詰め込んでダウンロードできるようにした.オンラインマニュアルも開くことができる.これで万端整ったと言えるだろう.別バージョンが3つアップされているが,すべて27日以内に期限切れとなるように編集した.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA