fx-5800P【プログラミング入門】:言語仕様

更新 2017/10/03
追記 2018/02/26
追記 2019/06/10
更新 2021/11/05

Casio Basic入門 連載中


 一般にプログラムの基本構成は、

  ・入力
  ・データ処理
  ・出力
  ・データ保存


に集約される。

従って、それぞれの基本構成に必要な命令やコマンドを覚えると、とりあえず動くプログラムを書けるようになる。そして、動くプログラムができれば、それを改造したり、機能を追加したりすることで、実用的なプログラムができるし、学習者はストレスなくプログラミングを覚えられると思う。


fx-5800P【プログラミング入門】:プログラム作成から実行までの操作

で、たった1行で、とりあえず動くプログラムが書けた。これに、色々と追加していけば、それらしいプログラムになる。少なくとも、非常に簡単な手順でプログラムを作れることは、お分かり頂けたと思う。

手軽さが電卓プログラムの1つの特徴と言える。


プログラム電卓は、一言でいえば、
電卓以上、パソコン未満。

プログラムを作れば、電卓以上のことが出来るが、パソコンほどのことは出来ない。しかし必要な時にポケットからサッと出して、パッと使えるので、パソコンよりも気楽に手軽に使える。そのような目的では、十分実用的なプログラムを作れるので、利用価値が高いと思う。

プログラム電卓に搭載されるプログラミング言語は、それほど強力なものではない。
電卓の機種によって搭載言語の仕様が異なることが多く、一概には言えないが、プログラムを作るための最低限の機能が搭載されていると思って良い。PCでのプログラミング経験者なら、Basicコマンドはこのように動作するはずだという感覚通りに動作するので、特に悩むことも無くすぐにプログラミング出来る。但しグラフィックスコマンドはとても癖が強く一般のBasicコマンドの感覚通りに動作しない (Casio Basic グラフィックス - 目次 参照)。

学習者にとっては、グラフィックスコマンドを除けば (fx-5800P にはグラフィックス機能は無い) ;
  • プログラミング経験者には、簡単にプログラムを作れる
  • プログラミング初心者には、入門に良い
であることが利点になる。

学習者がプログラミングを覚えるための良い方法については、様々な方が色々な論を展開している。個人的な経験に基づけば、

・作りたいプログラムがあること
・最も簡単で低機能の、しかし取りあえず完成したプログラムがあること
・取りあえずのプログラムを、自分の望むように改造する

学習者にとっては、必要性或いはモチベーションがあれば、必要なことから勉強してゆけるし、Casio Basic 頭の中に定着しやすい。如何であろうか?


最近のカシオのプログラム電卓では、Casio Basic が搭載されていて、Casio Basic は機種間での互換性が非常に高い。

最近のカシオのプログラム電卓:[2021/11/05 更新]
  • fx-5800P
  • fx-FD10 Pro
  • fx-CG50
  • fx-9750GIII / fx9860GIII

それでは、fx-5800Pについて少し詳しくみてみる。


先ずは、この電卓が搭載しているプログラミング言語について、私が特徴だと思う点を挙げる。

新世代 Casio Basic
2006年発売の fx-5800P には、それまでの機種の搭載言語とは大きく異なる。Basic 風だったものが、まともな Basic になったのだ。実際に使い込めば分かるのだが、この点意外に見落とされている。いわゆる構造化プログラミングの基本として、処理ブロックの [順次処理]・[分岐処理]・[反復処理] の組み合わせでコードがかける。当たり前にみえるが、これでキチンとプログラミングできるのだ。さらにキーコード取得の Getkey と柔軟な Locate コマンドが搭載されたことが、まともなBasicになったと言える要因だ。最近の一般的な Basic の記法が使えるので、プログラミング経験者ならチョットした工夫で実用的なプログラミングをストレス無く作れる。但し、ローカル変数が使えず、関数を作って使う機能が無いので、構造化プログラミング言語とは言えない。グローバル変数のみが使え、関数の代わりに引数や戻り値のないサブルーチンを使うことになるが、工夫次第で結構使いこなせる。このあたりの工夫は、当ブログでも多く紹介している。こんな新世代 Casio Basic 搭載が、fx-5800P の最大の特徴だ。 

バランスの良い設計
作ったプログラムを実行するために、プログラムモード(PROGモード)に入る必要が無い。通常の電卓のモード(COMPモード)から、[FILE] キーを押せばプログラムリストが現れ、そこから実行できる。この手軽さは良い。今のところこの機能があるプログラム電卓は fx-5800P と fx-FD10 Pro のみだ。その他のグラフ関数電卓は、プログラム実行のためにはプログラムモードに入る必要がある。プログラムを強制終了させると、プログラム編集画面になることから、知らずにプログラムを変更してしまう事故の可能性がつきまとう。
また、旧来の機種で搭載されていた入力/出力命令は、古くからのユーザーの利便性に考慮して、新世代 Casio Basic にも残されているが、fx-5800P と fx-9860GII (およびその他のグラフ関数電卓)では、細かい動作仕様が異なっている。グラフ関数電卓に搭載されている旧来の命令の仕様は、非常に使いづらく、旧来の命令をこれ以上使うなと言っているようである。一方で、fx-5800P は使い勝手の良い仕様にチューニングされている。
fx-5800P はハードウェアとCasio Basic のバランスがよく考えられている。

変数
最初から用意されている変数は、電卓内の保存されている全てのプログラムで共有される。究極のグローバル変数仕様と言える。一般にグローバル変数は弊害多いように言われるが、電卓プログラムに関して言えば、異なるプログラムで変数を共有できるメリットも有る。

文字列処理
fx-5800Pは、文字列変数が用意されていないので、文字や文字列の処理ができない。数値計算用の関数電卓の延長線にあるための割り切った仕様なのだろう。

最近のCASIOの関数電卓全般に言えることだが、3桁区切りの表記ができない。桁数の大きな数字をパッと認識しづらいのはとても不便だ。安い金融電卓などには搭載されている機能なので、ハイエンドと言える関数電卓で3桁区切りが無いのは理解しがたい。そこで、ミリ(m)やキロ(K)といった記号で表記する機能を使うか、6.02x1023 といった指数表示を使うしかない。プログラム上で、3桁区切りを実現するためには文字列処理が不可欠と思っていたが、文字列処理がなくてもロジックを工夫することで、実現した (以下追記参照)。
[2015/04/10 追記]
2015年2月から順次発売開始となった fx-JP500 / 700 / 900 では、ようやく3桁区切り記号が戻ってきた。fx-5800P の後継機種でも3桁区切り記号の実装が期待される。
[2019/06/10 追記]
プログラム上で3桁区切り出力を行うための汎用サブルーチンを公開している。
プログラムライブラリ - 3桁区切り出力(汎用サブルーチン)

データ保存
データ保存の機能は、ほとんど無い。ソースコード(=プログラムの記述のこと)のみが電卓本体に保存できるだけだ。パソコンなど外部機器と繋いでソースコードを保存することは出来ない。ソースコードをバックアップするには、専用ケーブル(別売り)を用いてfx-5800P同志をリンクして、プログラム単位でコピーするのことは出来る。究極のスタンドアローン仕様だ。

この仕様はなんとかして欲しい。私は、ソースコードと色々な説明を書き込んでエクセルファイルに保存している。

素因数分解_改造版ソース 
(fx-5800P用、素因数分解計算のソース)

[2018/02/26 追記]
有志の個人 (takumako様) が fx-5800P をPCリンクするツールを公開なさった。これにより fx-5800P が遙かに役立つようになった。
ついに fx-5800P がPCリンク可能になった


配列変数
配列変数を使うと、変数の数は実質無制限になる。プログラム中で変数領域の確保と解放ができる。変数領域は最大28500バイトのプログラム領域から切り出す仕様だ。変数名は Z[ ] に固定されている。

電卓のプログラムでそれほど多くの変数を使うことは、あまり無いだろう。しかしZ[インデックス数 ]といった使い方のできる配列は、異なる処理の記述を共通化できるので、ソースコードの記述量の節約に役立つ。但し配列変数へのアクセスは通常変数の4倍程度と遅い。

配列変数へのアクセス速度があまりに遅いので、高速化が必要なプログラムでは、配列変数へのアクセスの回数を極力減らすような工夫を行っている。

良いユーザーインターフェースを作れる可能性
fx-5800Pは16桁x4行の液晶ディスプレイが搭載されている。GetkeyコマンドとLocateコマンドにより、電卓としては広い画面を活かして、使いやすいユーザーインターフェースを実現できる点が、最大の特徴だと思う。これには、新世代 Casio Basic の仕様が不可欠でもある。

ハードウェアの欠点を補えるようになった [2019/06/10 追記]
・フリックタイプのハードカバーのヒンジの欠点
fx-5800P のフリップタイプのハードカバーは、ヒンジが容易に壊れるという明らかに設計上の欠点がある。カシオは一度も対応していない。良い製品なのにとてもこの欠点は非常に残念だ。
fx-5800P:ヒンジ破損でカバーが取れた 
その後、以外に安価に修理対応できることを確認している。ヒンジの修理だけでなく、ほぼ新品の外観にリニューアルできる。
 fx-5800P 破損ヒンジの交換、ついでにリニューアル

・プログラムのバックアップができない欠点
fx-5800P のプログラムファイルのバックアップするには、もう1台 fx-5800P を買ってきて 3Pケーブルでデータ転送するしかない。この欠点に対して有志の方がPCリンクのハードウェアとソフトウェアを開発され、希望者に頒布されている。これで fx-5800P 最大の欠点が解消された。
ついに fx-5800P がPCリンク可能になった



以下、言語使用をみてゆく。

1.入力

fx-5800Pでは、入力の方法が2種類準備されている。

・ 旧来の入力命令
Getkeyコマンド

Getkeyは、非常に有用だと思う。

 ⇒ 旧来の入力命令?の使いこなしは、Casio Basic入門38 から
 ⇒ ?命令からGetkey コマンドへの導入は、Casio Basic入門43 から
 ⇒ Getkey Locate の使いこなしは、Casio Basic入門3 から


1) 旧来の命令「?」(入力)命令

この入力命令が実行されると、

・入力を待つ
・[EXE]キーが押されることで入力が確定される


と言う動作を行う。

[EXE]キーで確定されるまでは、関数電卓として搭載されている殆どすべての計算を行えることは、入力命令の最大の特徴だと思う。サイン、コサイン、ルート、対数、指数、数値積分、総和(Σ)....などなど、1行で記述できる計算ならは何でも使える。そして[EXE]キーを押すと、その計算結果が確定され、入力が終了する。プログラムの用途によっては、非常に強力な機能を何の苦労もなく使えるわけだ。

入力命令は、[EXE]キーによる確定が必要なので、逆に確定キーを押すのが煩わしい時には、Getkeyを使う。

但し、fx-9860GII などのグラフ関数電卓では、fx-5800P とは細かい動作が異なり、非常に使いにくいことがある。fx-5800P はうまくチューニングされていて、とても使いやすくなっている点で、fx-5800P が他のグラフ関数電卓よりも優れている。


2) Basic コマンド:Getkeyコマンド

Getkey は、プログラム実行中にどのキーが押されたかを知るためのコマンドだ。電卓の付いている全てのキー(但し[AC]キーは除く)を区別して、それが押されたことが分かる。

If Getkey=34: Then
<何かの処理>
IfEnd


と書くと、「キーコード34のキーが押されたら、(直ちに)<何かの処理>を実行しろ」という処理を意味する。ここで (直ちに) というのがミソ。[EXE]キーによる確定は不要だ。

ところで、34のキーとは [DEL]キーだ。[DEL]キーには、キーコード34が割り振られているわけだ。[AC]キーを除き、全てのキー、例えば矢印キーなどが押されたことを検出できる。

メニューから項目を選択させるような処理には、メニュー番号を押せばスグにその処理へ移行して欲しい。矢印キーの上下左右のキーを押して表示を変えるような目的では、なおさら直ちに反応しなければ意味がない。このような時は、Getkey が有効になる。

但し、キーコードを取得するには、キーが押された時に Getkey コマンドが実行される必要がある。そこで、ループ構造の中で Getkey が繰り返し実行されるようにプログラムを記述すれば良い。


2.データ処理

データ処理と言う言葉は非常に漠然としているが、ここでは、入力されたデータを元に望む出力を得るための処理とする。データ処理はプログラムの核となる部分だ。

ここに新世代 Casio Basic の存在意味がある。fx-5800P の Casio Basic には、必要最低限な機能が揃っている。当ブログでは、実用的なプログラムやちょっとしたアクションゲームを作れる事を紹介している。その程度の機能はあると言うことだ。

具体的な機能の一部を紹介する。

条件分岐
If ~ Then ~ Else ~ IfEnd
 二者択一で、処理内容を変える時に使う。
 取説には書いていないが、If での条件判定に変数を使う時、変数がゼロの時は偽(FALSE)で、それ以外は真(TRUE)となる。

※ fx-5800Pには、多方向分岐コマンド(switch や select など)が無いのが残念だ。
多方向分岐の代わりに、If文のElseの中に新たにIf文を入れ子にする方法を使うが、Else If という記法が可能なので、可読性を確保できる。

⇒命令
 If [条件]:Then [処理]:IfEnd

 と同等の処理を行う際、

 [条件]⇒[処理]

 と記述できる。この命令の最大の利点は、その処理速度にある。If 文の2倍程度速い。非力な fx-5800P では非常に有用。


ジャンプ
Goto / Lbl
 予め記述したラベルまでジャンプする。

Isz と Dsz
 指定した変数がゼロになった時、ジャンプする。ジャンプ先は、次の次の処理。
 ISZ C とすると、変数C を1増やしてから、Cがゼロかどうかの判定を行う。
 DSZ Cは、変数Cを1減らしてから判定する。
 これらの命令の最大の利点は、その処理速度にある。単純なインクリメントやデクリメントで高速化が可能だ。


繰り返し処理(ループ)
For ~ To ~ Step ~ Next 
 カウンタを増やしながら処理を繰り返して処理をする。
 Forの後にカウンタ変数の初期値設定。
 Toの後にカウンタ変数の終了値設定。
 Stepの後にカウンタ増分を設定。Step設定がなければ増分は1。

Do ~ LpWhile
 繰り返しループの最後で、繰り返し継続判定を行う。
 LpWhileでの繰り返し継続判定に変数を使う時、変数がゼロの時は偽(FALSE)で、それ以外は真(TRUE)となる。

While ~ WhileEnd
 繰り返しループの最初で、繰り返し継続判定を行う。
 Whileでの繰り返し継続判定に変数を使う時、変数がゼロの時は偽(FALSE)で、それ以外は真(TRUE)となる。


制御系
Prog
 サブルーチンを呼び出す。引数や戻り値はない。VisualBasicのプロシージャに相当する。

Break
 繰り返し処理コマンドと併用して、強制的に繰り返しを中止する。

Return
 サブルーチンを終了させ、呼出元へ制御を戻す。

Stop
 プログラムを強制終了させる。


論理演算
And / Or / Not
 論理積 (And)、論理和 (Or)、真偽の否定 (Not)
 Xor は搭載されていないが、必要なら論理演算の組み合わせでカバーできる。
 

関数電卓独特の処理
Deg / Rad / Gra
 角度単位を、度、ラジアン、グラジアンのいずれかする設定

Dec / Hex / Bin / Oct / signed / unsigned
 n進数の基数を設定、負数をとるかどうかを設定

各種関数
 電卓に内蔵されている多彩な関数を使える。
 Int( )、Frac( )、log( ) などが特に有用だ。文字列処理機能の無い fx-5800P で数値の桁数を知るには log( ) を活用できる。

行列計算
 取扱説明書のプログラミングの章には明記されていないが、プログラムで行列が使える。

統計計算
 リスト操作、回帰計算のコマンドを使える。統計処理のプログラムには、一からアルゴリズムを考えずに使えて有用だ。


3.出力

fx-5800Pの出力機能は、画面への表示のみが用意されている。外部装置への出力はできない。但し
例外的に、fx-5800P同志の通信機能(別売りのリンクケーブルを使用)を使って、プログラムソースのコピーはできる。


出力(表示)
(出力命令)
 この記号の直前の文字列や変数の値、計算式の結果を表示する。旧来の命令で、使いやすいが制限もある。

Locate
数値、文字列、変数の値、計算式の結果の、先頭文字の位置を指定する。
※ 計算式の結果を位置指定に使う機能は、状況に応じて表示位置を変えることができるので、非常に役立つ。

Cls
 Clear Screen、画面全体の表示を消す。


関数電卓独特の処理
EngOff / EngOn
 数値の表示の際 f、p、n、μ、m、K、M、G、T、P などの記号を使うかどうかの設定
但し、EngOn とした時、Locate で表示する数値が上記の記号を使わない桁数の時、自動的に末尾にスペース1個が付加されるので、プログラミング時には要注意!

Norm
 指数表示をするかどうかの桁数を設定する。Norm2 としておけば10桁まで表示可能。

ab/c、d/c
 計算結果を仮分数か帯分数で表示する設定。プログラムではあまり使わないだろう。

Sci
 数値を表示する際、有効数字の桁数を設定。これによって数値そのものは変化しない。

Fix
 数値を表示する際、小数点以下の桁数を設定。これによって数値そのものは変化しない。

