2015年8月9日日曜日

夏休みの自由研究 #4 - 電卓遊び

どうも、小学4年生から電卓を算数の授業で取り入れているとかで、今回の記事は、小学4年生向けのものです。

まずは、12345679 と電卓のボタンを押します。更に「×」ボタンを押し、1から9までの、好みの数のボタンを押し、「=」を押して掛け算を行います。

ここまでで出た数は、まだ、何の数なのかよく解らない数ですが、更に「×」、「9」、「=」、とボタンを押すと、大変面白い事になります。

中学生くらいの知恵が付くと、この計算の仕掛けが判ってしまうのですが、小学生向けとは言え「この先の話」も用意しているのですよ、当blogは !

まず、上記の計算の「種明かし」から。12345679×9= を電卓で計算します。すると、111111111 が得られます。これに1から9までの数字を1つ選んで掛ければ、ゾロ目の数になる訳ですネ。
掛け算の内では、数の順番を換えても、同じ結果が得られる、という事が判ります。

12345679×9×■ = 12345679×■×9 = ■×12345679×9 = ■×9×123456789

更に、こうした現象が起こるのは、12345679だけなのか、調べてみましょう。

111111111 = 12345679×9 でしたから、今度は11から始めて、次々と桁を増やして行きましょう。電卓で計算します。

11÷9 = 1.222222222
111÷9 = 12.33333333
1111÷9 = 123.4444444
11111÷9 = 1234.555555
111111÷9 = 12345.66666
1111111÷9 = 123456.7777
11111111÷9 = 1234567.888
111111111÷9 = 12345679


最後の計算以外は、どうにも端数が出てしまいますから、憶えておくのも面倒です。
一方、端数の部分をよく見ると、規則的で大変面白い事が判ります。最後の計算、もしかして「12345678.99」だったのかしらん !?

電卓の計算は、計算の桁が限られているので、小数点以下の端数を計算するとしても、途中までで切り捨てになっています。ですから、上記の計算は、正確にはこんな風になっているのです。

11÷9 = 1.222222222222222... (以下、限りなく2を繰り返し)
111÷9 = 12.3333333333333... (以下、限りなく3を繰り返し)
1111÷9 = 123.44444444444... (以下、限りなく4を繰り返し)
11111÷9 = 1234.555555555... (以下、限りなく5を繰り返し)
111111÷9 = 12345.6666666... (以下、限りなく6を繰り返し)
1111111÷9 = 123456.77777... (以下、限りなく7を繰り返し)
11111111÷9 = 1234567.888... (以下、限りなく8を繰り返し)
111111111÷9 = 12345679

ここで、電卓でつぎの計算を行ってみましょう。

2÷9 = 0.222222222222222... (以下、限りなく2を繰り返し)
3÷9 = 0.333333333333333... (以下、限りなく3を繰り返し)
4÷9 = 0.444444444444444... (以下、限りなく4を繰り返し)
5÷9 = 0.555555555555555... (以下、限りなく5を繰り返し)
6÷9 = 0.666666666666666... (以下、限りなく6を繰り返し)
7÷9 = 0.777777777777777... (以下、限りなく7を繰り返し)
8÷9 = 0.888888888888888... (以下、限りなく8を繰り返し)
9÷9 = 1


最後の計算を除いて、全て小数点以下が繰り返しになっております。

0.222222... という数は、2÷9, 2/9の小数点表記である事が判りますが、この0.222222... という数を分数で表現するには、どうしたらいいのでしょうか。

  1. ■=0.22222... と置きます。
  2. 10×■=2.22222... ですネ
  3. 10×■-■=9×■ですが、同時に、=2.22222... - 0.22222.... = 2 と計算できます。
  4. 結果として、9×■=2, ■=2÷9 という計算がわかりました
ちょっと、狐につままれた様な話ですが、細かい事は学校の先生に聞くなどして頂戴。同様に、0.99999... が、1と違うのか、同じなのか、この方法で調べてみましょう。

  1. ■=0.99999... と置きます。
  2. 10×■=9.99999... ですネ 
  3. 10×■-■=9×■ですが、同時に、=9.99999... - 0.99999.... = 9 と計算できます。
  4. 結果として、9×■=9, ■=9÷9=1 となる事がわかりました !

小学生の皆様なら「電卓を使った夏休みの自由研究」というネタで、自分の文章で書かれてみてはいかがでしょうか。


【親御さんへ】
昨今では、100円ショップでも8桁程度の計算が出来る電卓が売られております。
しかし、学校の教材として電卓を買い与えるとなれば、是非とも関数電卓を選択され度 !
昨今の関数電卓は、2000円程度から近場のホームセンターで入手可能です。少し足を伸ばせば、1000円程度で買えるものもあります。

25 件のコメント:

Stepney さんのコメント...

お久しぶりです。

「電卓遊びって結構メジャーなテーマだよなあ」と思いながら拝見させて頂いたのですが、まさか0.9999...=1にまで話を持っていかれるとは思いませんでした。
ネットで探せば「一日で出来る自由研究」なんてものが大量に出てくるこのご時世、こういうアカデミックなテーマを選ぶ生徒や児童って少ないんでしょうね。

蛇足ですが、私の中高時代の友達にものすごい数学オタクの奴がいて、そいつの中三の時の自由研究のテーマが「群と変換」だったんです。
そいつの発表の時に、クラスのほぼ全員の顔がポカーンとしていたことを今でも良く覚えてます。

akatuki さんのコメント...

Stepney 様、お久しぶりです !

> 「電卓遊びって結構メジャーなテーマだよなあ」と思いながら拝見させて頂いたのですが、まさか0.9999...=1にまで話を持っていかれるとは思いませんでした。

有難う御座居ます。
小学生くらいのガキ共、もとい、お子さんを読者と想定した記事なので、こんな話になってしまいました。

> ネットで探せば「一日で出来る自由研究」なんてものが大量に出てくるこのご時世、こういうアカデミックなテーマを選ぶ生徒や児童って少ないんでしょうね。

実は、そこを狙っているのです、ハイ。
ネットでチャッチャと済ませようという浅はかな魂胆を持ったガキ共を入れ食いに ... 、というのは毒舌ですが、こういうネタで少しでも計算についての興味を持って貰えたら、いいかなぁ、と。

> 蛇足ですが、私の中高時代の友達にものすごい数学オタクの奴がいて、そいつの中三の時の自由研究のテーマが「群と変換」だったんです。
> そいつの発表の時に、クラスのほぼ全員の顔がポカーンとしていたことを今でも良く覚えてます。

ゲーッ、何ですか、ソレ !?
未だに群論(に限りませんが)、勉強していないのですよ、当方 ... 。

何時の世にも「栴檀は双葉より芳し」というくらいで、ずば抜けて頭の出来がよい人は居りますが、「より多くの人々に計算についてのリテラシイを」という思いで、非力ながらも、こうしたネタを書いて居る所です。

やす (Krtyski) さんのコメント...

akatuki様

高校生の時、友達の電卓を貸して貰って、色々計算遊びをしたのを思い出しました。
確か8桁の電卓だった記憶があります。

で、冷やかしにN桁電卓なるプログラムをでっちあげてみました。

最初に桁数を入力し、あとは適当に計算すると8桁で答えを返します。
入力するとき、四則演算、ルート、関数なんでも、1行の式なら入力可能(Casio Basic のコマンドの特性を利用)。

Casio Basic ですみません...

Norm 2
"KETA"?→K
Int(K)→K

While 1
Cls
?→N
Int(log(N))+1→D
Frac(N)⇒Int(log(Frac(N))→F
K-D+F→E
Int(10^(E)N)÷10^(E)◢
WhileEnd

これはこれで、面白い遊びが見つかりそうです(^^;)

akatuki さんのコメント...

やす (Krtyski) 様、御無沙汰しております。

> 高校生の時、友達の電卓を貸して貰って、色々計算遊びをしたのを思い出しました。
> 確か8桁の電卓だった記憶があります。

当方も、高校に入ったばかりの頃は、関数電卓をいじりまわし、友人のSharpの電卓も触らせてもらったものでした。

> で、冷やかしにN桁電卓なるプログラムをでっちあげてみました。

ヲイヲイ !
いや、興味深い試みです。

> 最初に桁数を入力し、あとは適当に計算すると8桁で答えを返します。
> 入力するとき、四則演算、ルート、関数なんでも、1行の式なら入力可能(Casio Basic のコマンドの特性を利用)。

「?→N」の部分で数式を評価、値を入力として変数Nに代入しているのだと思いますが、プログラムが出来る高機能電卓ならでは、です。

> Casio Basic ですみません...

いえいえ。当方も、TI-83+, HP50Gでこちゃこちゃやっておりますが、今の所、文章の方が煮詰まっており、なかなかネタをアップ出来ておりませんで、申し訳ない。

> これはこれで、面白い遊びが見つかりそうです(^^;)

仰る通りです。
(プログラムにて)式値を入力に供する事が出来る、そこが「高機能電卓」たる所以なりと。

所で、急かすわけではないのですが、Julyさんの所のHP50G、最近急に在庫が減ってきております。

やす (Krtyski) さんのコメント...

akatuki様

こんばんは、

Amazon でみると、Julyさんの hp50g の在庫が5台になっていました。

実は、ここのところ Casio Basicのグラフィックスプログラミングにハマっていて、次の1台はカシオ機 (fx-CG20) になる公算が高まっております(人ごとのような言い方ですが、大きな悩みです)。

どのようにグラフィックスプログラミングにハマっているかと言えば、以下のようにグラフィックスで遊ぶ夏休みの課題を提示しています。

※ 虫の閉じ込め (Bug Trap)
http://egadget.blog.fc2.com/blog-entry-456.html

※ 虫の軌跡 (Bug Trace)
http://egadget.blog.fc2.com/blog-entry-457.html

プログラミング自体を楽しんだ後、グラフィックスの挙動で遊ぶ、1粒で2度美味しい企画です。

Casio Basic のグラフィックス機能については、テキストベースとは異なり、かなり Casio 独自の工夫が盛り込まれていて、これを TI や HP 機に移植するのは、楽しそうですが一苦労しそうです。


脱線して申し訳ございません。

akatuki さんのコメント...


やす (Krtyski) 様

> 実は、ここのところ Casio Basicのグラフィックスプログラミングにハマっていて、次の1台はカシオ機 (fx-CG20) になる公算が高まっております(人ごとのような言い方ですが、大きな悩みです)。

先ずは、直近の問題というか、興味を優先され度。
当方なぞ、Primeを買おうと思っているのに「日本語冊子付きが出ない」という理由だけで買い逃しているのですが、目下、CG20の方に興味があるとあれば、先ずはそちらを入手するのが賢明であると思います。

> どのようにグラフィックスプログラミングにハマっているかと言えば、以下のようにグラフィックスで遊ぶ夏休みの課題を提示しています。
> ※ 虫の閉じ込め (Bug Trap)
> http://egadget.blog.fc2.com/blog-entry-456.html
> ※ 虫の軌跡 (Bug Trace)
> http://egadget.blog.fc2.com/blog-entry-457.html
> プログラミング自体を楽しんだ後、グラフィックスの挙動で遊ぶ、1粒で2度美味しい企画です。

拝読致しました。
こういう「(読者にも)考えさせる」ネタ、イイです。
DrunkBugの方、こういう感じの記事にしたいと思い、なかなか筆が進んでおりませんで、申し訳ない。

> Casio Basic のグラフィックス機能については、テキストベースとは異なり、かなり Casio 独自の工夫が盛り込まれていて、これを TI や HP 機に移植するのは、楽しそうですが一苦労しそうです。

当方、TI-83+でグラフィクスのコードをやっておるのですが、結構知らなかった項目があって、細かい所を勉強している所です。
色々とやっていると、更に知見が深まる、という事で。

やす (Krtyski) さんのコメント...

akatuki様

当方のブログでのコメント、ありがとうございます。
akatuki様ならではの視点、恐れ入ります。

テキストベースの fx-5800P の言語仕様は、詳細まである程度分かってきて、そのまま(100%ではありませんが) 他の機種にも適用できることも分かってきて、ユーザーの利便性を重視するカシオらしさを大いに感じるのです。

で、グラフィックスについても「似たようなものだろう」と気楽に触り始めたところ、全く世界が違っていることに驚いています。ディスプレイと直結することもあり、例えば fx-99860GII と fx-CG10/20 とのプログラム互換性をあまり期待できないようです。海外製のプロ電では、あまり驚くことでは無いのかも知れませんが、カシオしか知らない私には、結構意外です。


> 当方、TI-83+でグラフィクスのコードをやっておるのですが、結構知らなかった項目があって、細かい所を勉強している所です。
>色々とやっていると、更に知見が深まる、という事で。

これは、Casio Basic のグラフィックスプログラミングを調べている私にも、全く同じです。
使ってみないと分からないことだらけ、です。

他の方のブログやホームページで、明かに勘違いしているコードを見かけます。プログラムに慣れた方だからハマル罠というべき問題なんです。いったいどれほどの人が、Casio Basic でグラフィックスプログラミングが出来ているのか、疑問に思うようになってきました。

逆に言えば、恐ろしいくらいにマイナーな世界で、遊んでいるとも言えます。

それでも、新しい発見が新しい疑問に繋がる...調べていて楽しいです(^_^)/


akatuki さんのコメント...

やす (Krtyski) 様、遅うなりました。

> テキストベースの fx-5800P の言語仕様は、詳細まである程度分かってきて、そのまま(100%ではありませんが) 他の機種にも適用できることも分かってきて、ユーザーの利便性を重視するカシオらしさを大いに感じるのです。

ポケコン開発で蓄積されたノウハウが、fx-5800Pの言語仕様という「土台」に結実した、といった感じでしょうか。
構造化や命令群の整除など、fx-5800Pでしっかりした土台を作り、それを以降の高機能電卓製品に活用している、という様に思われます。

> で、グラフィックスについても「似たようなものだろう」と気楽に触り始めたところ、全く世界が違っていることに驚いています。ディスプレイと直結することもあり、例えば fx-99860GII と fx-CG10/20 とのプログラム互換性をあまり期待できないようです。海外製のプロ電では、あまり驚くことでは無いのかも知れませんが、カシオしか知らない私には、結構意外です。

これは「新しい酒は新しい革袋に」というのですか、画面も変更されて、更なる発展の余地を思い言語仕様を拡充した、と云う辺りではないか、と思われます。
HP50GとHP Primeなんかは、言語そのものを更新してしまったのですが、TI-83+の系統とTI-89系統(Voyage200まで)、更にはNSpireあたりとなると、もう別モノです。

> これは、Casio Basic のグラフィックスプログラミングを調べている私にも、全く同じです。
> 使ってみないと分からないことだらけ、です。

TI-83+でも、グラフィクスを扱う命令で一部変数が(勝手に)変更になってしまう現象があり、混乱しておりました。で、後日マニュアルを見ると、シッカリ書かれて居りました。
「マニュアル嫁」の典型的なパタンですが、日頃から活用していないと、ついつい忘れがちで ... 。

> 他の方のブログやホームページで、明かに勘違いしているコードを見かけます。プログラムに慣れた方だからハマル罠というべき問題なんです。いったいどれほどの人が、Casio Basic でグラフィックスプログラミングが出来ているのか、疑問に思うようになってきました。

恐らくは「動いているから、これでいいだろう」という意識なのだろうと思われます。当方もそうでした。
高機能電卓は「身近な問題を簡単に調べる」ツールではありますが、高機能化が進むと、その機能の利用でトチったりしてしまう場面も出て来るのです。
そこで、親分の詳細な情報が光ってくるのです。

> 逆に言えば、恐ろしいくらいにマイナーな世界で、遊んでいるとも言えます。

仰る通りです ... (苦笑)

> それでも、新しい発見が新しい疑問に繋がる...調べていて楽しいです(^_^)/

これもまた、仰る通りです !

藤堂俊介 さんのコメント...

 小学校の時3年生からソロバンを習いました。当然、電卓は、計算能力が落ちるからダメと先生が言っていました。(といいながら、その当時、オヤジの東芝の8桁電卓と、無理やり言って買ってもらったナショナルの電子ソロバン=電卓を使っていました。)電卓よりソロバンが興味があり、習いに行っていたのを思い出しました。

 40年前の書籍に《電卓ゲーム》なる本を入手し、読んだところ、サイコロと紙を使って電卓で計算する、双六のような内容もありました。

藤堂俊介 さんのコメント...

(追記)
 関数電卓は安く手に入りますから、fx-290はホームセンターで1,600円ほどで売られていました。そちらを子どもに与えると、夢中になるかもですね。

akatuki さんのコメント...

藤堂 様、お久しぶりです !

> 小学校の時3年生からソロバンを習いました。当然、電卓は、計算能力が落ちるからダメと先生が言っていました。(といいながら、その当時、オヤジの東芝の8桁電卓と、無理やり言って買ってもらったナショナルの電子ソロバン=電卓を使っていました。)電卓よりソロバンが興味があり、習いに行っていたのを思い出しました。

ソロバンですか ! 道理で計算に詳しいわけで。ウーン。
ソロバンというと、マクローリン展開とかの応用で、三角関数や対数、指数などの計算を行う技法があるとかいう話を見た憶えがあります。
手回し式計算機でも使われている技法らしく、色々と興味深いものではあるのですが、余り突っ込んでも大変で ... 。

> 40年前の書籍に《電卓ゲーム》なる本を入手し、読んだところ、サイコロと紙を使って電卓で計算する、双六のような内容もありました

あっ、それ面白そうですネ !
ボードゲームなどに高機能電卓を利用できるのではないか、などと構想しておりますが、こういう試み、昔から行われているのですね。

> 関数電卓は安く手に入りますから、fx-290はホームセンターで1,600円ほどで売られていました。そちらを子どもに与えると、夢中になるかもですね。

仰る通りです !

所で、先日量販店に行きましたら、ClassWizの「紙」カタログが置いてあったので、拝借して来ました。
PDFは以下の所から入手できます。

http://casio.jp/dentaku/catalogue/

PDFもイイのですが、紙には紙の良さがあります。

藤堂俊介 さんのコメント...

 当時 (日商珠算)は、3級小数点の四則、2級から負数が入り、段に入ると開平計算、それから、対数だったと聞きました。小学3年生の頭では、小数点で頭がパニックになりかけ、挫折しました。
 全珠連では暗算もあり、フラッシュ暗算も活発です。当時、日商珠算に暗算科目がなかったのは、帳簿の計算は確実に珠入れが必要で誤算のもとになるからだと考えます。

 電卓のカタログ、紙媒体もいいですね。手元にあればすぐに読めて質感がありますから。

やす (Krtyski) さんのコメント...

akatuki様

Casio Basic のテキストベースのプログラムは、5つの異なる機種でほぼ互換性があるのは、おっしゃるように長い開発の歴史の賜物と言えます。

ポケコンの時代は、ポケコンも電卓も非構造化プログラミング言語でした。そして、言語仕様は試行錯誤の真っ只中で、機種が新しくなれば仕様が新しくなりました。

そんな中で、FX-502P/501P からFX-603Pまでのシリーズだけは20年近く互換性を保ってきたのは、特筆すべきで、だからこそ実務用途を中心にベストセラーになったのだと思います。

だからこそカシオは互換性確保に結構なコストをかけてきたのだと思います。最近のカシオとのバグに関するやりとりでも、互換性重視の姿勢を明言しています。

言い換えれば、互換性が歓迎される実務用途では、グラフィクスプログラミングがさほど浸透していないと思われます。

電卓のグラフィックスは、グラフ描画が主目的です。これは実際に触っていてはっきりと感じられます。逆にグラフ描画の為の機能はとても充実しています。

取扱い説明書にはグラフ描画に関するものでさえ殆ど説明がなく、おそらくどれだけ説明書を読み込んでも、仕様はおろか使い方すら把握出来ないと思います。仕様なのかバグなのかは、相当使い込まないと判別出来ない始末です。

カシオ機に関しては、マニュアル嫁!は通用しないんですよ。

アメリカ製電卓のようなマニュアルがあればシェアが変わっているのかと思うこともありますが、主戦場である教育用途ではカシオは別の判断をしてきたようで、ヨーロッパ市場では成功しています。

グラフ電卓を実務で使う需要が少ないからコストパフォーマンスの高いfx-5800Pが存在しているとも言えます。

面白いことが原動力の趣味の世界で、グラフ電卓を徹底的に解析して、どの程度のポテンシャルがあるのかを見極めようとしています。

記述が楽なCasio Basic でソースを書いて、そのまま電卓上でネイティブコードに変換するコンパイラが有ればかなり面白いことになりそうです。

言語仕様の解析と技術力が必要ですが、解析は私でもできそうで、技術力はsentaro様がお持ちなので、そんなことが出来ないものかと、色々と意見交換や実験を始めているところです。

やす (Krtyski) さんのコメント...

akatuki様

そういえば、ポケコンでC が使えるものが有りましたね。これはどんなもんだったのでしょう?

当時のBasic は非構造化言語だったことは、いろいろと調べて分かっていますが、Cまで含めて非構造化とは言いきれないことに気が付きました。

PC でC を覚えたものですから非構造化のC など想像できず、ちょっと興味があります。

akatuki さんのコメント...


藤堂 様、どうも遅れてしまいまして。

> 当時 (日商珠算)は、3級小数点の四則、2級から負数が入り、段に入ると開平計算、それから、対数だったと聞きました。

あ、そういや三角関数や対数の前に、開平もありますネ。
3級で小数点の位取り、2級で負数、というと、小学校の算数とは逆の様でもありますが、多桁計算が可能なソロバンでは、それが当たり前なのか、と思われます。

> 小学3年生の頭では、小数点で頭がパニックになりかけ、挫折しました。

ですよネ。
一方、小数点(の位取り)という新しい知見、というものにも興味を持たれたのかも知れません。
ただ、それが(ガキのオツムでは)腑に落ちない、というか、「何に使うのか」というのがよう判らんかった、のか ?
頭ごなしに習わせるのは、習熟の初期では必要、というか、それは公理、基礎知識、いや、もっというと「前提」を教えるためですが、前提を知って、更なる知見に興味を持ってもらおうとするならば、「その手続きには、どんな効能があるのか」という理解に進まないと、興味を持てない、そんな風に思うのであります。

> 全珠連では暗算もあり、フラッシュ暗算も活発です。当時、日商珠算に暗算科目がなかったのは、帳簿の計算は確実に珠入れが必要で誤算のもとになるからだと考えます。

フラッシュ暗算 !
ソロバンの暗算では、指でそろばん玉を弾く動作で行っておりましたが、フラッシュ暗算って、パッパッと表示される数を見るだけで暗算を行うものでしたネ。
こういう技能を培うのは悪い事ではないのですが、そこまで精進出来るのは、ごく少数の人々であります。
一方、色々と計算が必要な世の中とあって、計算に対するリテラシイを涵養すべく、そこで電卓、更には高機能電卓の利用を説いて行き度思う所なのです、ハイ。

> 電卓のカタログ、紙媒体もいいですね。手元にあればすぐに読めて質感がありますから。

その通りです !
そこで満足してしまい、肝心の実機を入手しない場合もあるのですが ... 。目下、HP Primeの入手に心を砕いて所でして、ClassWizの方は当面、紙カタログでガマンであります。

やす (Krtyski) さんのコメント...

akatuki様
藤堂様

紙の電卓で思い出したのですが、私がご幼少のみぎり(じゃなくて、ストレートにガキの頃)、ピアノの練習を紙に書いた鍵盤の上でやっていた女子がいました。

当時は、学校のピアノで練習すればいいのにアホか、と生意気にも思っていたのです。

ところが、今や机や紙に投影した鍵盤を叩くと音が鳴る時代です。心で思ったはしたないはしたない感想、過去に戻って訂正したい気分です。

紙に投影した電卓だってやれば作れる時代ですね。紙の電卓、お一つ如何ですか?>akatuki様。

...ってそういう話しでは無いかも...((((((((( ((((((((;^^)

藤堂俊介 さんのコメント...

 紙の電卓いいですね。関連して、江戸時代には、紙のソロバンがありました。
http://www.rs.kagu.tus.ac.jp/infoserv/museum/si/p19-2.html
 よく考えたものです。

 小学校3年生で小数点を学校で習う前で、珠算塾でかじったという。ただ、指数計算を頭でした上で、(0.1×0.1→10のマイナス1乗+10のマイナス1乗=10のマイナス2乗)、小数点の位置を指で押さえるという方法が、こんがらかって挫折。忍耐が強ければと反省。
 今でも、加減算はできますから、痺れた指のリハビリに百均の13桁ソロバンを時々使っています。

 繰り返しの計算、大量の計算を楽に早くの目的は、計算器具の目的ですから、プログラム関数電卓を活用するのも大事なことですね。


やす (Krtyski) さんのコメント...

藤堂様

紙のソロバン、面白いですね。コロンブスの卵的発明といいましょうか?

縦長の穴の開いた短冊状の紙をスライドさせるのでしょう。この発想、日本人は素晴らしいと改めて思います。

カシオのプッログラム電卓独自の(昔からある)命令は、ある意味簡単にプログラムを書ける発明と言っても良いと思います。私としては、最近はこ旧来の命令の良さを見直しています。

電卓での簡単な計算プログラムには BASICなど不要、簡単にプログラムを書いて使えは良い...こんな発想も大切なんだろうと...

Casio Basic を使い倒して始めて至る心境ではあります。

そして、Basicたるコマンドを使いこなせたら、Casio Basic って凄いんだヨ、と伝えたい、これがメインだった以前に比べて、ついででも良いような気がしてきています。


h-50g のエミュレータで遊んでいる範囲では、RPL も簡単な繰り返し計算のプログラムには、向いていることが少し分かってきました。

藤堂俊介 さんのコメント...

 CASIO BASICの扱いやすいところは、数式を入れただけでも、実行できること。極端に言えば、1+1とプログラムエリアに記憶して、実行すると2と表示する柔軟さ。
 この性質を利用して、延々と加減算を書いておけば、金銭メモが出来ます。

 関数電卓の多言語化に向き始めましたから、グラフィックプログラム関数電卓でも、カナ文字か、欲を言わせればケータイテンキー入力の漢字入力が出来れば、取っつきやすく、手軽にプログラムがはやると思っています。

akatuki さんのコメント...

やす (Krtyski) 様、遅うなりまして申し訳ない。

> そんな中で、FX-502P/501P からFX-603Pまでのシリーズだけは20年近く互換性を保ってきたのは、特筆すべきで、だからこそ実務用途を中心にベストセラーになったのだと思います。

これは「ポケコンの(BASIC)開発競争」から外れた所にあったから、という考えでもありますね。

> だからこそカシオは互換性確保に結構なコストをかけてきたのだと思います。最近のカシオとのバグに関するやりとりでも、互換性重視の姿勢を明言しています。
> 言い換えれば、互換性が歓迎される実務用途では、グラフィクスプログラミングがさほど浸透していないと思われます。
> 電卓のグラフィックスは、グラフ描画が主目的です。これは実際に触っていてはっきりと感じられます。逆にグラフ描画の為の機能はとても充実しています。

ウーム。
確か、CASIOは世界初のグラフ電卓fx-7000Gを出しました。当時の電卓言語がどんなものか、ちょっと判らんですが、その頃からやっているので、グラフィクス機能にも大分の蓄積があるのだとは思うのです。

> 取扱い説明書にはグラフ描画に関するものでさえ殆ど説明がなく、おそらくどれだけ説明書を読み込んでも、仕様はおろか使い方すら把握出来ないと思います。仕様なのかバグなのかは、相当使い込まないと判別出来ない始末です。
> カシオ機に関しては、マニュアル嫁!は通用しないんですよ。

言われてみればそうでした。
fx-5800Pの行列要素操作、マニュアルPDFにはどうにも記述が見つからずでしたが、親分の調査によって機能があると判ったくらいでしたネ。

開発者がマニュアルを作ると、機能全ては解っていても、書き漏らしが出て来るのかも知れません。
そこで、Anti-hypothesisとしての「ユーザー視点のマニュアル」が期待されるのです。

> アメリカ製電卓のようなマニュアルがあればシェアが変わっているのかと思うこともありますが、主戦場である教育用途ではカシオは別の判断をしてきたようで、ヨーロッパ市場では成功しています。
> グラフ電卓を実務で使う需要が少ないからコストパフォーマンスの高いfx-5800Pが存在しているとも言えます。
> 面白いことが原動力の趣味の世界で、グラフ電卓を徹底的に解析して、どの程度のポテンシャルがあるのかを見極めようとしています。

海外のユーザーも色々とやっており、Sentaro 様のオーバークロック・ハックも話題になった、のだと思います。
最近知って驚いたのが、フランスのユーザーがTI-83+の独自アセンブラを作っているらしいのです。
それなりのユーザー数が居るので、製品の供給が続いているのです。「豊かになる」というのは、こうした事なのではないのか、と。
日本では高機能電卓製品が売れなくなった、として、CASIO以外の社は実質、事業を終焉してしまったのですが、そこが悔やまれると共に、CASIOに期待したい所でもあるのです。

> 記述が楽なCasio Basic でソースを書いて、そのまま電卓上でネイティブコードに変換するコンパイラが有ればかなり面白いことになりそうです。

イイですネ、ソレ。
HP Prime辺りは、かなり近い事をやっていて、実行速度を稼いでいるのですが、生成している「バイナリ」がp-codeらしく、ネィティヴではなくて、惜しいなァという辺りです。
TI NspireはLuaで、という感じですが、Sentaro様によるとBASICの気軽さとは別物で。
ビルトインの言語で高速動作するというのは理想であり、アプリケーション開発も進むという事で !

> 言語仕様の解析と技術力が必要ですが、解析は私でもできそうで、技術力はsentaro様がお持ちなので、そんなことが出来ないものかと、色々と意見交換や実験を始めているところです。

ウーン。
かなり大規模な試みではあります。

> そういえば、ポケコンでC が使えるものが有りましたね。これはどんなもんだったのでしょう?
> 当時のBasic は非構造化言語だったことは、いろいろと調べて分かっていますが、Cまで含めて非構造化とは言いきれないことに気が付きました。
> PC でC を覚えたものですから非構造化のC など想像できず、ちょっと興味があります。

残念ながら(?)、AI-1000のC言語は構造化されておりました。
もちろん、PCのCと較べるとサブセットではありますが、独自に画素の操作関数などを持っていて、ポインタも実アドレスに対応しておりました。(但し、バイナリを持ってきて、そこへ制禦を移す、という事は出来なかった ...)
p-codeコンパイラですから実行速度は大した事はありません。
内蔵のテキストエディタでソースを書き、[run]キーを押すと実行された様に記憶しております。

他のポケコンC言語については不勉強なのですが、大方、同じようではないのかなぁ。

> ピアノの練習を紙に書いた鍵盤の上でやっていた女子がいました。

音楽の教科書の裏に描かれていたヤツでしょうか。
確かに、昔の教育に割くリソースというのは実に乏しかった。

> そして、Basicたるコマンドを使いこなせたら、Casio Basic って凄いんだヨ、と伝えたい、これがメインだった以前に比べて、ついででも良いような気がしてきています。

そこ、電卓の良さであります。
当方も、グラフ電卓で日常やる事と言えば、簡単な計算から始まり、ちょっとした数式のグラフを描かせたりとかばかりで、たまに、必要にかられてプログラミングを少しばかり、という感じです。
ちょっとした計算も当たり前の様に出来、さらにプログラムを必要とする面倒な作業も(それなりに)こなせる、そこが、日常の道具である高機能電卓の良さ、なのだと思うのです。

やす (Krtyski) さんのコメント...

藤堂様

道具は使いよう。実際に触ってみることで、色々な使い方が見えてくるのは、面白いものです。

自分の価値観は大切ですが、それに拘泥せず広い視点を持ちたいものですね。

私のCasio Basic探索は、新しい機能、使い方、そして価値観の再発見の連続で、自分の考え方が変化してゆき、世界が広がってゆくのが、なかなか楽しいところです。

やす (Krtyski) さんのコメント...

akatuki様


>これは「ポケコンの(BASIC)開発競争」から外れた所にあったから、という考えでもありますね。

カシオが最初から狙っていたのか、思わぬ市場の反応だったのか、分からないのですが、結果として売れたからそれに対応したということなんでしょう。

趣味性の高い製品は製品寿命が短く、またポケコンはPCの普及で衰退したわけですが、実務で使われることの強さ、変えて貰っては困るというユーザーの要求を大切にすくい取った成功事例だと思うわけです。

ポケコンから外れていたことが、意図的かどうかは今となっては分からないのですが、結果としてそうしたということなんでしょう...そんな感じでおります。


>ウーム。
>確か、CASIOは世界初のグラフ電卓fx-7000Gを出しました。当時の電卓言語がどんなものか、ちょっと判らんですが、その頃からやっているので、グラフィクス機能にも大分の蓄積があるのだとは思うのです。

一日の長をうまく活かしてきたのでしょうか?



>言われてみればそうでした。
>fx-5800Pの行列要素操作、マニュアルPDFにはどうにも記述が見つからずでしたが、親分の調査によって機能があると判ったくらいでしたネ。

>開発者がマニュアルを作ると、機能全ては解っていても、書き漏らしが出て来るのかも知れません。
>そこで、Anti-hypothesisとしての「ユーザー視点のマニュアル」が期待されるのです。

カシオ機、特にグラフィックスプログラミングについては、書き漏らしと言ったレベルではありません。最初から記述する意思が全く感じられないのです。


>海外のユーザーも色々とやっており、Sentaro 様のオーバークロック・ハックも話題になった、のだと思います。
>最近知って驚いたのが、フランスのユーザーがTI-83+の独自アセンブラを作っているらしいのです。
>それなりのユーザー数が居るので、製品の供給が続いているのです。「豊かになる」というのは、こうした事なのではないのか、と。


カシオは、フランスだけは他とは異なる販売戦略をとっているようです。そもそも型式やデザインが異なるんです。フランスは独自路線が好きなんだろう...と想像していて、それを活かした販売戦略なんだろうと思っています。


>日本では高機能電卓製品が売れなくなった、として、CASIO以外の社は実質、事業を終焉してしまったのですが、そこが悔やまれると共に、CASIOに期待したい所でもあるのです。


この話については、鶏と卵を感じます。市場が必要にしなくなったのか、市場に受け入れられる製品開発と製品投入を行わなかったのか、どちらが原因なのか、私には見極めれていません。


>ウーン。
>かなり大規模な試みではあります。

はい、遠大な話しですよね。sentaro様にどこまで協力できるのか?探っているところです。

Casio Basicの探索結果を確認するため、その結果をアドインで確認することで、Casio Basicの仕様なのか、ハードウェアの仕様なのかといったところが分かってきて、探索がさらく深くなる面もあるんです。

仕様が明確に分かるような Casio Basicプログラムを提示し、それをアドインで実現する作業を通して、Casio Basic コマンドを変換したアドインのC言語コードを、部品として少しづつ試作し蓄える作業をやっていてば、いつか、実現性が見えてくるのだろうと...そんな感じで探っているのが現状です。


残念ながら(?)、AI-1000のC言語は構造化されておりました。
もちろん、PCのCと較べるとサブセットではありますが、独自に画素の操作関数などを持っていて、ポインタも実アドレスに対応しておりました。(但し、バイナリを持ってきて、そこへ制禦を移す、という事は出来なかった ...)
p-codeコンパイラですから実行速度は大した事はありません。
内蔵のテキストエディタでソースを書き、[run]キーを押すと実行された様に記憶しております。

さすがに、Cだと構造化なんですね。但し当時はアセンブラに薄皮を被せた感じだったんですね。


>そこで、Anti-hypothesisとしての「ユーザー視点のマニュアル」が期待されるのです。

ここなんです、自分で探索して、コレが分かったから理解できたというのがポイントでして、それには結構な広がりがあって、サンプルプログラムが貯まってゆきます。それを独自のコマンドリファレンスにまとめてきました。

実は、これはこれで1つの利用価値があるのでしょうが、調べた結果を淡々と辞書的に簡潔にまとめることの重要性を感じ始めています。

また探索結果については、sentaro様から「海外でも通用するかも知れない」と聞かせて頂いたので、「Inside Casio Basic プロジェクト」を始めています。英文で作って、それを和訳したものを同時に作るといったアプローチです。

ボチボチと書き始めています。ちなみに、e-Gadget のトップページの下の法に、英文と和文それぞれの目次へのリンクを作ってあります。

ある程度まとまったところで、専用ホームページにするか、別ブログにするのかまだ考え中で、Brogger も個補に入っています。

e-GadgetはFC2なんですが、最近会長と社長がアダルト絡みで逮捕され釈放されたというニュースがあったので、リソース保護の意味で二重化(互いにコピーを作っておき、何かあったら切り替える)を考え始めていたりします。

英文化のもう一つの理由として、現在 sentaro様による Add-in 関連のネタの集約と公開、それに伴う情報(コメント)収集もあります。コンパイラ完成の暁には、これを公開する場の準備の意味合いもあります。

やっていて、チョットわくわくしています。

akatuki さんのコメント...

やす (Krtyski) 様、些事が立て込んでおり、遅うなりまして申し訳ない。

> カシオは、フランスだけは他とは異なる販売戦略をとっているようです。そもそも型式やデザインが異なるんです。フランスは独自路線が好きなんだろう...と想像していて、それを活かした販売戦略なんだろうと思っています。

フランスを橋頭堡としたヨーロッパ市場戦略、というと物騒な感じになりますが、そんな感じなのかしらん ?

> この話については、鶏と卵を感じます。市場が必要にしなくなったのか、市場に受け入れられる製品開発と製品投入を行わなかったのか、どちらが原因なのか、私には見極めれていません。

おっしゃる通りです。
PCの普及、更にはスマートフォンの普及があって、ユーザープログラムデバイスの必要性が薄れていった、という事もあるのだとは思います。

> カシオ機、特にグラフィックスプログラミングについては、書き漏らしと言ったレベルではありません。最初から記述する意思が全く感じられないのです。

> はい、遠大な話しですよね。sentaro様にどこまで協力できるのか?探っているところです。
> Casio Basicの探索結果を確認するため、その結果をアドインで確認することで、Casio Basicの仕様なのか、ハードウェアの仕様なのかといったところが分かってきて、探索がさらく深くなる面もあるんです。
> 仕様が明確に分かるような Casio Basicプログラムを提示し、それをアドインで実現する作業を通して、Casio Basic コマンドを変換したアドインのC言語コードを、部品として少しづつ試作し蓄える作業をやっていてば、いつか、実現性が見えてくるのだろうと...そんな感じで探っているのが現状です。

これは、(グラフィクス機能を含めた)CASIO BASIC の「機能洗い出し」という段階なのですね。

> ここなんです、自分で探索して、コレが分かったから理解できたというのがポイントでして、それには結構な広がりがあって、サンプルプログラムが貯まってゆきます。それを独自のコマンドリファレンスにまとめてきました。
> 実は、これはこれで1つの利用価値があるのでしょうが、調べた結果を淡々と辞書的に簡潔にまとめることの重要性を感じ始めています。
> また探索結果については、sentaro様から「海外でも通用するかも知れない」と聞かせて頂いたので、「Inside Casio Basic プロジェクト」を始めています。英文で作って、それを和訳したものを同時に作るといったアプローチです。
> ボチボチと書き始めています。ちなみに、e-Gadget のトップページの下の法に、英文と和文それぞれの目次へのリンクを作ってあります。

Sentaro様も申して居られる様に、これは、世界的にも大変意義ある試みだと思います !

> ある程度まとまったところで、専用ホームページにするか、別ブログにするのかまだ考え中で、Brogger も個補に入っています。
> e-GadgetはFC2なんですが、最近会長と社長がアダルト絡みで逮捕され釈放されたというニュースがあったので、リソース保護の意味で二重化(互いにコピーを作っておき、何かあったら切り替える)を考え始めていたりします。

社長がタイーホ、というのはアレですが、バックアップは重要です。
Bloggerも悪くはないのですが、最近、認証がウザイので ... 。

> 英文化のもう一つの理由として、現在 sentaro様による Add-in 関連のネタの集約と公開、それに伴う情報(コメント)収集もあります。コンパイラ完成の暁には、これを公開する場の準備の意味合いもあります。

CASIO BASICの「ポータル」ですね ! 素晴らしいです !

> やっていて、チョットわくわくしています。

何より、それが一番であります !
当方、CASIO機は持っていないので、貢献できる事はありませんが、こういうポータルがあると、色々な意見も寄せられる事でしょう。
陰ながら応援して居ります !

やす (Krtyski) さんのコメント...

akatuki様

お返事ありがとうございます。

そうですね、スマホやタブレットの影響も大きいですよね。



幸か不幸か、カシオプログラム電卓の後継機種について、直メールでカシオに聞いたところ、当面計画は無いとの"公式"回答ですので、現在取りかかっている作業を進める時間はたっぷりありそうです。


モチベーション維持のためにも、今後もこちらへお邪魔したいと思いますので、よろしく御願い致します。

なにより応援の言葉を頂けるだけで、心強いです。

akatuki さんのコメント...

やす (Krtyski) 様、夜分恐れ入ります。

> 幸か不幸か、カシオプログラム電卓の後継機種について、直メールでカシオに聞いたところ、当面計画は無いとの"公式"回答ですので、現在取りかかっている作業を進める時間はたっぷりありそうです。

ウーム。
まあ、新製品を計画しているにしても、軽々に言う事はないのでしょう (こういう情報が出ると、現状の製品の「買い控え」にもつながります)。当面、という期間も気になる所です。
明確に「無い」というのでしたら「暫くは無い」のかなぁ。年末くらいまで ?
一方、親分としては、安心して作業出来るとあって、作業の成果が整い出した、いい頃合いに新製品が出てくれれば、という事ですネ !

> モチベーション維持のためにも、今後もこちらへお邪魔したいと思いますので、よろしく御願い致します。

いえいえ、どんどんコメントを戴きたく、こちらこそ宜しくお願い申し上げます。
ただ、当方のレスポンスは少々時間が掛かるので、そこは御容赦戴き度 !

> なにより応援の言葉を頂けるだけで、心強いです。

当方としては、これくらいの事しか出来ませんで、申し訳なく思う所です。