プログラミングが中学の技術家庭科で必修に

昨日、中学でプログラミングが必修になったと知った。⇒こちら

平成24年度からと言うので、既に始まっているわけだ。良いことだと思うが、一体何をどのように教えるのか、大変気になる。いままでの数学の教え方の延長線上にあるなら、教員の負担が増えるわりには効果が少ないのではないか、と大きなお世話を焼きたくなる。

一般人が手軽にプログラミングを行わず、ソフトウェア開発力で海外の遅れをとっているから、中学でプログラミングを必修にしようと考えたのだろう。

おそらく、最も安価に手に入り、手軽にプログラミングができる環境は、プログラム関数電卓だ。


電卓の用途

本ブログでは、今のところ fx-5800Pと言う国産のカシオ製品を開発プラットフォームとしてあげているが、内蔵されているプログラミング言語は、かなりの割り切りの産物だと感じている。これはPCでのプログラミングとの対比での感想である。

一方で関数電卓での計算を補助するためのプログラムなら、必要以上のものが仕様として揃っている。他社のプログラム関数電卓については、残念ながらまだよく知らない。見聞きしている範囲では、シャープなどの国産製品はカシオと大きく変わらないようだ。

カシオから手帳サイズでプログラム可能な関数電卓が最初に発売されたのが1979年。その後1981年にFX-602Pが、そしてプログラム互換性のある最後のモデル FX603Pが発売されたのが1990年だ。グラフ機能のある関数電卓を別として、FX-603Pの後継モデルが 2007年発売の fx-5800P となる。つまり17年間新モデルが登場していない。

国内他社製品についても似たようなもので、つまりプログラム関数電卓の国内市場は、新製品を投入するだけの広がりを見せていないようだ。カシオはプログラム機能のあるグラフ関数電卓を発売しているが、海外専用モデルがあることから分かるように海外市場を重視していることは明らかだ。日本では、ユーザーが携帯生の高いハードウェアでプログラムを作るニーズが少ないのだろう。

海外へ目を移すと、HP や TI のプログラム関数電卓は、国産とはかなり異なった設計と製品展開を行っているようだ。私自身は海外製品はまだ使ったことが無いが、akatuki氏が運営しているブログ:電卓情報では主にHP製のプログラム関数電卓の話題を読むことができる。また、電卓マニアの部屋でも、TIやHPの関数電卓についての記事がある。とね日記ではTIの製品の記述がみられる。

これらのサイトを拝見する限り、HPやTIは教育向けに電卓を開発・販売していて、高度な機能をもつ電卓が中学生向けの商品設定になっているなど、驚かされる。アメリカでは、数学や物理の授業で積極的に電卓を使っているようだ。さらに、CASといって、数式の変換を行う機能もある。これを授業で使うわけだから、数式の変換そのものではなくて、別のことを教えていることになる。より本質的なことなのか、あるいはより応用面なのか、いずれにせよ暗記できるもの以外を教えているのだろうと想像される。

日本では、中学や高校で電卓の使い方を教えないようだ。むしろ電卓の使用を禁止していると聞く。
最近はネット上のQ&Aで、「因数分解のできる電卓はありませんか?」 とか、「宿題で困っているので、2時方程式が解ける電卓を紹介して欲しい」などの書き込みを見て、強烈な脱力感に襲われる。日本の授業で電卓を使わせると、学習が進まないと言う話を耳にするが、そんな学生ばかりだと、確かにそうかも知れないと納得しそうになる。

しかし、待てよ。電卓で解けるようなことばかり教えていて、本質を教えていないのではないか?むしろ教える側に問題はあるまいか? そんな風にも思える。公式を暗記して、それを使った演習問題をして、ハイ終わり、そんな授業をしていないだろうか?



プログラミングの習得について

プログラミングは、中学の技術家庭科の授業で必修とのことだが、アルゴリズムを教えているのだろうか?

そうあるべきと思っている。特定のハードウェアやOS特有の子細なことのみを教えて、手順を覚えましょう、暗記したら少し演習をして、テストをして、ハイ終わり....ではないことを祈る。

アルゴリズムこそが、コンピュータを応用する基本だし、開発プラットフォームやOSに左右されない最も本質だ。単に論理的な思考といっても、コンピュータ向けのアルゴリズムはかなり特殊だ。アルゴリズムを分かっている教員がどれほどいるのだろうか?

私などは、再帰的な処理を初めて知った時の感動を今でも覚えている。こういう感動を与えられるような授業であって欲しい。

一見無駄を含んでいるようで、間違いない問題解決にはその無駄が必要だという感覚も大切だ。問題を確実に解決するアルゴリズム以外に、解決速度を優先させたアルゴリズムだってある。アルゴリズムを工夫する経験が中学性のような若い頭に最も有用だと思うわけだ。



エンドユーザー・プログラミング

電卓情報のakatuki氏と以前ディスカッションしていた際に出てきた言葉「ユーザーエンド・プログラミング」は、自分が今必要な処理のために、とりあえずプログラムを作って使ってみる、と言うことだ。パソコンを使っても良いし、電卓だって使えるのなら良いわけだ。そこでプログラミングが必要なら、手軽に作れば良い。私自身はプログラミングに縁の無い仕事であるが、仕事でもプライベートでも、Windowsと電卓の両方で、必要に応じて手軽にプログラミングして活用しており、その便利さを享受している。

一方で、誰かが作ったソフトやプログラムがネットには沢山ある。それを探して使うのは手軽だが、計算結果の責任は誰が持つのか? 計算精度はどうなのか? 内部でどのような処理を行っているのか? 分かって使うのは良いが、分からずに使うのは問題だろう。

ユーザーエンド・プログラミングがあって初めてユーザーエンド・コンピューティングがまともに機能するわけだ。

このブログを始めてから教えて頂いた、無償で入手可能なスマホ上のプログラミング環境:BASIC! などもユーザーエンド・プログラミングの有効なツールだ。これについては、まだ使用経験が無いが、仕様書を見る限り強力な開発系だと思う。誰でも持ち歩いている携帯端末でプログラミングが出来ると言う点は、極めて重要だ。

Windowsベースで言えば、私は ActiveBasicを挙げたいと思う。これも無料だが、CやC++ 並の柔軟性と能力を持ったWinidows上の開発環境だ。

プログラミングが中学での必修になったことに呼応して、プログラミング教室ビジネスも動き出している。学校で教わるよりも良いのだろうか?子供向けのビジネスだが、大人向けのプログラミング教室は寡聞にして知らない。金のあるところに湧き出たビジネスではあるが、今後どのように普及していくのか、あるいはしないのか?興味はある。


今後、様子を見てゆきたいと思う。




応援クリックをお願いします。励みになるので...

人気ブログランキングへ




keywords: プログラミングプログラム関数電卓

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

ご賛同頂きありがとうございます

藤堂様

CasioBasicでのGotoの正しい用法について、ご賛同頂きありがとうございます。

プログラミングを手軽に愉しむことがより大切だとは思っております。


>  このブログの存在を知り、お金の計算を中心に使ってきた私も、今まで以上にfx-5800Pを愛着を持ち、使い倒したくなりました。

存外の喜びです。

よろしくお願い申し上げます。

長文のご説明ありがとうござます。

 GOTO文の説明について、興味深く読ませていただきました。CasioBasicにはGOTOが必要だという点も、わかりやすい解説で何度も読ませていただきました。

 このブログの存在を知り、お金の計算を中心に使ってきた私も、今まで以上にfx-5800Pを愛着を持ち、使い倒したくなりました。
 私の技術は足下に及ばないかと思いますが、プログラム関数電卓をもっと活用手元を呼びかけていきます。

 このブログを読んでいる人が、Lbl~Gotoは、うまく使って、見やすくわかりやすければ、一度は使ってみようかなになれば、いいですね。

Goto 禁止論への疑問

先ずは前提として、古い言語を想定させて頂きます。つまりC言語や少し前のBasicです。

最新のC#やjavaでは、Gotoを全く利用しないでも困らないのだそうですが、それについては私はあいにくよく知りません。そして、電卓プログラムを想定させてください。

前置きが長くなりましたが、goto文の弊害として、プログラムの制御構造の可読性が悪くなることから、バグの温床となると言われています。

C言語は一応構造化手続き言語なので、一見goto文無しでも書けます。一番goto文が必要なのは、例外処理やエラー処理です。if文やループ処理が、入れ子構造で深くネスト化した中で、例外処理やエラー処理が必要な場合は、深いネストから一気にジャンプする必要があります。

さらに、ジャンプ先を一元的に管理する方が、プログラムの可読性は上がります。そこで、gotoの出番なわけです。

C言語や1昔前のBasicでは、大域変数と局所変数と言う考え方があって、関数やプロシージャの中だけで定義、宣言して局所的に変数を使います。これはリソースの節約と可読性を同時に得られるのがポイント。

そして、局所的にgotoを使うのは、割と許される傾向があったと思います。ジャンプ先がすぐに見えるからです。


さて、構造制御のために、関数やプロシージャを呼び出して(callして、CasioBasicではProgコマンドを使って)、そこからreturnすることは普通です。これは、goto文の名前を変えたものに過ぎません。

また、ループ構造や条件構造から break で一気に外へジャンプするのも普通に使われます(CasioBasicにも Breakコマンドがあります)。

或いは、CasioBasicには実装されていませんが、多条件分岐があります。switch/case(C言語)や Select/Case(Basic)です。実は、これらもgoto文の名前を変えただけのものです。

goto禁止論者がこれらの機能を使っていると、「あれ?」と思うわけです。 goto禁止論が形而上のものに見えてきます。

goto禁止には正当な理由があるのですが、十把一絡げに金科玉条のごとくgoto禁止を叫ぶのを見ると、不思議に感じ、違和感を覚えます。



必要な処理をキャプシュレートし、1つのまとまった処理としてそれを繋ぎ合わせることで、goto無しのプログラムを書く、これがバグを無くし生産性の高いプログラムを書くための大きな流れになっています。C#やjavaはこれらがとてもよく行き届いたものだと聞いています。使ったことはありませんが、なんとなく分かります。

突然 goto がトゲのように飛び出して、思いも寄らないところへジャンプするのは、Cでバグに悩まされた経験からも、よろしくないと感覚的に分かるわけです。

gotoは使い方次第。gotoを使えないのは、高校のバイク禁止と同列に感じるのです。正しい使い方を覚えることが必要です。その方が安全かも知れないが、人は育たない(私は古いのかも知れませんが...)。



さて、プアなハードウェアで動作する CasioBasic では、最低限必要な機能しか実装されていません。アセンブラにBasicの皮を被せたような言語とも言えます。その証拠に、Dsz、Isz、⇒などのジャンプ命令が残っています。

マシン語レベルでは、プログラムは直接/間接の差はあれジャンプしまくっています。それをプログラムのソースレベルで書く流儀が、CasioBasicでは必要なので、残っています。従って、CasioBasicでgoto禁止はナンセンス。むしろ、正しいgoto推奨の世界であるべきだと思います。


スパゲティにならないgotoの使い方をしましょう( ^o^)ノ が本来だと言うわけです。


例えば、
N→C
Lbl 0
[処理]
Dsz C
Goto 0

は、正しく効率的なループの書き方だと言うべきなのです。
このループは、どこにも飛んで行きません。Goto 0 の1つ下の処理が終着点です。


プアなハードエアですので、ループを大きくするのは得策ではありません。小さなループを積み重ねてゆくのが正しい使い方。小さなループでは、Goto/Lblは行き先を見失いません。



CasioBasicには、If~Then~ElseIf~Else~IfEnd といった、ElseIf機能が実装されていません。またSelect/Caseという機能も実装されていません。つまり、多条件分岐の手段がコマンドレベルで準備されていません。

しかし、⇒ジャンプ命令とGotoを使えば、Select/Caseと同一の動作を記述できます。
Select/Case のCaseは単なるラベルです。Lbl と同じです。

具体的には、以下のような多条件分岐の記法が可能になります。


"N"?→N
N=1⇒Goto 1
N=2⇒Goto 2
N=3⇒Goto 3
N=4⇒Goto 4
Goto 0

Lbl 1
[処理1] 例えば Locate 1,2,"ONE"
Goto 0

Lbl 2
[処理2] 例えば Locate 1,2,"TOW"
Goto 0

Lbl 3
[処理3] 例えば Locate 1,2,"THREE"
Goto 0

Lbl 4
[処理4] 例えば Locate 1,2,"FOUR"
Goto 0

Lbl 0


ご覧のように、出口は最後の Lbl 0 一カ所です。妙なところにジャンプしません。そして可読性は高いですね。



低レベル処理しか出来ない CasioBsic にとっては、Goto無しでは、効率よいプログラムが書けない典型例です。

Goto は用法・用量を守って使いましょう( ^o^)ノ

というのが、私の主張です。

Iszの不思議

>不思議なことに、Dszは説明書でプログラム例があります。Iszにおいては、載っていない。fx-4800P,fx-7400G PLUSも同じです。

IszやDszは、fx-502Pの頃から実装されている機能です。fx-502Pからfx-603Pに至るまで、メモリを利用した間接判断や間接ジャンプ機能が実装されていました。IszやDszは、参照先やジャンプ先を動的に変化させる機能としても重宝でした。

一方で、fx-5800Pでは、間接参照や間接ジャンプ機能が無くなっています。

従って、単にカウンタのインクリメントとディクリメントを行いジャンプする機能しかないわけで、するとインクリメント(負の数を増やして)ジャンプする機能の使い手が、減ってしまった。一方で、ディクリメントはカウンタ制御で使える。

このような事情が裏にあるのではないかと、想像しています。

ご高覧いただきありがとうござます。

 ご高覧いただきありがとうございます。不思議なことに、Dszは説明書でプログラム例があります。Iszにおいては、載っていない。fx-4800P,fx-7400G PLUSも同じです。

 《goto文禁止論に抵抗》には非常に関心が関心があります。BASIC,COBOL(入門段階)をかじっていた時に、GOTO文は目の敵にされていた記憶があります。ぜひ、その考え方を拝聴したく思っております。

Re: Isz,Dszは限定的ですね。

藤堂様

記事を拝見しました。

A+1→A

を Isz A にすると、さらに速くなると思います。


ところで、ここからは読み飛ばして頂いて結構なのですが....

電卓プログラムでは、Goto文も仕方ない、と言う点は同感です。


実は、それ以上に CasioBasicに限定すれば、Goto文禁止の文化に疑問を持っております。「できるだけ使わない方が身のためだが、必要なところでは積極的に使う派」なんです。

と言うのは、私が使ったことのあるのが、いずれも古い言語ばかりで、C# や java といった新しい言語は経験がありません。これら新しい言語では、goto文を使わなくても良いように出来ていると聞きます。

このあたりは、好みの問題なので、どれが正しくて、どれが間違っていると言う話ではございませんので、ご了解ください。

ご興味があれば、なぜgoto文禁止論に抵抗を感じるか、開陳致しますが、今日はこの程度で....

Isz,Dszは限定的ですね。

 《 0.0001から0.0001刻みで0.1まで足す》の元ネタは、30年前のパソコン、MZ-1500のBASIC解説本が変換誤差の項目で、実行すると0.1にならないという記事を記憶していて試したという次第です。答えは忘れましたが、0.1とは違った結果になりました。
 なお、1を10,000回足す、プログラムを組んで、実験しました。
http://nanzo.blog.ocn.ne.jp/nanzo/2014/02/post_6e1f.html


Re: シャープのポケコン

藤堂様

>あと、Dsz命令を使うとどうなるか試して、どういう結果が出るかも注目点ですね。


例の 0.0001から0.0001刻みで0.1まで足すと言う計算ですが、仮にDszを使ったとしてもさほど処理時間に差がありません。

Dszは、Lbl/Gotoと組み合わせると、最速のループを作ることができます。Forループよりも速くなります。

For文で、1から1ステップで10000回まわす処理に変更しても、処理速度は殆ど同じになります。


一方、

A+0.0001→A

この加算処理が速度比較のメインだとすると、処理全体の中でこの加算処理の占める割合が非常に多いため、いくらループを速いものにしてもループ改善の寄与は少ないものになります。

従って、Dszを使う効果は非常に限定的と言うことになります。


シャープのポケコン

 fx-5800Pよりは、スピードは速く、インターフェイス回路で制御も出来ます。知人が工業高校に通っていたとき、ポケコンを持って、プログラム・制御などをしていました。

 電圧によって速度が落ちるんですね。あと、Dsz命令を使うとどうなるか試して、どういう結果が出るかも注目点ですね。

Re: 処理手順

藤堂様

>  CasioBasicは、紛れもない《世界標準》のプログラム言語ですから、世界中と交流の機会を求めれば、強力な道具となるでしょう。ポケコンにおいては、シャープが学販用に、1モデルあります。
> http://www.sharp.co.jp/calc/lineup/education.html
>  PC-G850VSは、最終モデルと言われるものです。また、電卓カタログから、プログラム関数電卓は消えました。


シャープのこのモデルのことは知りませんでした。

ポケコンですから、fx-5800Pよりは遙かに処理能力が高そうですね。

オヒ!の殿堂3で、fx-5800Pとカシオのポケコンで、For文の処理速度比較の記事を書かれていましたが、まさに同じような結果になるのでしょう。

ところで、この記事を見て、私のfx-5800Pで試したのですが、3分8秒と言う結果になりました。1分ほど速い結果なのですが、どうも電池がへたってくるとfx-5800Pは遅くなる傾向がありそうです。