Rnd(
 変数に格納されている数値を、小数点桁数設定(FIX)の設定に従って丸める。


4.記録(データ保存)

fx-5800Pには、記録(データ保存)機能が準備されていない。例外的にプログラムソースを同型機同志でコピーすることができる。なお、関数電卓の機能として、計算に使うための自作公式を保存できうるが、保存された公式をプログラム内で使えない仕様になっている。

[2018/02/26 追記]
fx-5800PがPCリンク可能になっている。有志の方が開発・頒布なさっている CcLinker を利用すれば良い。最近は海外からの注目されはじめている。
ついに fx-5800P がPCリンク可能になった




以上、簡単にfx-5800P専用プログラミング言語を俯瞰した。


応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 


keywords: fx-5800P言語仕様プログラミング入門プログラム関数電卓

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

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

コメントの投稿

非公開コメント

Re: 懐かしいヒンジ投稿

ツル様

管理人のやすです。

ご存じとは思うのですが、一応...

> なんか、5800Pで扱える変数が増えるとか。驚きですね。
> ただ、これといった大義はないのですが、5800Pはずっとノーマルのままで使いたいのです。

これについて一言...

ええっと、CcLinker や CcEditor を使うと fx-5800P が改造されたり、ファームが書き換えられたりするわけではありません。
既に存在する隠し機能を使うということで、fx-5800P 製品自身はノーマルのままです。

CcEditor で隠し機能を使うコードを書くと、fx-5800P の編集画面でもそのコードが見えて、正常に動作します。増えた変数については、fx-5800P で消去できますが、同じものを書き込めません(当然ですが...)。

なので、コードもノーマルで使いたいということなのだろうと思いますが...以上念のためのコメントです。


ヒンジについては、部品代金があまりに安かったので、それなら壊れたら交換すれば良い、というのもアリですよね。
ブラシの太めのをピン代わりにするというのは、ナイスアイディアですが、身の回りに都合の良いサイズのものは見当たらなかったので、実践できていません。


> CG50はカラー表示が楽しめるProgを作るプロ電で、5800PはProg化も出来る便利な関数電卓という立ち位置が明確になってきました。
> この、CG50で表示を楽しめるというの点が大きく、BMP画像が表示できることで楽しんでいます。しかも、表示画像に重ね表示ができることが最高。
> (地図関係の画像を見ることが多いです)
> 個人で楽しむ範囲では権利に縛られないので楽です。
> 画像用に、メモリが30MBくらいあればなって思っていたりして・・・

活用なさっているようですね!


懐かしいヒンジ投稿

管理人様 sentaro様、iron2様、皆様

そういえば、こちらのブログを見始めた頃、5800Pのヒンジのことを書いた気がしたな・・・あれはいつだったかな?などと思っていたら、ここに出ていて驚き(笑)
ツルはまだ交換していない新品ヒンジパーツの在庫が2個あります。
なんか、5800Pで扱える変数が増えるとか。驚きですね。
ただ、これといった大義はないのですが、5800Pはずっとノーマルのままで使いたいのです。周りの所有者はノーマルだし、売っているのはノーマルな訳で、この先Progを作るのはCG50でしか考えられないと思ってきているから。
CG50はカラー表示が楽しめるProgを作るプロ電で、5800PはProg化も出来る便利な関数電卓という立ち位置が明確になってきました。
この、CG50で表示を楽しめるというの点が大きく、BMP画像が表示できることで楽しんでいます。しかも、表示画像に重ね表示ができることが最高。
(地図関係の画像を見ることが多いです)
個人で楽しむ範囲では権利に縛られないので楽です。
画像用に、メモリが30MBくらいあればなって思っていたりして・・・

fx-5800P一体型ハードカバー ヒンジ+ピン 雑感

管理人様 こんにちは。
ツルの投稿文の著作権は放棄していますので(笑)どうぞご自由に利用なさってください。カシオさんや製品への指摘などに不都合な点ありならば部分削除言い換えも一任いたします。ありがとうございます。ただ・・・私の結論としては、接着剤での修繕よりもパーツ交換が望ましいなと。 だって・・・  綺麗だから! 
はっはっは(ツル)

Re: fx-5800P一体型ハードカバー ヒンジ+ピン 雑感

ツル様

管理人のやすです。

> 私がそうであるように多くの方が、管理人さんの5800Pへの愛着がこちらのブログからこれでもかと言うほど伝わってくる訳で、CASIOの社員さんのブログでは?と疑念も出てくる中、

CASIO からサポート費用でも頂ければ嬉しいですが、全く利害関係のない立場なんですよ。
でも、fx-5800Pへの愛着を感じて頂けるのは嬉しい限りです。



> もしかしたらヒンジ部に日本一の愛着を持っているのは私(ツル)なのでは?(笑)などとほくそ笑んでおります。

ヒンジ修理について、これまでネットで調べた限り、ここまで詳しい記述をみたことがありません。
是非、この内容を記事として投稿させて頂きたいのですが、何か不都合はありますでしょうか?


fx-5800P一体型ハードカバー ヒンジ+ピン 雑感

管理人様 こんにちは。
(そうか、タイトルを記載したほうが閲覧時に目的を見つけやすいのですね。)

コメント欄をお借りして、ヒンジ部への私のこだわりを雑感として書かせて頂きます。
私がそうであるように多くの方が、管理人さんの5800Pへの愛着がこちらのブログからこれでもかと言うほど伝わってくる訳で、CASIOの社員さんのブログでは?と疑念も出てくる中、もしかしたらヒンジ部に日本一の愛着を持っているのは私(ツル)なのでは?(笑)などとほくそ笑んでおります。

1.かつて10台程の中古5800Pを見てきましたが、どれもカバーや本体裏面は傷ついていてもカバーを開けた本体キートップ側は綺麗でした。
それはやはりハードカバーの存在のお陰なのだろうと思います。
だからヒンジが破損してカバーを使用できない状態の5800Pは不憫でなりません。(笑)

2.前回までに述べた通り、カバーはABS樹脂ですがヒンジはポリカーボネートです。黒いのはブラックカーボンでも混ぜているのでしょう。見かけと耐久性を上げ、更にグラスファイバー混合というバリバリのエンプラ(エンジニアリングプラスチック)です。かといって素晴らしく特殊なものでもないですが。

3.落下などでカバーの角が衝撃を受けると、機械的に一番弱いヒンジ部分に破損という結果をもたらします。本体との結合ピン周りが損壊、破片の脱落も起こったりしますが、カシオさんも多くの落下試験をやったはずで、時計のGショックの基本技術もあり、本体の耐久性は横に置いておいて、その試験ではピンの脱落も確認済みだと思います。

4.衝撃によるクラック(ひび)はやむを得ないが、ピンまで吹き飛んで紛失になることは減らしたい思いで、穴へ圧入式のピンにしていると思います。
(まだヒンジ破損をご経験のない方への参考知識として書きますが)
ヒンジの四隅に使われている結合ピンはスプリングピンと言う、平板を円筒状に曲げて作られたもので、断面はC字状です。圧入用の部品で、工具類で挟んで引き抜かないと抜けないようになっています。

5.その抜けにくいというのが、ヒンジを外した際に紛失しにくいという利点にもなっています。それは設計さんの狙い通りでしょう。が、ピン周りの樹脂が破損してしまうと、抜けにくいも何も容易に抜け落ちます。先に述べた通り、ヒンジは信頼性のあるエンプラですが、5800P全体のデザイン(構造面の設計として)やむを得ずピン差し込み穴の周囲の肉厚が薄いのが弱点になっています。

6.しかもピンは長さ約6ミリの中央付近が膨らんだ紡錘形になっています。
単純な円筒のスプリングピンなら、単価4,5円ですが、特殊なので100円前後になっています。カシオさんの設計には申し訳ないが、圧入がきついことと金属であることの弊害のほうが大きく、私は柔らかい樹脂をピンとして交換して使用しています。(具体的に言うと、安物のヘアーブラシの毛?です。先端付近がいい太さでPP(ポリプロピレン)なのが具合がいい。他にも試しましたが、ゴムではせん断への耐久性に不安があり過ぎて不可(柔らか過ぎ)。

7.二塩化メチレンの接着に触れましたが、接着が良好ということは、素材を良く溶かしているということです。その溶けた結果として素材同士が付くものの、外観にも溶けた形跡などが現れるので要注意です。(早い話、付け過ぎると後悔します。)

8.ヒンジを交換するのは、慣れれば10秒もあれば出来るような簡単な作業です。

ヒンジ交換は、本体にカバーを被せている状態で片方の手でヒンジ両端を押さえたままもう片方の手で”ヒンジ中央付近を引っ張り湾曲させてヒンジ両端の距離を詰めて”2か所ずつ外したり付けたりします。ヒンジの端部を押さえながらたわませないと、作業によってピン部に力をかけてしまい破損させることになります。ヒンジ自体は中央付近で2センチ位たわんでも壊れません。
各部に無理を掛けない理屈を考えながら実施すれば、取り外しも取り付けも上手く出来るます。

長くなり申し訳ありませんでした。誰かのお役に立てば幸いです。(ツル)

fx-5800Pカバーヒンジの修理

ツル様

管理人のやすです。


> ヒンジは端部に材質記号が刻印されていて、10%のグラスファイバー入りのポリカとなっています。(余談ですが、標準の金属ピンは穴に圧入されており、内部から穴を広げる方向に常時力が作用しているのが気に入りません。だからクラックが生じやすいのだろうと考えています。なので自作ではPPなど柔らかい樹脂をピンにしています。万一の衝撃時はヒンジではなくピン側の、車で言うクラッシャブルゾーンとして採用し、自己満足しています。)

これ、真似して修理してみようと思います。ありがとうございます。修理が終わったら記事にさせてもらいますね。



> 構造化BASICの件ありがとうございます。
> 歴史がありますね。参考になりました。
> 私なりに解釈すると、プログラムは一つの街に例えることができ、良いインフラ整備を必要とし、街区(ブロック)毎に商店街や官庁街や歓楽街といった各機能をまとめ、人物の移動を効率的にデザインすること。それが構造化BASIC!
> こんな理解かな?と思いました。


ある機能を1つにまとめるという感じが街区に置き換えられているのだと思います。
ポイントとして、隣の街区同士の繋がりは、道路1本だけにする...これが読みやすいプログラム、構造化プログラミングのコツになります。

こうすると、プログラムが分かりやするなるし、バグを見つけやすいし、機能追加や機能変更がしやすくなります。これは間違いありません。Casio Basic でもとても有効です。是非お試しください。


No title

管理人様 こんばんは。
ご丁寧に返信をありがとうございました。

ヒンジの材質の件ですが、確かにカバーはABSです。
ヒンジは端部に材質記号が刻印されていて、10%のグラスファイバー入りのポリカとなっています。(余談ですが、標準の金属ピンは穴に圧入されており、内部から穴を広げる方向に常時力が作用しているのが気に入りません。だからクラックが生じやすいのだろうと考えています。なので自作ではPPなど柔らかい樹脂をピンにしています。万一の衝撃時はヒンジではなくピン側の、車で言うクラッシャブルゾーンとして採用し、自己満足しています。)

構造化BASICの件ありがとうございます。
歴史がありますね。参考になりました。
私なりに解釈すると、プログラムは一つの街に例えることができ、良いインフラ整備を必要とし、街区(ブロック)毎に商店街や官庁街や歓楽街といった各機能をまとめ、人物の移動を効率的にデザインすること。それが構造化BASIC!
こんな理解かな?と思いました。
ではまた。(ツル)

構造化プログラミング&もろもろ

ツル様

こんばんは、管理人のやすです。


> 頻繁に覗かせてもらい勉強させてもらっております。
> 過日、RaInt#での表示でご相談いたし、よく理解できて解決し感謝しております。


お役に立ててうれしいです。


> 登場人物がよく把握出来ておりません。あの時はやすさんという方のご指導もあったような。やすさんが管理人さん?ちょっと混乱しております。

やす と Krtyski は両方とも管理人の私を指します。私のネットでのハンドルネームは、多くのところで Krtyski としています。ただ、これでは呼びにくいので やす とも名乗っています。ブログ画面右側に色々とズラズラありますが、少ししたにスクロールしていただくとプロフィールがあり、そこに Krtyski (やす) と書いております。コメントの名前は逆転させて やす (Krtyski) としております。

sentaro様は、私のことを管理人と呼んでくださいます。ブログ友達のとねさんは、私をやすと呼んでくれます。

これからはこのコメントの冒頭のように名乗ろうと思います。今後ともよろしくお願い致します。


> こちらは掲載トピックが多くて、全てに目を通すのが時間的に厳しく、しかし、例のRanInt#というか要は表示の上書きの件は過去記事にありましたね。
> よく読んでいれば聞かずに済んだものを、申し訳ありませんでした。


2ちゃんねるのように "ここ嫁" とは決して申しません。中には、コメントする前にブログの隅々まで読むことを要求なさるブログ主もいらっしゃいますが、当ブログでそれを要求するのは無理だし、それを要求する気持ちは全くありません。
気になさらないでください。


> 確か、5800Pのヒンジの修理の記事もあったような。
> ご存知とは思いますが、ヒンジはポリカですので、アクリサンデー接着剤で有名な二塩化メチレンで良く付きます。どこのホームセンターでもありますし、数百円で済みます。と言いつつ、この間パーツ注文しヒンジ4本買ったばかりです。
> ヒンジ1本税込み108円でした。ピンは1.3ミリ太さ位の樹脂で済むので自作しました。安上がり(笑)


私も真似をしてパーツを購入して修理したくなりました。
今度ヨドバシカメラあたりでカシオのパーツとして注文してみようと思います。

ところで、ポリカーボネートに向いた接着剤が二塩化メチレンとのこと、貴重な情報ありがとうございます。
素朴な質問で恐縮ですが、fx-5800P の実機を見ますとカバーには >ABS< と刻印されています。ヒンジ部は ABS樹脂だと思いこんでいましたが、ポリカーボネートなんでしょうか?ポリカは透明なものは見てきていますが、黒い顔料の入ったポリカなんでしょうか?



> 皆さんレベルが高く、私からご提供できる話題がなく心苦しいですが、昔、東芝のパソピアでT-BASICを学んで以来、今でもBASICが好きで、5800Pを3台所有して楽しんでいます。仕事ではSHARPのポケコンで科学技術計算漬けの日々を20年ほどという経歴です。

コメントを寄せられるのは確かにレベルの高い方が多いようです。しかしコメントをするのはかなり勇気が必要だと思うので、ツル様のご質問はサイレントな読者の方々にはとても役立つ側面が大いにあると思うので、私は個人的には大歓迎です。

私の記事の書き間違いの可能性もあるので、今後も疑問をお尋ねください。


さて、構造化BASIC ですが、以下の記事を参考になさってください。

http://egadget.blog.fc2.com/blog-entry-101.html

ご質問があれば、お聞かせください。


No title

管理人様 こんにちは。
頻繁に覗かせてもらい勉強させてもらっております。
過日、RaInt#での表示でご相談いたし、よく理解できて解決し感謝しております。
申し訳ありません。登場人物がよく把握出来ておりません。あの時はやすさんという方のご指導もあったような。やすさんが管理人さん?ちょっと混乱しております。
こちらは掲載トピックが多くて、全てに目を通すのが時間的に厳しく、しかし、例のRanInt#というか要は表示の上書きの件は過去記事にありましたね。
よく読んでいれば聞かずに済んだものを、申し訳ありませんでした。

確か、5800Pのヒンジの修理の記事もあったような。
ご存知とは思いますが、ヒンジはポリカですので、アクリサンデー接着剤で有名な二塩化メチレンで良く付きます。どこのホームセンターでもありますし、数百円で済みます。と言いつつ、この間パーツ注文しヒンジ4本買ったばかりです。
ヒンジ1本税込み108円でした。ピンは1.3ミリ太さ位の樹脂で済むので自作しました。安上がり(笑)
皆さんレベルが高く、私からご提供できる話題がなく心苦しいですが、昔、東芝のパソピアでT-BASICを学んで以来、今でもBASICが好きで、5800Pを3台所有して楽しんでいます。仕事ではSHARPのポケコンで科学技術計算漬けの日々を20年ほどという経歴です。

長くなりましたが、ここからが本題です。ご免なさい。
記事中によく出てくる「構造化BASIC」という言葉ですが、生憎私の脳では理解が難しく、過去記事ではGotoに頼らず云々と書かれていたような。
大変申し訳ないのですが、NETで調べても、だからどういうこと?と、痒いところに手が届かない説明しか見つけられず、いまだにモヤモヤしております。
始めは行番号のないBASICに戸惑ったものですが、今では楽しくプログラム作りをしておりますが、構造化って?構造化BASICって?で頭がすっきりしません。
どうかどうか、具体的に分かりやすくご教示をお願い致します。
因みに、ツリー表示のような階層構造というのは慣れ親しんでピシッと理解は出来ています。よろしくお願いいたします。長文御免なさい。(ツル)

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

プログラム電卓を実際に使って気づいたこと、自作プログラム、電卓での Casio Basic, C.Basic そして Casio Python プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではありません。いつでもどこでもプログラミングができるプログラム電卓が好きな1ユーザーです。


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR