2015年11月28日土曜日

「すり抜け」確率の研究


火砕流に遭遇する確率に関するTweet

https://twitter.com/HayakawaYukio/status/658584031123107841
1万年で火砕流90%は、人生100年とすれば、一生の間に遭遇する確率(すなわち火砕流で死ぬ確率)は0.9%だ。そんなに小さくない
「1万年で90%」という事から、100年では90%/100 = 0.9% という目安を出しておりますが、確率計算の上では、どうなのでしょうか。
早川センセは、発生(火砕流に遭遇)する確率をp=一定としている様ですから、ここでも、その前提で計算を進めようと思います。

「1万年で90%の確率」とは言いますが、そのうちの「人生100年」は、1万年の1/100期間であります。
そこで、この「人生100年」を1回の施行とすれば、「1万年」は100回分の施行と考えてよいでしょう。
ここまで単純化して、いよいよ本題です。
100回(=1万年)の施行で90%となる発生確率の場合、1回(=人生100年)の試行による確率がどの程度になるのか、という問題に還元される事となりましょうや。

これを考える為に、複数回試行の確率を考えます。まず,最初は2回の試行から始めましょう。

p=2/3 という確率で生じる事象があるとして、1回で生じる確率は2/3であり、生じない確率は1/3である事に議論の余地はないでしょう。それでは、2回ではどうでしょうか ?

最初の1度目で生じる確率は2/3, 次に生じる確率も2/3 でありますが、ここには、次の組み合わせがあります。

1度目 2度目 確率
生じる 生じる 2/3 * 2/3 = 4/9
生じる 生じない 2/3 * 1/3 = 2/9
生じない 生じる 1/3 * 2/3 = 2/9
生じない 生じない 1/3 * 1/3 = 1/9

2回の事象に於ける「組み合わせ」では、実に8/9の場合が「生じる」を含んでいる勘定になります。
すなわち、2回の施行において「全く生じない」場合は1/9であり、いつの時点で起こるかを特定しない「起こる」確率は、全体の「全く生じない」場合を除いた場合として考える事が出来、その確率は 1-p = 1-1/9 = 8/9 と計算できます。

さて、この部分をもう少し考えてみます。
2回の施行で「全く起こらない」確率は、1/3*1/3 = 1/9 でしたが、つぎの様に考えてもいいでしょう。

n回の試行で「全く起こらない」確率は、p = (1/3)^n
n回の試行で「1度以上起こりうる」確率は、q = 1-p = 1-(1/3)^n

これをより一般的な表現とするならば、1回の試行で発生する確率を P として、

n回の試行で「全く起こらない」確率は、p = (1-P)^n
n回の試行で「1回以上起こりうる」確率(pの余事象)は、q = 1-p = 1-(1-P)^n

という、少し込み入った表式を得ます。
ここでは複数回の施行で発生しなかった事を「n回の試行をすり抜けて来た」と考え、「すり抜けの確率」と呼称します。

この辺りの考えをまとめて、件の「火砕流に遭遇しない確率」を、今一度考えなおそうというコンタンです。
100回の施行で90%の遭遇確率とは、100回の間、遭遇せずに「すり抜けて来た」確率の余事象ですから、

0.9 = 1-(1-P)^100

となります。但し、Pは「1回で火砕流に遭遇する確率」です。関数電卓をチョイチョイと叩けば、Pの値はたちどころに得られます。

1-P = (1-0.9)^(1/100) = 0.977237221...

P = 1-0.977237221 = 0.022762779, およそ2.28% という値が得られました。
0.9%よりも大きい値で、センセの仰る通り「そんなに小さい値ではない」とは言えます。
一方、危険率を5%に採ってしまうと、「2.28%は滅多に無いんだから、無視しても良かんべ」という事になってしまう。危険率の設定というものを、少し考えてしまう話題です。

昔懐かしい、プロ電のプログラムの技巧

かなり昔の事ですが、プロ電にプログラムを仕込んで「ゲームマシン」にするという本があり、その中に面白い技巧が出ておりました。

1. 「角度スイッチ」をジョイスティック代わりにつかう
2. GRADモードの活用で、乱数ルーチンのステップ数を稼ぐ

まずは、1の方から

1. 「角度スイッチ」をジョイスティック代わりにつかう

今でも、大抵の関数電卓では「DEG」(度)、「RAD」(ラジアン)、「GRAD」(グラード、グラジアン)の3つの角度モードが設定可能ですが、昔のプロ電の中には、三角関数の角度モードをスライドスイッチで切り替えるものがあったそうです。残念ながら、今となっては何と言う機種かは判りません。
このプロ電用に作られたゲームの内容も今となっては不明ではありますが、スクロール(シューティング)ゲームだったのだと思われます。画面(恐らく1行表示)を見ながら、角度モードのスライドスイッチをカチカチと切り替え、自機の操作を行っていたらしい。
スライドスイッチをジョイスティック代わりにするという発想が驚きですが、これにより、キー入力による実行停止がなく、リアルタイム性が向上したのだと推察されます。

角度モードを切り替えるスライドスイッチの状態をどうやって検出するのでしょうか ?
答は簡単で、適当な三角関数値を計算させ、角度モードによって違う値が得られるので、分岐して処理する、という具合です。


2. GRADモードの活用で、乱数ルーチンのステップ数を稼ぐ

GRADモードでは、直角を100とした角度指標となっていて、普段、余り使われない様に思われるGRADモードですが、こんな利用法があった、と言います。
逆三角関数、arc-sin, arc-cos をGRADモードで計算すると、0から100までの数値が返ります。0〜99までの乱数値が必要な場合、内蔵の乱数(0〜1未満)を実行、その逆三角関数値を計算し、最後にround(数値丸め)を実行する事で、0〜99までの乱数値が得られるという手法でした。
通常、こうした場合には乱数値を100倍し整数部を採るという操作を行いますが、100倍するという操作で「×」、「1」、「0」、「0」と、4ステップ余計に喰ってしまいます。メモリの少なかったプロ電では有効だったのかも知れません。

この技法は、38ステップのプログラミングが出来る機種(CASIO fx-3800P)に向けたものでした。今から思うに、38ステップのプログラムでナニが出来たのか、大変考えさせるものがあります。
プログラムで使える命令についても、制御機構は簡単な条件判断(レジスタ・メモリの0判定)と「文頭へ戻る」だけです。それらは、電卓に用意されていた数値積分機能に寄与するもので、積分を計算したい数式を「プログラム」によって実装し、数値積分を行っていたのだと思われます。数値積分は、微分方程式の数値解を得るのにも使われておりました。
そこで、更に「これ使ってゲームも作れるのではないか」という発想で、GRADモードを利用する技巧が編み出されたに相違ありません。

興味深い技巧ではあります。しかし、逆三角関数を通してしまう事で、乱数値の分布に偏りが出たりしないのか、という疑問があります。グラフ電卓で分布を描いて、調べてみましょう。

大抵のプロ電には、一様乱数の機能があります。これをarc-sinに通して、標本を取得します。電卓の実験例なので、100個くらいのデータが丁度良さそうです。
得られる標本の数値範囲は角度モードによりますが、ここでは分布の傾向をみるだけなので、どの角度モードでも構いません。当方、普段はRadianにしているので、Radianならば0~PIの範囲となります。そして、この0~PIの範囲を10の区分にして、棒グラフを描いてみる事にしました。一例では、確かに偏った分布となっております。

更に、統計的にこの分布が偏っているのか、調べる事も出来ます。
推計学の基礎が教える所によりますと、この標本集団から得られるχ自乗値は、近似的にχ自乗分布に従う、との事です。
高機能電卓でも、機能が充実しているものならば、χ自乗分布のCDF(累積分布関数)値を計算できます。これを使って検定も出来るのですが、計算方法は「χ自乗検定」を調べれば割合簡単に判ります。この例の場合、一様乱数と近しいかどうかを検定する事になり、一様分布の「期待値」としては、どの区分も同じ値になっている、として期待値を設定すればよい筈です。

2015年10月9日金曜日

10月になりました

10月になりました。

Julyさんの所の電卓、全て完売になっており、再入荷の目処は立っておりません。ウーン。

CASIOが「新しいスマートウォッチを投入する」としたのが、今月です。さて、何が出るのやら ? ついでにオモロイ電卓を期待したい。

CASIOの電卓も50週年とかで、キャンペーンを実施中だそうです。

カシオ電卓50周年
http://casio.jp/dentaku/sp/50th/

新しい高機能電卓を期待したい所です。

さーて、何か考えないとなァ ... 。

2015年9月26日土曜日

Julyさんの所のHP Primeが「おいでおいで」をしている ...

先ずは、最近は入手しにくくなりつつあるHP電卓マニュアルなどのPDFの一部について、リンク(直リン含む)を載せておきます。

HP35S Training modules
http://h30499.www3.hp.com/t5/Calculators/HP35S-Training-Modules-for-specialties/td-p/5854845?notmigrated#.VfKfk7O-feQ

HP50G Training modules
http://www.ele.uri.edu/faculty/vetter/Other-stuff/HP-calculators/HP-50g/index.html

HP42S manual
http://h10032.www1.hp.com/ctg/Manual/c01094960.pdf

HP15C manual
http://h10032.www1.hp.com/ctg/Manual/c01095005.pdf

HP12C manual
http://h10032.www1.hp.com/ctg/Manual/c00787560.pdf

HP12C クイックスタートマニュアル
http://www1.hp.com/ctg/Manual/c01798125


少し前の事ですが、某県知事が「高校女子に三角関数の勉強など不要」と公言し、インターネットでは「何を言うか、女性蔑視だ」などという意見が多く出回りました。そうした意見を受け、訂正を述べたとの事。県知事自身が「俺も使った事ないしネ」と言ったとかナントカ。

「女子に三角関数必要ない」 - Reuter
https://jp.reuters.com/article/2015/08/28/idJP2015082801001432

https://twitter.com/Stakesh/status/637048757142458368

https://www.facebook.com/photo.php?fbid=1522492048040753

この「訂正」は、結局の所「男女問わず、高校生程度のガキにサインコサインの勉強なんて、いらねんじゃね」という事になっております。
高齢に達し県知事になった所で人生を振り返ってみれば、確かに三角関数の計算など無縁だったのでしょう。大学出ても、計算を必要としない人は少なくなく、確かに申す通りなのかも知れません。

日本で少なく売られている関数電卓について、土地家屋診断士試験対応電卓などを謳っているものもあり、三角関数が生活にまったく不要なのか、というとそうでもなさそうです。
遠山啓・著「数学入門 (下)」(岩波新書)には、洋服の縫製について、袖の展開を行うと接続面にsin curveが現れる、と書いてありました。工業高校では間違いなく必要であり、高専なんかでは入学してからすぐに微積分を教えるとか。
商業高校ではサインコサインの計算には余り縁がないのかも知れませんが、複利計算を考えると、指数・対数の計算が顔を出します。
「高校生程度のガキに三角関数は不要」とは限らないのだと思う所です。

過日、Twittreで、こんな話題がありました。(リンクを持っていないので、記憶に基づいて文意を書いております。御容赦)
「せんせー、なんで三角関数なんて勉強すんの」というガキには「それは、こうしてバカなガキに三角関数を教えるお仕事が存在するからだ」と言うとガキは納得したので、おススメです
ネタとしては、なかなか面白い答えですが、現実では、バカなガキが言うのではなく、県知事がこんな事を言うております。
こういう県知事が出てくる事こそ「この国の教育が荒廃した」という証左なのですが、こうしたイカレテいる知事の話は、これ以上相手にしていると気が触れそうなので止めます。


CASIOの社員ですらも「高機能関数電卓の高機能を使う必要を感じていない」とは以下の記事でも書かれております。

異様に欲しくなった電卓の話 カシオCLASSWIZ - 週刊ASCII
http://weekly.ascii.jp/elem/000/000/339/339010/

関数電卓の基本的機能さえあれば十分、という意識なのでしょう。
ただ、こういう意識で関数電卓、高機能電卓を使っているとなると、確かに需要は減っていく。

所が、海外ではAggressiveに、関数電卓、高機能電卓が売られているのです。TIはトップシェアで、CASIO,HPと続いているらしいのですが、Sharpでさえも海外では高機能電卓を出している !

Sharpも海外ではEL-9950なんて製品を出しているそうで、当方としては「EL-9950という電卓がある」という事に驚いたのでした。これは、過去に発売されていた「EL-9900」の改良新機種らしく、機能的にはTI-83+に相当する模様。

[シャープ] SHARP EL-9950関数電卓ライセンスシールを提供グラフィックコンバータ(海外直送品)- Amazon.co.jp
https://www.amazon.co.jp/%E3%82%B7%E3%83%A3%E3%83%BC%E3%83%97-EL-9950-SHARP-EL-9950%E9%96%A2%E6%95%B0%E9%9B%BB%E5%8D%93%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%82%B7%E3%83%BC%E3%83%AB%E3%82%92%E6%8F%90%E4%BE%9B%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%BF%EF%BC%88%E6%B5%B7%E5%A4%96%E7%9B%B4%E9%80%81%E5%93%81%EF%BC%89/dp/B00T7U4A4G/ref=pd_sim_sbs_229_8?ie=UTF8&refRID=0SSSXVYTXG92RNAAE4SE#productDetails

Sharpは、海外ではこんなのを出して居るのですね、何で日本では出して呉れないの ?

一方、以下の記事には興味深い事があります。世界的に見るとSharpの電卓シェアは、実の所かなり少ない。

4 電卓は今後どう進化していくのか? - 【レポート】「いつでも、どこでも、だれにでも」使える計算機を! シャープ、電卓発売から50年の節目 - mynavi
https://news.mynavi.jp/articles/2014/03/18/sharp_calculator/003.html

電卓は現在でも、全世界で1億3,000万台の需要がある。シャープは現在、年間700万台を出荷しており、そのうち国内が100万台、海外が600万台となる。

(国内における)電卓戦争の一方の覇者・Sharpでさえも、世界的には大した売上がなかった。そのSharpでさえも、海外では高機能電卓を販売している。結局の所、国内においては高機能電卓の需要がない、という事に尽きるのでしょう、残念ながら。

先日、Julyさんの在庫が復帰したHP Primeですが、入荷数が多く無かったのか、既に残り2台となっておりました。
他のHP電卓も大分さばいていて「もうHP電卓の販売は終了なのか ?」と思ったのですが、価格が少々高めのリアル店舗・東映無線さんでは在庫が潤沢な様子なので、Julyさんでも当面販売は続くのかなぁ ?

https://www.toeimusen.co.jp/~dp/

東映無線さんでは、HP Prime以外にも50Gなどの在庫が十分あるみたいですから、「どうしても50Gが欲しい」方も、今暫くは迷えそうです。(Julyさんから引いているので日本語クィックガイド付きの筈ですが、念の為、お問い合わせ戴き度)

当方はHP Primeの「日本語冊子付き」を待っているのですが、頻繁なファームウェアのアップデートと、それに伴うPDFマニュアルの更新もあって、紙マニュアルは印刷と製本が追いつかないのかも知れず、日本語冊子付きは当分出ない可能性があります。

2015年8月27日木曜日

今回は移植ネタ「酔っ払いの虫」

先日、親分からつぎの話題を紹介されたのですが、関連したものを色々と調べている内に、記事のアップが遅れてしまいました。

楽屋裏 - 酔っ払いの虫 (Drunk Bug) - e-Gadget - プログラム関数電卓
http://egadget.blog.fc2.com/blog-entry-445.html

以下では、この記事を「原作」と記しております。まずは、TI-83+への移植を試みました。

TI-83+版のコード

PROGRAM:DRUNK
:ClrDraw
:94/2→V:62/2→W
:While 1
:Pxl-Change(W,V)
:2*randInt(0,1)-1→S
:2*randInt(0,1)-1→T
:If V+S≧0 and V+S≦94 and W+T≧0 and W+T≦62
:Then
:V+S→V:W+T→W
:End
:End

randInt(Begin, End)は、Begin,Endの間の整数乱数を返す関数で、randInt(0,1)は、0もしくは1を返します。
2*randInt(0,1)-1 の部分で、-1, +1の整数乱数にしております。
原作ではMODを使っておりましたが、まったく同じでは芸がないので、少しひねってみました。

今回、Pxl-Change()を使って判ったのですが、不規則ながらもグラフィクスコマンドを使う所で、一部変数の値が書き換わってしまうケースがあります。CASIO BASICと同じ様な感じです。
マニュアルには「ただし、変数X,Y,T,θ,Tはグラフを描く際、更新されることがあるので、グラフ関係以外の値を代入することは避けたほうが賢明です」(ページ A-50)と明記されておりました。

原作の興味深い所としては、酔歩の「移動の等方性」を担保するため、斜め方向の移動のみを行っている所です。
斜め方向の移動は、縦、横の移動と較べると、√2倍の距離の移動になります。縦、横の移動と斜め方向の移動とでは、単位時間での移動速度が異なる事になりますが、縦、横の移動、もしくは斜め方向の移動だけならば、移動の等方性が確保されます。原作の場合、斜め方向の移動のみを行う事で、移動の等方性を確保し、更に視覚的にも面白い表現を実現しています。

直交座標系では、縦、横と斜め移動の等方性について考える事が必要になりますが、四角ではなく六角形を敷き詰めたマス目空間(Hexagonal field)では、黙っていても移動の等方性が確保されます。少し工夫をする事で、直交座標系のピクセル空間にHexagonal fieldを擬似的に表現できます。

PROGRAM:HXDRNK
:ClrDraw
:94/2→V:62/2→W
:While 1
:Pxl-Change(W,V)
:Pxl-Change(W,V+1)
:Pxl-Change(W+1,V)
:Pxl-Change(W+1,V+1)
:randInt(0,5)→D
:(iPart(D/2)-1)*2→T
:2(fPart(D/2)*2)-1→S
:If T=0
:Then
:S*2→S
:End
:If V+S≧0 and V+S≦94 and W+T≧0 and W+T≦61
:Then
:V+S→V:W+T→W
:End
:End 
 
図が必要な事もあり、詳しい内容は、いずれ折を見て述べましょうか。 
 
更に、HP Prime向けコードも。

// title : Diagonal random walk for HP Prime
// begin : 2015-08-02
// note  : 

EXPORT drunk()
BEGIN
// Clean the screen (G0)
RECT();

LOCAL i, p;
LOCAL x, y, v, w;

x := 320/2;
y := 240/2;

WHILE GETKEY() == -1 DO
  p := B→R(GETPIX_P(x, y));
  IF p<>0 THEN
    PIXON_P(x, y);
  ELSE
    PIXOFF_P(x, y);
  END;
  v := RANDINT*2-1;
  w := RANDINT*2-1;
  IF x+v>=0 AND x+v<320 AND y+w>=0 AND y+w<240 THEN
    x := x+v;
    y := y+w;
  END;

//  WAIT(0.1);

END;

//  key wait loop
REPEAT UNTIL GETKEY() == -1;
FREEZE;

END;

実行中に適当なキーを押すと、停止します。更にもう一度キーを押す事で、プログラムの終了となります。
エミュレータで動かすと「爆速」ですが、そんな時にはコメントになっている「WAIT(0.1)」を使ってみて下さい。

お次はHexagonal field版

// title : Hexagonal random walk for HP Prime
// begin : 2015-08-02
// note  : 

EXPORT hexdrunk()
BEGIN
// Clean the screen (G0)
RECT();

LOCAL i, p, d;
LOCAL x, y, v, w;

x := 320/2;
y := 240/2;

WHILE GETKEY() == -1 DO
  p := B→R(GETPIX_P(x, y));
  IF p<>0 THEN
    PIXON_P(x,   y);
    PIXON_P(x+1, y);
    PIXON_P(x,   y+1);
    PIXON_P(x+1, y+1);
  ELSE
    PIXOFF_P(x,   y);
    PIXOFF_P(x+1, y);
    PIXOFF_P(x,   y+1);
    PIXOFF_P(x+1, y+1);
  END;
  d := RANDINT(5);
  w := (IP(d/2)-1)*2;
  v := 2*(FP(d/2)*2)-1;
  If w==0 THEN
    v := 2*v;
  END;
  IF x+v>=0 AND x+v<320 AND y+w>=0 AND y+w<240 THEN
    x := x+v;
    y := y+w;
  END;

//  WAIT(0.1);

END;

//  key wait loop
REPEAT UNTIL GETKEY() == -1;
FREEZE;

END;

HP PrimeのPPL (Prime Programming Language)での注意ですが、「変数への代入には := を使うべし」です。
実は、ピクセル値の値を取得する所で「p = B→R(GETPIX_P(x, y));」とやって、かなりハマってしまいました。
これでは代入ではなく「比較」になってしまうのですが、構文上は問題がないのでそのまま実行出来てしまい、エラー発見に手こずる事になります。


小中学生の皆様はもう新学期だそうで、今更「夏休みの自由研究」でもないのですが、来年の自由研究のネタに使えるかも知れません (鬼が笑うとりますがな)。

2015年8月24日月曜日

ちょっとした話題 - 「演算保留」って、何 ?

昨日、やす親分のコメントに対するレスポンスを投稿した折、yahooけさんく(←変換できない)で「CASIO 電卓 演算保留」というワードで来ていた方が居られる様でした。
「演算保留」って何、と思って、調べてみた所、どうもSharpの電卓で使われている言葉の様で、演算スタックの事らしい。
括弧を使う計算では、その括弧内の計算結果を保留しておく必要があり、その量、というか「深さ」をどれだけ用意しているかで、括弧の入れ子をどこまで許容できるか、という指標の様です。

HPのRPN/RPLでは、この演算保留をスタックで明示的に操作するのですが、RPNでは大抵4段となっています。この4段だけで大抵の計算は十分可能なのですが、その分、計算の手順などで頭を使う事になります。
RPLの方はというと、再帰計算を行う様になっている都合で、スタックはメモリの許す限り取れますが、これに甘えて、計算結果を次々とスタックに置いていき、ある日、SysRPLとかをいじっていてパァにしてしまう事もしばしば ... 。

以上「演算保留」という言葉で書いた「小ネタ」でした !

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円程度で買えるものもあります。