処理手順

 処理手順を考えて、見つけ出す喜びは、ゲームで言うならばRPGで謎を明かしていく点と一緒です。

 CasioBasicは、紛れもない《世界標準》のプログラム言語ですから、世界中と交流の機会を求めれば、強力な道具となるでしょう。ポケコンにおいては、シャープが学販用に、1モデルあります。
http://www.sharp.co.jp/calc/lineup/education.html
 PC-G850VSは、最終モデルと言われるものです。また、電卓カタログから、プログラム関数電卓は消えました。
 ですから、カシオのfx-5800P、fx-CG20等のプログラム関数電卓をもっと応援していきたいと考えています。
 

Re: プログラミング教育

藤堂様

プログラミング教育は、アルゴリズム教育であるべき、と私は思っています。

既存のアルゴリズムを教えることは大切ですが、アルゴリズムを工夫することを教えることも非常に大切でしょう。数の性質を理解し、創意工夫を行うことは、理科系の基礎である数学の素養を高めるには不可欠ですね。


小数点以下1桁の四捨五入は、0.5を足して整数部を取り出すと言う簡単な式 Int(X+0.5) で表現できます。このようなものは、他にも多くあります。

自分で見つけた時の達成感、それを褒められる時の喜び、など多くの子供に経験してもらいたいと思うのです。

自分が教えたり、人から教えて貰う交流も大切でしょう。

これぞまさに教育だと思います。

但し、学校でなくても良いわけです。SNSやラインを使ってでも良い。

そこで、国産で唯一まともなプログラム電卓を作っているカシオの役割は大きい。

>  その中でCasioBasicが存在することに、まだカシオに期待するところがあります。数式と条件判断を組み合わせて、数的思考を醸成できる、fx-5800Pは、有効な教材だと思っています。惜しむらくは、やす様の評している通り、《PCへの転送機能未実装》は大きなマイナス要素です。28キロバイトあるから、PCに転送の必要がないからつけなかったのでしょう。
>  転送ケーブル(SB-62)は、カシオの電子手帳、かつてのネームランド・ポストランドのデータ転送用として(電子手帳とPC間通信のため購入)
> の用途ですから、PCをfx-5800Pとして認識させれば転送は出来ると思います。残念ながらその作成能力はありません。


>  さっと作れて、即、実行。エラーを起こしてもすぐに訂正。それに、乾電池で長持ち。しかもPCよりはるかに安い。こんな便利な道具を、学校教育に使わないのは、もったいない。


仰る通り、100%同意。私も残念ながら電子回路を作れませんので、チョット悔しいです。
カシオ以外でもそのようなPCリンクツールを発売しないものか? と期待するところです。



>  カシオのプログラム関数電卓は、俗に言う《ガラパゴス製品》とは違い、全世界で売られていますから、使う側から声を上げて、カシオを動かすしかありません。また、この電卓から様々な考え方が生まれ、活用方法が学校教育から広がっていけば、日本の未来は安泰だと考えています。


国民の平均教養レベルが高いことが、日本の強みでした。


先ずは電卓レベルのプログラムが組めなくては、スマホやPCのプログラムを組める筈もありません。

CasioBasicがガラパゴスでないことが強みです。



>  私もプログラム初学者なので、大きな事をたたけませんが、fx-CG20,fx-5800Pを事務用、電子文具として使えるように発信していきます。


私も同じようなことが動機で、このブログを立ち上げました。微力ながら草の根からだと思います。


プログラミング教育

《プログラミング教育について》
 シャープは、かつてのPC御三家の時代はPC用からポケコン用までBASIC言語をそろえ、簡略化したBASIC言語の関数電卓が存在していました。現在は事実上廃版になっているようです。

 その中でCasioBasicが存在することに、まだカシオに期待するところがあります。数式と条件判断を組み合わせて、数的思考を醸成できる、fx-5800Pは、有効な教材だと思っています。惜しむらくは、やす様の評している通り、《PCへの転送機能未実装》は大きなマイナス要素です。28キロバイトあるから、PCに転送の必要がないからつけなかったのでしょう。
 転送ケーブル(SB-62)は、カシオの電子手帳、かつてのネームランド・ポストランドのデータ転送用として(電子手帳とPC間通信のため購入)
の用途ですから、PCをfx-5800Pとして認識させれば転送は出来ると思います。残念ながらその作成能力はありません。

 さっと作れて、即、実行。エラーを起こしてもすぐに訂正。それに、乾電池で長持ち。しかもPCよりはるかに安い。こんな便利な道具を、学校教育に使わないのは、もったいない。

 カシオのプログラム関数電卓は、俗に言う《ガラパゴス製品》とは違い、全世界で売られていますから、使う側から声を上げて、カシオを動かすしかありません。また、この電卓から様々な考え方が生まれ、活用方法が学校教育から広がっていけば、日本の未来は安泰だと考えています。

 タブレットまたは、スマートフォンのLine,Twitter,ネットゲームに遊びほうける高校生・大学生の意識を、プログラム関数電卓を使って、何かを作り上げるに、変革させるように何とか動機づければと考えています。
 私もプログラム初学者なので、大きな事をたたけませんが、fx-CG20,fx-5800Pを事務用、電子文具として使えるように発信していきます。個人的には、表示の日本語化と日本語入力を望んでいるところです。
 ただし、fx-5800Pにおいては、英語表示が少なく、プログラムコマンドも数字で選択できるため、日本語化にはこだわっていません。表示にカナ文字が使えたら思っているくらいです。

《電子辞書について》
 SII電子辞書は良いとの話を聞きます。いまはカシオとシャープの《新たなの電卓戦争》的な様相に見えて、かすみ気味です。といいながら、電子辞書は広辞苑第五版、ジーニアス英和辞典、中日辞典が載った白黒液晶のカシオ製を持っています。11年前購入して、国語辞典を多く使うためにシンプルな辞書でいまでも使っています。現在の電子辞書はなんでもつけて、それならPCがましと思って興味がありません。ブログに時々取り上げる電子辞書は、電子文具の要素をつけた時のみです。
 実際、テキスト入力のため買ったポメラDM100も要約版の国語、英和、和英辞典がついているくらいですから。

電卓と電子辞書

藤堂様

電子辞書のお話が出てきたのですが、カシオの電子辞書は私には向かないので使ったことがありません。

仕事で毎日英語を使っていることから、英語について調べることが頻繁なので、英語に強いものを探しますと、私はSIIの電子辞書が最も向いています。

尤もここ数年は、「英辞郎」というPCで使う辞書や、専門分野の言葉を調べるためにネット検索を行うことが多く、ハードウェアとしての電子辞書の利用頻度がかなり落ちております。

一般的にも電子辞書はPCやネットに対抗しなければならない筈でしょう。最近では電子辞書を使うのは、微妙な言い回しの違いを調べることが多いので、その意味で搭載辞書が重要な意味を持ち、SII製品が最強だと思っています。

そして、必要な時に、サッと取り出しパッと使える、この点に電子辞書や電卓の大きな役割、価値があるのではないでしょうか?

電子辞書に力を入れているのは、カシオだけでなくシャープも同様のようです。シャープはプログラム電卓からは実質撤退と言っても良いのですが...


>  タブレットPCは、佐賀県で県立高校でWindowsタブレット購入が必須になり、購入金額5万円ほどで物議を醸しているようです。
>
>  プログラム関数電卓なら、数式、条件判断を入れて試せる専用機なので、高校生が別目的、LINE,Twitterで遊びほうける心配は一切なく、学習、創造に大きく貢献します。もしかしたら、メーカーでさえ思いつかなかったプログラムを作ってくるかもしれません。

頭の柔軟な子供達にこそ、プログラム関数電卓を与えるべきとのご意見、全く同感です。


>  先生も、CasioBasicなら、学習に必要なブログラム取得なら負担も減らせて、一石二鳥。メーカーも中国のように真剣に売り込みから活用まで熱心になって欲しいものです。

私は、VisualBasic、C/C++やFORTRANを使ったことがありますが、その目でみてもCasioBasicはとても良くできていると思います。

CasioBasicは、処理速度は遅く、コマンド類も限定されていますが、それでもプログラミングの本質を初学者に教えるには十分充実したプログラミング言語です。

PCで使うプログラミング言語は、実用ソフトウェアを作るためには、OSやネットワークの理解が不可欠です。これらの理解が必要なことは、プログラミング学習の敷居を上げる要因となり得ます。

実際、MS-DOSの頃はプログラムを作っていたが、Windowsになってプログラミンが出来なくなった、止めたと言う人を多く見ております。

純粋にプログラミングの初歩を体験するのに、CasioBasicほど適したものは無い、半ば核心に近い思いがありあmす。


>  それでは、ご返答を。
>  グラフ関数電卓は、外国の販売価格と日本の希望小売価格に約1万円の差があるのには驚いています。fx-CG20が登場したとき、アメリカのサイトも気になって除きました。日本円で2万円あればおつりが来るうらやましい。日本で販売されたときは2万円台。この差はなんだろう。競合他社が少ないのか、売る気がないのかと感じています。

営業戦略によるものだと思います。地域市場に応じて戦略を変えるのは常識ですが、まさにその差によるものと推察しております。そして中国市場は「売れる」と判断しているのでしょう。
言い換えれば、仰るように日本市場では売る気が無いのでしょう。そして高い値付けをし高めの利益を得る。

Amazonでは並行輸入品のfx-CG10 や fx-9860GII を安く売っています。セカイモンと言うサイトでもeBayと提携して輸入品を扱っています。

言葉の問題なら、カシオのサイトから、日本語の取扱説明書のPDFをダウンロードできますので、これが障壁になるとは思えません。輸入品はメーカーの保証を国内で受けられないのが、海外市場製品との最大の障壁になっているのではないかと思っています。

未だに島国日本です。


>  fx-5800Pは、使いやすくて、すぐに試せるところ、乾電池で動いて、長持ち。そこが気に入っています。Casio Basicとはいい名前です。カタログにはBasicライクという表現があったと記憶しています。

海外にあるCasio電卓のファンサイト(有力なところで3カ所)があり、そこでは普通にCasioBasicと言っており、私はそれを拝借して使っています。

Universal Casio Forum で「もぐら叩きゲーム」を投稿したところ、fx-5800Pで作ったことへの反応がありました。Page View もそこそこあり、個人的にメールを頂いたりしております。

ただ、これらのサイトではfx-5800Pをプログラム電卓としてはあまり認められていないようです。PCリンク機能が無く、従って作ったプログラムをダウンロードして使えないのが最大の理由のようです。

フィールドエンジニアだけでなく、チョットしたプログラムを作れるなら、これほど便利な道具な無いのですが、PCリンク機能が無いのは残念です。

お返事

 カシオの教育サイトも、電卓活用より、電子辞書に力点が強い傾向と思われます。
 タブレットPCは、佐賀県で県立高校でWindowsタブレット購入が必須になり、購入金額5万円ほどで物議を醸しているようです。

 プログラム関数電卓なら、数式、条件判断を入れて試せる専用機なので、高校生が別目的、LINE,Twitterで遊びほうける心配は一切なく、学習、創造に大きく貢献します。もしかしたら、メーカーでさえ思いつかなかったプログラムを作ってくるかもしれません。

 先生も、CasioBasicなら、学習に必要なブログラム取得なら負担も減らせて、一石二鳥。メーカーも中国のように真剣に売り込みから活用まで熱心になって欲しいものです。

 それでは、ご返答を。
 グラフ関数電卓は、外国の販売価格と日本の希望小売価格に約1万円の差があるのには驚いています。fx-CG20が登場したとき、アメリカのサイトも気になって除きました。日本円で2万円あればおつりが来るうらやましい。日本で販売されたときは2万円台。この差はなんだろう。競合他社が少ないのか、売る気がないのかと感じています。

 電卓操作の日本語化について。
 操作体系の日本語化。それもいいですね。グラフィック電卓の場合、表示の日本語化から始めないと敷居が高すぎます。金融計算もできます。用語が初期設定の英語で出た場合、そこで遠慮します。それを使うより、同じカシオの日本語表示の金融電卓BF-850を使うのが楽です。

 fx-5800Pは、使いやすくて、すぐに試せるところ、乾電池で動いて、長持ち。そこが気に入っています。Casio Basicとはいい名前です。カタログにはBasicライクという表現があったと記憶しています。

教育ツールとしてのプログラム電卓

藤堂様

本エントリーのテーマに戻していただき、ありがとうございます。

>  学校教育にタブレットPCを採用するより、fx-CG20を第二のポケコンとして学販用として1万5000円程度で販売して、活用した方が安上がりで、理数系に強くなると思っています。

私も、将にこの事を言いたいのです。



>  閉鎖したカシオフレンズカフェのfx-CG20のモニタにあたり、質問に答えて記事を書いたときに、表示の日本語化と、グラフとプログラムを売りにしているから、プログラム講座をどうでしょうかと要望を出し、すぐに実行したのが、簡単な8回のプログラム講座です。日本ではスマートフォン、Excelがあるから、売れないだろうという消極的なメーカーでした。それでも、ウェブサイトで入門編の段階でも、プログラム講座を行った意義はあります。以前のように例えばfx-603Pを買うと、分厚いプログラムライブラリをつけていたような、活気はなくなったようです。


事情も知らず、僭越なことを申し上げました。なるほど、ユーザーの声に素早く応えた姿勢は、大いに評価されるべきですね。

但し、スマートフォンやエクセルの普及を売れない理由に挙げるのならば、世界中で売れないことになります。日本で売れない理由になっていません。単にやる気のなさにしか聞こえません。

折角良い製品を出しているのに、惜しい。これが、本ブログを開設した理由の1つなのです。たまたま fx-5800P を持っていたので、それをプラットフォームにしています。

fx-cg20 を¥15,000 で売るのも良いですが、fx-9860GII を¥8,000 程度で売っては如何でしょうか?>カシオ殿、アメリカでは、fx-9860GII を75~80ドルで売られているのですよ。


>  プログラム上からグラフ描画、行列計算、リスト計算(f(x)=式で数表を作る)の呼び出しが可能です。ただ、スプレットシートが操作できるとははっきり書いていないようです。(PDFのマニュアルもかなりあります)。
>

ありがとうございます。


>  言語の壁。慣れの問題かつ英語の不勉強を棚に上げてといわれそうです。それでも欧州の言語切り替えと中国語が出来るのですから、ソフトの更新で出来るはずです。
>  その壁を一つ一つ試しながら、使えそうな機能から攻略しています。ただし、時間はかかります。日本語表示ならば、説明書なしでもいろいろボタンを押して使ってみようという気が起きます。そこからプログラムへ入っていき、このマシンを最大限に活用するプログラムも出来、理数系に強い、若い世代も育成できるのに、カシオは非常に持ったないことをしています。


私、少し勘違いしていました。電卓の操作体系の日本語化のことを仰っていたのですね。私はプログラム中で使える表示言語に日本語も追加する、というお話だと思っていました。



ご丁寧な返答ありがとうございます。

 閉鎖したカシオフレンズカフェのfx-CG20のモニタにあたり、質問に答えて記事を書いたときに、表示の日本語化と、グラフとプログラムを売りにしているから、プログラム講座をどうでしょうかと要望を出し、すぐに実行したのが、簡単な8回のプログラム講座です。日本ではスマートフォン、Excelがあるから、売れないだろうという消極的なメーカーでした。それでも、ウェブサイトで入門編の段階でも、プログラム講座を行った意義はあります。以前のように例えばfx-603Pを買うと、分厚いプログラムライブラリをつけていたような、活気はなくなったようです。

 プログラム上からグラフ描画、行列計算、リスト計算(f(x)=式で数表を作る)の呼び出しが可能です。ただ、スプレットシートが操作できるとははっきり書いていないようです。(PDFのマニュアルもかなりあります)。

 言語の壁。慣れの問題かつ英語の不勉強を棚に上げてといわれそうです。それでも欧州の言語切り替えと中国語が出来るのですから、ソフトの更新で出来るはずです。
 その壁を一つ一つ試しながら、使えそうな機能から攻略しています。ただし、時間はかかります。日本語表示ならば、説明書なしでもいろいろボタンを押して使ってみようという気が起きます。そこからプログラムへ入っていき、このマシンを最大限に活用するプログラムも出来、理数系に強い、若い世代も育成できるのに、カシオは非常に持ったないことをしています。

 学校教育にタブレットPCを採用するより、fx-CG20を第二のポケコンとして学販用として1万5000円程度で販売して、活用した方が安上がりで、理数系に強くなると思っています。

 COBOLは事務用の言語で、レコード操作、並べ替え、事務計算専用に作られたものです。初期の高級言語とも言われています。

Re: お褒めいただき光栄です

藤堂様


>  お褒めいただきありがとうございます。fx-CG20は、閉鎖したカシオフレンズカフェのモニタに当たっていただいたものです。fx-5800Pで作成した金種計算のプログラムは、そのまま動きます。
>  モグラたたきプログラム、プログラム説明は大変参考になります。これからもどうぞごひいきに。

少しでも、お役にたてて、うれしいです。とても励みになります。fx-CG20 をモニターで入手されたとは、うらやましいです。


>  金種計算は、以前、金銭を扱う窓口会計の仕事をしていたときに、必要に駆られて作りました。ちなみにプログラム言語のレベルは、BASICと、COBOLそれも初歩の初歩です。

COBOLは、金融向けのプログラミング言語だとは聞いたことがありますが、触ったことがありません。恐らく精度の高い整数の計算が出来るのだろうと、想像しておりました。


>  プログラム関数電卓は、数式を記憶させて、無限ループにさせておき、すべてが終わってACを押して止める、電卓のような使い方が出来るところが便利で使っています。


はい、仰るとおりで、私もプログラム終了は、もっぱら [AC] キーを多用しています。


CasioBasicは、とても良くできた言語だと思います。しばらくは fx-5800P のCasioBasicで、思い切り遊ぼうと思っております。


Re: fx-CG20

藤堂様

おっしゃるように、カシオは日本国内での販売拡大には、あまりリソースを割いていないようです。

藤堂様もご参加なさっていたと言う、カシオ主催のWebでのプログラミング講座も、通り一遍な感じがしております。メーカー主催の講座ともなれば、幅広く異なるスキルを持ったメンバーに対して、責任のある対応をする必要があり、その大変さも分かるのではありますが、アメリカのカシオのサイトから閲覧可能な各種Webinar (webを使ったオンラインセミナー)に比べますと、とても残念な内容です。

お膝元の日本国内では、メーカーの努力が足りないようです。価格についても、アメリカのウォルマートでは、fx-cg10 Prizmが、100ドル程度で売られていると、最近聞きました。日本の半額以下ですね。


とても残念です。


>  この電卓は超高性能で、キーも押しやすい。ただ、ファンクションキーの押す回数が多く、なれるまでちょっと時間がかかります。

そうですか、限られたスペースに限られた個数のキーを配置すると、そうなってしまうのですね。ただ、慣れると使える範疇なら、慣れれば良いですね。


>  表示の日本語化をカシオに要望はしました。ただ、検討中とのこと。英語が苦手なので、《言語の壁》を乗り越えれば、すばらしいマシンです。

むしろ、言葉の壁の方が大変とのこと、分かります。

私は一般人よりは英語の敷居は低いのですが、それでも実用プログラムを作る際に、日本語の特に漢字の表現力は、アルファベットを遙かに凌駕します。日本語を使えれば、どれだけ良いか...と思います。

日本が誇る文化を、日本のメーカーの製品で使えないと言うのは、残念でたまりません。

英語で"electron"と半角8文字のところ、日本語は「電子」と全角2文字(半角で4文字)と短縮できます。
profitと利益もしかり。たまたまcostと原価、のようにあまり変わらないのもありますが、殆どは日本語の方が簡潔に表示できそうです。


>  いまは、fx-5800Pで作った金種計算プログラムを入力して動かし、主にスプレッドシートに数値を入れ、円グラフを描画させる使い方をしています。後者の使い方は、Excelを使うより一発で円グラフ構成比が表示できる点です。これには重宝しています。

CasioBasicは、ある程度の互換性があるようです。取扱説明書を見る限り、fx-9860GII と fx-cg20 とはほぼ完全互換(カラー関係を除いて)ですが、fx-5800P との互換性は、Getley は全くありません。それに Locate コマンドはディスプレイの解像度の違いから、表示位置の再調整が必要になります。

ところで、プログラムの中から、スプレッドシートやグラフ作成を操作することは、可能なのでしょうか?

これができると、とても表現力高いの実用プログラムを作れそうです。


fx-CG20

 fx-CG20(10)は、まずは海外で販売され、4年前中国で販売され、メーカー主催で高校での活用発表会まで開く程熱心です。そのため、言語切り換えに中国語がセットされています。(漢字入力は不可)

 この電卓は超高性能で、キーも押しやすい。ただ、ファンクションキーの押す回数が多く、なれるまでちょっと時間がかかります。
 表示の日本語化をカシオに要望はしました。ただ、検討中とのこと。英語が苦手なので、《言語の壁》を乗り越えれば、すばらしいマシンです。
 いまは、fx-5800Pで作った金種計算プログラムを入力して動かし、主にスプレッドシートに数値を入れ、円グラフを描画させる使い方をしています。後者の使い方は、Excelを使うより一発で円グラフ構成比が表示できる点です。これには重宝しています。

お褒めいただき光栄です

 お褒めいただきありがとうございます。fx-CG20は、閉鎖したカシオフレンズカフェのモニタに当たっていただいたものです。fx-5800Pで作成した金種計算のプログラムは、そのまま動きます。
 モグラたたきプログラム、プログラム説明は大変参考になります。これからもどうぞごひいきに。

 金種計算は、以前、金銭を扱う窓口会計の仕事をしていたときに、必要に駆られて作りました。ちなみにプログラム言語のレベルは、BASICと、COBOLそれも初歩の初歩です。

 プログラム関数電卓は、数式を記憶させて、無限ループにさせておき、すべてが終わってACを押して止める、電卓のような使い方が出来るところが便利で使っています。

こちらこそ、よろしくお願い致します

藤堂様

コメントを頂き、ありがとうございます。

このブログを始める以前から、オヒ!の殿堂は定期的に拝見しておりました。幅広い話題の中でも、特に計算機や鉄道の話題はいつも楽しみにしています。以前は鉄道模型を愉しんでおり、数年前は仕事で鉄道の線路にセンサを取り付けて実験したこともあり(夜中の土方仕事も悪くないです)、私の中の鉄分が喜んでおります。

そのような方から、コメントを頂けるとは、とても光栄です。


>  fx-5800Pを持っています。参考になります。私の場合は、ゲームでなくて、金額から硬貨と紙幣の枚数を計算する、お粗末なものしか作れません。これからも訪問します。

実際にプログラム電卓を利用するのは、そのような地味なものだと思います。

私が実際に日常的に使っているプログラムも、原価計算とか調達部材の指し値計算(輸入品の場合はプログラムを使うと複雑な計算が楽)やら、単位の変換やら、カメラのレンズ関係の計算やら、地味なものばかりです。

本ブログを始めてから、初めてfx-5800Pでゲームを作ってみました。fx-5800Pのようなプアなハードウェアで、どこまでアクションゲームを作れるのか?に興味があって作ってみたと言う次第です。

fx-CG20をお持ちなのですね。うらやましいです。カシオの旗艦製品ですね。如何ですか?


今後ともよろしくお願い致します。

初めまして

 fx-5800Pを持っています。参考になります。私の場合は、ゲームでなくて、金額から硬貨と紙幣の枚数を計算する、お粗末なものしか作れません。これからも訪問します。

No title

こんにちは。
>私が fx-5800P でゲームを作ったのは、Casio Basic がどの程度のもの>か確かめたいのが理由

成る程、casiobasicの性能でゲームが作れるかの実験なんですね。
僕はやす様の作ったゲームにはまり、casiobasicの凄さに気付き、今では自作のゲーム(元々プチコン専用のプログラムだった)のクオリティをあげようと苦戦してますw

しかし、プチコン用のプログラムが動くとは。casiobasicのクオリティの高さに驚きました。

ガキ代表に拍手(´д`)

Ku さん

私も、3DS の Basic言語のことは、聞いたことがあります(´д`)
車を運転中に聞いていたラジオ番組で、開発元の社長さんがゲストで出演していて、プチコンのことを聞きました。会社の宣伝のために、儲けようと思わすに作って出したら、予想外に売れたと言っていました。

プチコンmkII は、グラフィックやスクリーンタッチの機能もあるので、いいですね。


私が fx-5800P でゲームを作ったのは、Casio Basic がどの程度のものか確かめたいのが理由で、あまり積極的にゲームを作ろうとは思っていません。

今は、シューティングゲームが作れないかどうか、色々やっています。
これも、fx-5800P でどこまで遊べるかを確かめるためです。

当然、グラフィック表示無しで、疑似並列処理無しで、どこまで遊べるゲームを作れるか、ゲーム設定やロジックを色々と試しているところです。

今のところは、ワラワラと沸いて出てくるエイリアンを移動砲台で狙って、一気にやっつける...

なんて動きを作って遊んでいます。これをやる気にさせるゲームに仕上げるのは、どうすれば良いのか? 実態弾とビーム砲などの射撃の選択肢をどうやって付けると面白いか...なんてやっています。

fx-5800P も結構やるもんだと感じています。何か面白いものが出来たら、ここで紹介しようと思います。



> こんにちは、小学生のガキ供代表ですw

うはは、心強いガキ代表です(´д`)

fx-5800P で何か面白いプログラムが出来たら、ぜひ教えて下さい。


ガキでも簡単

こんにちは、小学生のガキ供代表ですw
僕はfx-5800Pの[casiobasic]とdsi/3dswareの[プチコンmk2]のsmilebasicでプログラミングしているのですが、fx-5800Pの[casiobasic]は予約語も少なく、inkey()やlocate、gosub/returnに相当する命令のおかげで、プログラム初心者のガキでも手軽にゲームやツールを作れると思います。(強いて言えばグラフィックが無いことが残念)

Re: おばんでーす

akatiki様

コメントをありがとうございます。

私の記事は、かなり乗り遅れているようでした。


> 中学校のPC教育は確か「BASIC の初期を教える」とかで、かなり以前から行われていた、と聞いた事があります。

高校で情報の先生をやっている知人は、プログラミングの高いスキルを持っていて、学生が自由に触れるPCに面白い細工をしていました。パソコンの中の色々な機能やソフトウェアへのアクセスに多層のプロテクトをかけて、興味のある生徒にとって一種の宝探しのような状態を作っているのだそうです。

授業時間は厳しいプロテクト、休み時間や放課後は緩いプロテクトをかけているのですが、それだけで終わらせずに、Windows Media Playerで未対応の動画を再生をしたい場合は、プロテクトを破らないと、対応ソフトを使えないような工夫だそうでそうです。最初は結構簡単なプロテクトで、徐々に難しくしている、その工夫が楽しいと言っておりました。

その知人の生徒さんは幸せだと思います。こういうのが教育ではないかと思うわけです。



> その当時、「では何を使って教えるんかいな ?」と思ったものですが、今日では、引用の記事の様に、PCやRaspberry PI を使う事になった、のか ?
> 悪い事ではありませんが、NPOがやっているとかで、学校教育ではありませんから、ごく一部の児童の教育にしかならない、それが悔しい。

先生も大変だとは思いますが、それを支えるシステムがなっていないように思われます。



> なので「ガキ供に(安価な)プロ電を与えてヤレ !」という当方の思う所なのであります。

プログラム関数電卓は、予算面でも教育面でもうってつけの教材になる筈と思うのでございます。

但し、学校の備品にするには、電卓はもうちっと堅牢な作りが必要かも知れませんね。以前大学生協で見たことのあるITのプログラム関数電卓は、かなり無骨なプラスチック製でしたが、ああいうのがいいですね。


fx-5800Pの言語仕様だと、プログラミング初級教育には非常に良いと思います。カシオあたりが頑丈なのを作れば最高なのでしょう。覚えることが少ないし、使い方も簡単。プログラムの入力は簡単で、作ればスグに実行できる。

プアな電卓でアルゴリズムを工夫する楽しさ。下手なアルゴリズムだと処理が重すぎて動かないが、工夫するとサクサク動く....こういうのは子供達の心を大きく刺激すると思うわけです。


最近は「ガキ供」も横着することを覚えてきているので、教える側の熱意と工夫が必要でしょう。そういう先生を養成することも、大切なのだと思うところです。

おばんでーす

どうも、夜分失礼。

中学校のPC教育は確か「BASIC の初期を教える」とかで、かなり以前から行われていた、と聞いた事があります。
その当時、「では何を使って教えるんかいな ?」と思ったものですが、今日では、引用の記事の様に、PCやRaspberry PI を使う事になった、のか ?
悪い事ではありませんが、NPOがやっているとかで、学校教育ではありませんから、ごく一部の児童の教育にしかならない、それが悔しい。

なので「ガキ供に(安価な)プロ電を与えてヤレ !」という当方の思う所なのであります。
最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。
にほんブログ村 IT技術ブログ 開発言語へ
にほんブログ村


人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR