2021-11-25
0から9、10種類の記号を使って数を表現するのが10進法。
0と1を使った2進法や、AからFを10から15を表すこととした16進法は有名ですね。

数は、いくつあるかという意味と、どう表現するかで分けられます。

日本語では「1」のことを「いち」と読み、「一」や「壱」と漢字で書けます。 英語では「one」、ベトナム語では「một」(参考、ゲームで楽しく覚える外国語の数字!ベトナム語編)と表現は様々ですが、全部「1」を意味します。

そう、表現は自由です!


動物コード デモsrc on GitHub
すべてのこどもたちにプログラミングを」と掲げるPCNが提唱する「動物コード」は、動物100種類を使った新しい数表現! 動物1つで0から99の100種類、動物2つで0から9999までの1万種類、動物3つで100万通りの数を表します。

JavaScriptのESモジュールなので、「Webプログラミング道場」でも使えます!
<script type="module"> import { DobutsuCode } from "https://pcn-club.github.io/DobutsuCode/DobutsuCode.js"; alert(DobutsuCode.encode(12345)); alert(DobutsuCode.decode("ウォンバット イノシシ")); </script>

または、CSVオープンデータを直接使うこともできます。

動物コード: <span id=code></span> <script type="module"> import { CSV } from "https://js.sabae.cc/CSV.js"; window.onload = async () => { const url = "https://pcn-club.github.io/DobutsuCode/dobutsucode.csv"; code.textContent = await CSV.fetch(url); }; </script> いろんなプログラミング言語でご活用ください!

CSVファイルで作成した動物一覧から、JavaScriptの動物コードライブラリを生成するJavaScriptのプログラム「cnv.js」と合わせて、GitHub上のオープンソース!

動物コード以外の動物を指定したらどうなる?マイナスの値は?
いろいろ想定して作るのがプログラミング「DobutsuCode.js」を覗いてみましょう!

ちゃんと動いているかな?を確認するのがテストコード「DobutsuCode.test.js
deno testコマンドで動きを確認します。
deno coverageを使って、全パターンテストしたかどうかも調べられます。(cover.sh)

プログラミングで遊ぶ、数と動物、動物コードでした。
応用編をお楽しみに!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS