猿人へ至るエンジン
前回の検証により、30000行の演算を行ったとしても、「シェイクスピア」の7文字の内、3文字を一致させるのが手一杯であることが分かった。
予想はしていたものの、この検証を手作業で行うには、信念と狂気が足らなさすぎるようだ。
過程を楽しむとは言ったが、その為に、時間を無駄にするわけにもいかない。「シェイクスピア」の文言を出すことが、私の最終目的ではないからだ。
という訳で、私はPCの力を借りることにする――MACRO《マクロ》と呼ばれる魔法を使って。
孫悟空の話をした際に、
有り体に言えば、分身の術――コピペによっていくらでも演算回数を増やすことが出来る性質を「分身」になぞらえた訳だが、MACROはそれを発展させたものと思えばよい。
どういうことか。タイプライターを打つ「猿」ではなく、その結果を取得して、レポートに書く私そのものを分身させるということだ。
例えば――検証を行った際に、私は以下の行動を取っている。
・赤く塗られたセル(最も「シェイクスピア」に近いセル)を見つける
・行数を確認する
・セルの単語をコピーしてから、AH列にペーストする(この時、自動的に乱数が再生成される)
・「シェイクスピア」と同じ文字列の部分に傍点を追加する
1000行ある中から、僅かに赤くなっているセルを探すのも億劫だし、傍点を追加する作業も、目視確認では振り間違える可能性がある。
しかし、この作業をPCが代行したらどうか。
どんな量があろうとも、細かい作業であろうとも、失敗する可能性はゼロになる。しかも人間が行った場合よりも数段迅速になる。
そして、なにより――幾らでも
私が寝ている間にも、電子世界にいる数多の「私」が延々と精神を削りながら、シェイクスピアと睨めっこをする訳である。
その代価が僅かばかりの電気代しかないのだから、やらない手はない。
さて、猿を「猿人」に進化させかねない程の力を持つMACROであるが、この力の習得には大きな障害がある――特殊な言語を用いなければ、作成出来ないのである。
それは、Mi〇rosoft社が編み出したVBAと呼ばれるプログラミング言語。「あーしてこーしてください」と日本語で書いたところで当然通じない。それどころか、構文からして全然馴染みがないときた。どのような処理が出来て、その為にどのようなコードを書けばいいのかも分からない。
路頭に迷っていた私の目の前に、知識の化身である「ちょろ目」が現れた。
――サア、ワタシノ主神ヲ呼ブノデス。
私はその言葉に引き寄せられたかのように、いつも通りググルの術を試みていた。
それから一時間が経った。
知識の神がもたらした情報を基に、私は私自身を
内容を簡潔に述べると、「ループの各回ごとに「シェイクスピア」に最も近い文言とその行数、一致文字数を、それぞれAH列~AJ列に記入する」といったものである。1回目のループの場合は、AH1~AJ1に記入し、2回目以降のループの場合は、その下の行(AH2~AJ2など)に記入する為、何回ループさせようとも、結果が上書きされてしまうことはない。
このプログラムを基に、私は10000行の乱数生成を53回繰り返し、「シェイクスピア」と比較することにした。
合計530000行あれば、4文字一致の確率は約39.09%となる――もし、1回試して駄目でも問題はない。こちらの作業は実行ボタンを押すだけであり、それさえ気に入らなければ、ループ処理をループさせるという手もあるのだから。
……余談ではあるが、本当に偶然なことに530000回という数字は、何かを思い出させるなあ。
(余談の余談)
本文中ではあたかも「マクロを作るのは大変だ」などと記述しているが、E〇CELには「マクロの記録」と呼ばれる機能が付いている。
わざわざコードを書かなくても、実装させたい操作をしてみせるだけで、自動的にその操作を行うためのコードを書いてくれる。こちらは「マクロの実行」機能で再現出来たかだけを確認すればよい。素晴らしい機能である。
流石にE〇CELでゲームを作るとなったら、プログラミングするしかないだろうが……
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます