楽屋裏 - Casio Basic プログラミング

楽 屋 裏
e-Gadget

2015/01/09
追記 2015/01/10
追記 2019/02/07



[2019/02/07 追記]
久しぶりに読み直してみると、自分でも結構面白いというか、自分の中の混沌がそのまま表現できていて、それは今も同じと気づき、追記ついでにこの記事を底から表面まで浮き上がらせます。(追記終わり)


出来の悪い入力ボックスを、なんとかしたいと思ってから結構時間がかかってしまいました。まともに使えるものが出来て、それをほぼ公開するところまできて、実はホッとしています。

fx-5800P プログラムライブラリ - 入力ボックス [2019/02/07 追記] 

日頃から、いろいろと触って気がついたこと、チョット深掘りしてみたいことは結構あるのですが、いざ深く調べて見ると、色々なことが分かって、結構面白いものです。

Casio のプログラム電卓のプログラミングについて書かれているブログやホームページを拝見していると、Casio Basic 特有の出力命令や出力命令、そして Goto 文を多用したものが多いように感じるのは私だけでしょうか?

せっかく Casio Basic が進化しているのに、それにふさわしい使い方をしてあげて欲しいと思うわけです。昔から電卓でプログラミングをなさってきた方は、その時の流儀があって、そのまま適用してプログラムをかけてしまうのも、Casio Basic の素晴らしいところだと思います。Goto / Lbl 無しでプログラムを記述可能で、ブロック構造で構造制御をかけてしまうのがCasio Basicです。是非とも、本格的なBasicとして Casio Basic ならではのプログラミングを採用して頂きたいと思います。

しかし、金科玉条の如く Goto 不要論を唱えるのはナンセンスで、例外処理では Goto 文を有効活用できるのも Casio Basic の良いところです。

最近、fx-9860GII で色々とプログラムを作ってみていますが、グラフ機能は何か特定の用途でよほどグラフを書かせたいと言う目的がない限り、使う機会が無いなぁ、と感じています。学習用途なのでしょうが、私には縁がないし...文字列処理については、面白い使い勝手がありそうだと思っています。

ただ、文字列処理を除けば、Casio Basic を使う限りは、fx-5800P とそれほど大きな違いが無いように、最近思い始めています。
一応、Casio Basic コマンドリファレンスも、fx-9860GII 対応を始めていて、その作業中に上のようなことを思ったのです。fx-5800P を使い倒す意義を再発見したと言うことろでしょうか?


最後に、2つの話題を提供させて頂きます。

A: Facebook元役員「プログラミングを学ぶなら生涯仕事に困らないことを私が保証しよう。」
~これからの世の中ではプログラミングが必須のリテラシーだ、と言う論.

B: 60%の人はプログラミングの素質がない
~有名大学のコンピュータサイエンスを専攻してもプログラマとして使えない人が多いという経験の論証.


ちょっと考えさせられてしまいます。

A も B も極論に見えますが、あながち噓でもなさそう....う~む


Casio Basic 入門が、いきなり Getkey と Locate から始まっているのですが、それで良いのか?
むしろ、多くのブログやホームページで取り上げられているような、入力命令 ?" " と 出力命令 、そしてGoto を多用したプログラムこそが、誰でも電卓プログラミングが出来るようになるためのアプローチなのか?

...と、こんなことも考えてしまいます。


[2015/01/10 追記]
決めつけは良くない。あれから帰りの電車で半分眠りながら、ツラツラと考えたのですが、グラフ機能は結構遊べそうだと思い直しました。

ライフゲーム、フラクタル、カオスといった式だけでは分からない、やってみて分かる造形美と言うものがあります。俄然興味が沸いてきた次第。自分の浅はかさを恥じるばかりです。




[2019/02/07 追記]
アドイン版 Casio Basic -  C.Basic がフラフィックスプログラムを高速化し自由に遊べるようになりました。
fx-9860Gシリーズ向け (C.Basic for FX) と fx-CGシリーズ向け (C.Basic for CG) の2つがあります。

C.Basic トップページ




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


 


keywords: fx-5800PCasioBasic換算プログラムプログラミング入門プログラム関数電卓

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

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

コメントの投稿

非公開コメント

Re:ひょっとしたら - 5800Pで入力値の保存は?

管理人様、ツル様、皆様、こんにちは!

fx-5800pにおけるツル様のABC変数保存の可能性は標準仕様で考えると
電卓上でのABC変数への代入とABCを書き換えるプログラムの使用を制限することが出来れば不可能ではないと考えられますが、、
管理人様のおっしゃられるとおり、隠し変数が存在するのでそれを使うことで書き換えられる可能性は限りなくゼロになりますね。(^^)

fx-5800Pになぜに隠れた変数が存在するのか…
変数を仕様に合わせて制限することでの処理上のオーバーヘッドを嫌っただけなのか、
もしくは、
案外こういう用途に対して残されたものかもしれません。


>「ひょっとして」というのは、隠し変数が電卓の機能で使われていないならば、ということでして、まだ未確認ですので「ひょっとして」いけるかも知れません。

公式には存在しない変数ですから、
何かの関数でワーク変数として使われていて書き換えられる可能性はあり得ますね。(^^;

ひょっとしたら - 5800Pで入力値の保存は?

ツル様、皆様

管理人のやすです。


ひょっとしたら...今気がついたことですが、

fx-1800P には、実は隠れた変数があります。
小文字アルファベットとギリシャ文字です。

これらの変数は、fx-5800PとPCリンクする CcLinker と Casio BasicをPCで編集する CcEditor を使えば、Casio Basicで使えます。

これらの隠し変数が、fx-5800Pの電卓としての機能で使われていないならば、そしてツル様の作るソフトしか隠し変数を使わないのであれば、他のプログラムでこれら変数を変更する可能性がなくなります。

「ひょっとして」というのは、隠し変数が電卓の機能で使われていないならば、ということでして、まだ未確認ですので「ひょっとして」いけるかも知れません。



>
> 早速のご回答ありがとうございました。
> 薄々感じてはいた内容でした。
> 明かしていない情報があることを期待していました。
>
> 社内5800P普及作戦の終了です!(笑)
>
>
> 黙って、CG50で作ります。えー! 何台買うことになるのか・・・

Re: Re:Re: 5800Pで入力値の保存は?

ツル様、皆様

管理人のやすです。


> 薄々感じてはいた内容でした。
> 明かしていない情報があることを期待していました。

やはり、そうでしたか...


> 社内5800P普及作戦の終了です!(笑)
> 黙って、CG50で作ります。えー! 何台買うことになるのか・・・

ツル様のビジネス用に1台確保できて、良いではありませんか?
事務機器としてはパソコン買うよりも格安ですよね!


Re:Re: 5800Pで入力値の保存は?

管理人様、皆様  こんにちは。

早速のご回答ありがとうございました。
薄々感じてはいた内容でした。
明かしていない情報があることを期待していました。

社内5800P普及作戦の終了です!(笑)


黙って、CG50で作ります。えー! 何台買うことになるのか・・・

Re: 5800Pで入力値の保存は?

ツル様 皆様 

管理人のやすです。

ご質問の意図を読み違っていれば、ご指摘ください。

fx-5800P のCasio Basicで、何かの変数に値を入れておき、そのプログラムを終了する。
そして、その後何時間か、何日か経った後、変数の値が確実に保持されているようにしたい、ということですね?

fx-5800P の純正Casio Basicでは無理だと思います。

1) Casio Basicでは、特定変数を使わないように保護する機能はありません。
fx-5800P や他のグラフ関数電卓では、Casio basicで使う変数を確実に保護できません。
他のプログラムを実行したり、電卓の関数機能を使う際に変数が書き換えられることを完全に防ぐ方法が無いからです。
尤も、変数X、Yなどは書き換えられる可能性がとても高いが、変数AやBはその可能性が低いといったことから、100%確実ではないけれど、書き換えられない幸運の確率を上げることはできるとは思います。

2) 保護したい値を一旦ファイルに書き出しておいて、必要な時にそれを読み込んで変数に代入し直すこともできません。
ファイルの読み書き機能 (File I/O機能)が無いからです。
C.Basicが使えると、ファイルの読み書きができるので、お望みのことは可能です。


5800Pで入力値の保存は?

管理人様 皆様 こんにちは。

fx-5800Pで、progで入力を求め、後日同じprogを使用して、前回の入力値を参照してまた入力する。

つまり、save機能について質問です。

例えば、10日に品1のAは105 Bは205 Cは305 と入力します。
ABCは変数。
12日には10日に打ったABCの値を表示させ、それを参照(参考)して Dは405
と入力したい場合、どうprogを作ればよいでしょうか?
教えてください。

社内5800P普及作戦の始まりです!(笑)
最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR