プログラムライブラリ - RGB指定による色確認プログラム

プログラムライブラリ
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します
2018/01/13
マイナーアップデート 2018/03/25

[C.Basic] [CG]
RGB指定による色確認プログラム: RGB4c - RGB Ver 1.4c
(マイナーアップテート)
RGB指定による色確認プログラム: RGB5a - RGB Ver 1.5a (マイナーアップデート)
※ C.Basic for CG Ver 0.45α で FkeyMenu( の仕様変更に対応したマイナーアップデート

著作権者

やす (Krtyski)
[当ブログ管理人]


対応機種

Casio fx-CGシリーズ (CG10 / CG20 / CG50)


動作環境

C.Basic for CG Ver 045α 以降


プログラムの説明

このプログラムは、一見アドインプログラムに見えますが、Casio Basic 上位互換の C.Basic (つまり BASIC) で書いたものです。チョット大がかりですが C.Basic for CG のサンプルプログラムにもなると思います。

さて、fx-CGシリーズに搭載されている高精細液晶 (216x384 pixel、16bitカラー、65536色)は、プログラムの出力に大きな表現力を与えてくれます。純正Casio Basic では 基本7色 (Black, Blue, Red, Magenta, Green, Cyan, Yellow) のみを設定できますが、C.Basic for CG では基本7色に加えて RGB値での色設定ができます。

そこで、プログラム作成時の配色を検討するためにRGB設定による実際の色を確認するプログラムを作りました。テキスト文字色、テキスト背景色、グラフィックス描画の色、それらの配色を確認できます。

RBG4c はRGB値それぞれに、0 ~ 255 を設定できる 24 bit フルカラー対応バージョンです。但し、fx-CGシリーズのカラー液晶はフルカラーではありません。

そこで、fx-CGシリーズ搭載のカラー液晶の実際の仕様に合わせた 16bit カラーバージョンの RGB5a を作りました。
fx-CGシリーズの 16bitカラーは R と B が 5 bit (32階調)、G が 6 bit (64階調) なので 65,536色です。24 bitフルカラーの 16.777,216 色に比べて使える色が少なくなっていて、実際のRGB値は 0 ~ 255 の連続した整数値ではなく、R と B は 0 ~ 248 の8刻み、G は 0 ~ 252 の 4 刻みで色が変化します。これは、RGB4c で操作すると確認できます。

そこで 16 bit カラーに対応した RGB5a を使えば、fx-CGシリーズの液晶が取り得る RGB 値を正しく調べられます。但し、24 bit カラーの RGB値を指定しても問題はありませんが、意図した色にならないことが有るのは、電卓側の仕様です。 


ダウンロード

 32bit カラーバージョン - RGB4c (Ver 1.4c)
 24bit カラーバージョン - RGB5a (Ver 1.5a)
RGB4b (Ver 1.4b) / RGB5 (Ver 1.5) において、所定の条件下で矢印キーによるRGB値の
 変更ができない不具合を修正しました。
 [所定の条件]
 チョットややこしいのですが、
 - カラー表示エリアの2行のうち、どちらかを [SHIFT]で背景なしに設定していて
 - カラー表示エリアで、背景のある方を ⇒ で選択し、
 - RGB表示エリアの2行のうち下の背景RGBを▶で選択している
 この時、[▼] / [▲] キーでRGB値が変更できない不具合を修正しました。
[▼] / [▲] キー長押しでRGB値を連続変化させる動作を少し高速化しました。


プログラムの使い方

起動すると、モード選択画面がポップアップ。
左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer1.5a
RGB4c_StartUp.png RGB5a_StartUp.png 

[F1] でテキスト文字主体の配色確認モード、[F2] でグラフィックスを含んだ配色確認モードでプログラムが起動。

※ テキストモード
左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
RGB4c_Txt_Mode.png RGB5a_Txt_Mode.png 
テキストモード(テキスト主体の配色確認モード)。テキスト色 (前面色)のRGBにマーカーが付いている。

※ グラフィックスモード
左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
RGB4c_Grph.png RGB5a_Grph.png 
グラフィックスモード(グラフィックスを含めた配色確認モード)。背景色のRGBにマーカーが付き、テキスト背景と2つの円の配色が表示される。円の2つの配色は、テキストの背景色2つと対応している。

操作は、ファンクションキー  [F1][F6]、テンキー [1][3]、その他6つのキー [SHIFT] [ALPHA] [OPTN] [X2] [VARS] [∧] を使う。

テキストモードとグラフィックスモードは設定が異なるだけ。テキストモードで起動した後、例えば [SHIFT] [ALPHA] [SHIFT] と順に押せば、グラフィックスモードで起動した時と同じ状態になる。

[F5] (HELP) で簡易的な操作説明を表示する。

左が 24bit カラーバージョンの Ver 1.4c、右が 32bit カラーバージョンのVer 1.5a
RGB4c_QH.png RGB5a_QH.png 
 
上下矢印キーでスクロールできる。現在のところ、英数字・記号しか出力できないので英語表記になる。そこで、[F6] (QR) で日本語クイックヘルプへのリンクをQRコードで示す。

RGB4b_5.png 

スマホやタブレットなどでQRコードを読み込めば、日本語クイックヘルプのページが読める。


キー操作

[F6] (EXIT) / [EXIT]:プログラムの終了

[ALPHA] / [ ) ]:カラーサンプルエリアの切替え
  RGB4b_6.png 
  2つ(2行)のカラーサンプルエリアを切り替える。
  マーカー が選択されているカラーサンプルエリアを示す。
  ※ Text モードでの起動時は、エリアは1つだけ表示

[OPTN] / [cos]:変更するRGBエリアの切替え
  RGB4b_7.png 
  上がテキスト文字色のRGB値、下が背景 / グラフィックスのRGB値。
  カーソルや直接入力での変更対象は、マーカー▶が付いているRGBエリア。

[SHIFT] / [sin]:テキストの背景の表示/非表示切替
  RGB4b_8.png 
  [ALPHA]で選択したテキストの背景色を非表示

  RGB4b_9.png 
  [ALPHA]で選択したテキストの背景色を表示
  ※ [SHIFT] / [sin] を押す度に切り替わる(トグル動作)

[◀] / [▶]:変更したいR, G, B へカーソル移動
  RGB4b_10.png 
  左右の矢印キーで、変更したいR、G、Bにカーソル ←↕→ を移動。

[▲] / [▼]:R、G,B値の連続変更(スキャン)
  RGB4b_10.png 
  上下の矢印キーで、カーソル ←↕→ とマーカーのある値を変更。
  上の例では、テキスト色のR値が変更対象。
  ※ 通常押しだと、1つづ値が変わる(ステップスキャン)。
  ※ 長押しするとデフォルトで値が±20スキップする(スキップスキャン)。
  ※ 長押しで値が 0 か 255 付近になると、スキップが遅くなる。

[F1] / [1] (R)、[F2] / [2] (G)[F3] / [3] (B):RGB値を直接入力
  RGB4b_11.png 
  RGB値を直接キー入力する。

[EXE]:RGB値を直接入力
  RGB4b_10.png 
  [EXE] でカーソル ←↕→ とマーカーがあるところに直接キー入力。
  上の例では、テキスト色のR値が入力を受け付ける。

[F4]:基本7色に加えて White に変更
  RGB4b_11.png 
  [F4] を押すと、カーソル ←↕→ とマーカー▶のある値を、
  基本7色 (Black, Blue, Red, Magenta, Green, Cyan, Yellow)に加えて
  White に変更する。押す度に順に切り替わる。
  ※ 7色カラーバーで現在選択されている基本色に白線のマーカーを表示。
  ※ 矢印キーや直接入力した時、基本色+Whiteの場合、[F4]ファンクションに色を表示。
  ※ 基本色以外の時は、[F4]ファンクションに Color と表示

[∧] / [→]:テキスト色と背景色を同じ色に変更
  左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
  RGB4c_Back.png RGB5a_Back.png 
  [OPTN]でRGBエリアをで切替え、マーカーで指定されている色を、
  テキスト色と背景色に適用する。
  ※ 結果的にテキストが消える。

[VARS] / [tan]:テキストと背景を互いに補色にする
  左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
  RGB4c_CC.png RGB5a_CC.png 
  [OPTN]で選びマーカーが付いたRGBエリアの補色をもう一方のRGBエリアに適用する。
  ※ テキストRGBエリアを選んでいると、背景が補色になる。
  ※ 背景RGBエリアを選んでいると、テキストが補色になる。
  ※ R=G=B の時は、補色ではなくて反対色を適用する。

[X2] / [ , ]:背景色に補色を適用する
  左が 24bit カラーバージョンの Ver 1.4c、右が 16bit カラーバージョンのVer 1.5a
  RGB4c_CC2.png RGB5a_CC2.png 
  [ALPHA]で選んでマーカーが付いたカラーサンプルエリアの背景色に、
  [OPTN]で選びマーカーが付いたたカラーエリアの色の補色を適用する。
  ※ テキストのRGBエリアにが有る時は、が付いていない方の背景が補色になる。
  ※ 背景のRGBエリアにがある時は、が付いていない方の背景が補色になる。

右手操作のための代替キー
  RGB4b_keys 
  左上の6つのキーと、右手で操作するための右下の代替キーは、
  同じ機能が同じ配置になっている。
  ※ [SHIFT] = [sin]、[OPTN] = [cos]、[VARS] = [tan]
    [ALPHA] = [ ) ]、[X2] = [ , ]、[∧] = [→]


ソースコード

[2018/01/20]
Ver 1.2a 以降で、C.Basicタイマーの時間を 00:00:00 にリセットしてしまうコードが含まれており、時計の時間がリセットしてしまう問題がありました。C.Basic for CG のマイナーアップデートでこの問題を解消しました。C.Basic for CG Ver 3.3α [2018/01/20 17:00] 以降にダウンロードしたものをお使いください。

背景色を[SHIFT]で解除しテキストRGB値を[▲]/[▼]でスキャン時、背景RGB値のちらつきを抑制しました。


謝 辞

本プログラムは、sentaro様、ツル様からのアドバイスや要望により各種機能や表示を追加したものです。両氏にお礼申し上げます。


過去バージョン [2018/02/26] 追記

Ver 1.1 - RGB [download]
テキスト色のRGB値をキー入力のみで設定する最初のバージョン

Ver 1.2 - RGB2 [download]
RGB値をカーソルキーでスキャン可能にした。

Ver 1.2a - RGB2a [download]
[F4]での基本色設定に White を追加、ヘルプ機能を追加した。

Ver 1.2b - RGB2b [download]
テキストのみのカラーサンプルエリアを2つに増やした。

Ver 1.2c - RGB2c [download]
背景RGB値の設定・表示を追加し、テキスト/背景の補色設定 [VARS] を追加した。

Ver 1.3c - RGB3c [download]
テキスト↔背景を同色にする設定 [∧]、テキスト背景⇒もう一つの背景へ補色設定の機能 [X2]、ヘルプは増えた機能をカバーするためのスクロール表示機能、右手操作用の代替えキーを追加した。

最新バージョンは、操作が複雑で使いづらいかも知れないので、シンプルなものが良ければ過去バージョンをお試し頂くか、シンプルな過去バージョンを自由に改造してお使いください。




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







keywords: fx-5800PCasioBasic、プログラムライブラリプログラム関数電卓

リンク集 | ブログ内マップ

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

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

更新 2017/10/03
追記 2018/02/26

Casio Basic入門 連載中


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

  ・入力
  ・データ処理
  ・出力
  ・記録(データ保存)


と、単純だ。

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


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

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

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


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

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

プログラム電卓に搭載されるプログラミング言語は、それほど強力なものではない。
電卓の機種によって搭載言語の仕様が異なることが多く、一概には言えないが、プログラムを作るための最低限の機能が搭載されていると思って良い。

逆に言えば、機能が少なく覚えることが少ないため、
  • プログラミング経験者には、簡単にプログラムを作れる
  • プログラミング初心者には、入門に良い
と言える。

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

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

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



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

最近のカシオのプログラム電卓:
  • fx-5800P
  • fx-9860GII
  • fx-CG10
  • fx-CG20
  • fx-FD10 Pro
  • fx-CG50

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


0.fx-5800P専用プログラミング言語の特徴

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

新世代 Casio Basic
2006年発売の fx-5800P には、それまでの機種の搭載言語とは大きく異なる。Basic 風だったものが、まともな Basic になったのだ。実際に使い込めば分かるのだが、この点意外に見落とされている。いわゆる構造化プログラミングが可能になっており、さらにキーコード取得の Getkey と柔軟な Locate コマンドが搭載されたことが、まともなBasicになったと言える要因だ。この新世代 Basic の記法は、最近の一般的な Basic でほぼそのまま使える。つまり、プログラミング経験者なら少ないストレスで実用的なプログラミングが出来る。これから Basic を習得しようとする人には、覚えたことが一般の Baisc に活かせる。新世代 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桁区切り記号の実装が期待される。

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

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

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

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

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

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

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

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


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


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




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


   

 

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

リンク集 | ブログ内マップ

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

Casio Basic の勧め

.
追記 2018年02月26日

Casio Basic は、最近の カシオ 製プログラム電卓(プログラム関数電卓やグラフ関数電卓)に搭載されているプログラミング言語で、意外に高機能なので実用的なプログラムが作れます。科学技術計算目的以外にも実用的なプログラムを作れます。私自身、技術計算以外のために作った自作プログラムをほぼ毎日使い、技術計算プログラムはたまに使う程度です。

カシオのプログラム電卓で新世代 Casio Basic を勧めたくなるには、幾つかの理由があります。

新世代 Casio Basic でのプログラミングは敷居が低いこと、初心者にも覚えやすいこと、プログラミング経験者はスグに使えること、Casio Basic が意外に構造化プログラミング可能な高機能言語であることなどが、その理由に挙げられます。


目 次
  1. プログラミングは特殊技能なのか?
  2. 新世代 Casio Basic とは?
  3. Casio Basic 搭載機種の選定
  4. Casio Basic の習得は容易
  5. fx-5800P の勧め
  6. Casio Basic を勧める背景
  7. fx-5800P の利点と弱点
  8. Casio Basic の使いこなし


プログラミングは特殊技能なのか?

プログラミングは、理系や文系、男女差、年齢や経験などとは無関係に習得可能なことはよく知られており、IT企業ではごく普通に文系出身のSEやプログラマが活躍しています。特に Casio Basic は覚えることが少なく、簡単なので、誰でも電卓プログラミングが出来ると思います。

参考:
<トップへ戻る>

新世代 Casio Basic とは?

実際にCasio Basic を使いながら、取扱説明書には記載のない機能や仕様が分かってくると、以下に挙げる4機種に搭載されている Casio Basic が意外によくできていることが明かになってきました。

1) fx-CG50    (カラーグラフ関数電卓)
2) fx-CG20      (カラーグラフ関数電卓)
3) fx-FD10 pro   (プログラム関数電卓 - 土木測量向け)

4) fx-9860GII   (グラフ関数電卓)
5) fx-9860G   (OS 2.0 以降、グラフ関数電卓) 
6) fx-5800P      (プログラム関数電卓)


これらに搭載されている言語は、私は 新世代 Casio Basic と呼び、それ以前の言語と区別しています。

新世代 Casio Basic は、簡単に言えば、Getkey コマンドと 柔軟な Locate コマンドがあり、条件判定は基本的に 0 で偽、0 以外で真で、その上で構造化プログラミングが可能です。
  • Getkey[AC] キー以外の全てのキーに異なるキーコードが割り当てられ、押したキーをリアルタイムで判定できるコマンド。
  • Locate: パラメータに、即値以外に変数、式、コマンドを指定して位置を柔軟に指定して出力するコマンド。
  • 条件判定を 0 で偽、0 以外で真とできること
  • 構造化プログラミングGoto に頼らずにプログラムの制御を記述し、可読性の高いブロック構造でプログラミングする方法。
プログラミング経験者(特にPCでのプログラミング経験者)なら、新世代 Casio Basic は違和感なく使えます。

旧来の命令
新世代 Casio Basic には、以前のプログラム電卓に搭載されていた旧来の命令も搭載されています。カシオによれは従来のユーザーの利便性を考慮して旧来の命令を残しているとのことです。最近、この旧来の命令を使いこなして、どの程度のプログラムを作れるのか色々と試して、それを反映させたエントリーを Casio Basic入門38から連載を始めています。使いこなしを検討してみると、確かに一定レベルの実用プログラムを比較的楽に作れることが分かります。

旧来の命令は表記はシンプルでも、多彩な機能を持っています。プログラミング経験の少ない人でも簡単に使えて便利です。しかし、旧来の命令が機能が多彩であることが、逆にプログラミングの自由度を減らしているとも言えます。この旧来の命令では実現できないプログラムを作るには、Basicコマンドを積極的に使えばよいのです。旧来の多彩な命令と Basic コマンドを併せて使いこなすことで、自由度が高く、実用的なプログラミングが可能になります。

<トップへ戻る>

Casio Basic 搭載機種の選定

上記製品の中でも、特に fx-5800P は最も安価であり、さらにハードウェアとソフトウェアのバランスが良いため、実用に最も適していると思うので、私は愛用しています。fx-9860GII も Casio Basic プログラミングを楽しむために使っていますが、日常には実用性の高い fx-5800P を多用しています。fx-CG20 も入手してみると fx-9860GII の Casio Basicの移植性が高いことは確認済みです (グラフィックスの一部コマンドやカラー対応の部分に手を入れる必要があります)。fx-CG50 の Casio Basicプログラミングは fx-CG20 と完全互換です。

fx-CG50、fx-CG20、fx-9860GII、fx-5800P について簡単にまとめています;

- fx-CG50: fx-CG50 の概要

- fx-CG20: fx-CG20 の概要

- fx-9860GII: fx-9860GII USB POWER GRAPHIC 2

- fx-5800P: 本記事は主に fx-5800Pの勧め になっています

- Casio Basic - 機種間の互換性

- Casio プログラム電卓の価格動向


fx-CG50、fx-CG20 と fx-9860GII は、グラフィックス機能があり、高機能、高価格の製品(実売9千円台~2.5万円程度)で、これらの中で比較的安価な fx-9860GII は、処理速度が速い点が魅力です。さらに、fx-9860GII は Casio SDK (Casio 純正の開発環境)を使えば、パソコン上で C言語を使ってプログラムを作り、それを電卓に転送して Add-in プログラムとして利用できます。C言語で作った Add-in プログラムは、Casio Basicに比べてかなり高速動作し、Casio Basic では無理な処理も可能です。

fx-5800P
グラフィックス機能の無い fx-5800Pは、処理速度が相対的に低いものの、価格が圧倒的に安く(実売6~8千円程度)、関数電卓としてもプログラム電卓としてもバランスが取れた使いやすい機種です。

fx-5800P には プログラムリストを 通常の電卓モード (Comp モード) で呼び出して使えますが、fx-9860GII ではプログラムリストを表示するには一旦プログラムモードに入る必要があります。Casio Basicで作ったプログラムを日常的に使う場合は fx-5800P の方が利便性が高いことは、使ってみて分かります。fx-5800P と fx-9860GII を実際に使い比べてみると、日常使いには、バランスの良い fx-5800P が優れていると思います。

fx-9860GII
但し、プログラムの高速性やグラフィックス処理を重要と考えるなら、fx-9860GII も選択肢に入れるべきです。もし使いたい Add-in プログラムがあれば fx-9860GII が正しい選択肢となります。
例えば、当ブログで紹介している C.Basic (Casio Basic の上位互換、開発中) は fx-9860GII のアドインとして提供しているので、これが使いたいなら fx-9860GII がお勧めです。

fx-FD10 Pro
fx-FD10 Pro は、屋外使用を想定した堅牢な作りが特徴です。私自身が実機を持っていないので、取扱説明書から得られる内容から判断すると、上記の fx-5800P の使いやすさを備えていますが、実売1万6千円以上するが、Add-in プログラムが使えず Casio Basic のみが使えるので、fx-5800P と fx-9860GII の間にある機種だと感じます。従って、Casio Basic を使うのであれば、敢えて fx-FD10 Pro を選ぶよりも fx-5800P にするか、Casio Basic の上位互換の C.Basic が使える fx-9860GII を選択すべきだと思います。

fx-CG20 / CG10
fx-CG20 / CG10 は、カラー液晶が特徴で、内蔵の関数計算も高速化されています。但し、主に液晶への表示やメモリアクセス処理速度が fx-9860GII よりも遅く、Casio Basic プログラムの処理速度は fx-9860GII よりも遅くなります。さらに、オーバークロック・ツールを用いると fx-9860GII が fx-CG20 / CG10 の5倍以上高速になります。高精細カラー液晶の表示が必要だと考えるなら fx-CG20 / CG10 が良いのですが、それ以外の私なりの評価は、総合的に fx-9860GII の方が優れていると思います。

fx-CG50
fx-CG50 は、デザインや寸法が異なる以外は fx-CG20 / CG10 とほぼ同じ機能を持っていて、処理速度が向上しています。
 
 
<トップへ戻る>

Casio Basic の習得は容易

過去にPCでプログラミング経験があれば、Casio Basic はスグに使えると思います。私自身も過去にPCでのプログラミング経験があり、fx-5800P を買ってすぐにプログラミングができました。但し細かなところは取扱説明書に書かれていないので、自分で色々と調べました。その結果が当ブログです。

プログラミング経験があれは、当ブログの「Casio Basic コマンドリファレンス」、「Casio Basic入門」、「逆引き Casio Basic」を参考にすれば、すぐに使いこなせると思います。[2017/01/03 追記修正]

これからプログラミングをやってみようと思われる方の場合、新世代 Casio Basic を覚えることはPCで使う Basic 習得に有効だと思います。上で紹介した機種の中で特に fx-5800P は、ハードウェア的には最も非力ですが、最も安価で入手しやすく、さらに使いやすいので、学習用に向いています。僭越ながら、当ブログの Casio Basic 入門をほぼ理解できれば、Visual Basic の習得の敷居はかなり下がると思います。

Casio Basic のコマンドは、殆どが他のBasic と同じなので、覚えたことが将来無駄になりません。さらに必要最小限度の機能まで絞り込まれているので、覚えることが少いことが初心者向きの理由です。この点をもう少し説明してみます。

一般にプログラムを作る際、実現したい機能には無数の方法があります。無数の方法から適切な方法を選び出すことが、プログラミングの主な作業になるのですが、それは初級者には逆に習得の妨げとなります。Casio Basic は機能が少ないので、選択肢が限られます。従って、プログラミングの方法の選択で悩むことなく、必要なことを覚えやすいと言えます。色々なプログラムを作れば、効果的な反復学習になるわけです。

またコマンドが絞り込まれているので、アルゴリズムの工夫や計算式の応用で対応することになり、これも学習に向いていると考える理由の1つです。

機能が限定されていても、実用的なプログラムやゲームが作れることは、当ブログで紹介しています。実際にこれらのプログラムを作りながら、新世代 Casio Basic の良さに気付いたのです。実際に使ってみないと分からないものです。

<トップへ戻る>

fx-5800P の勧め

電卓でプログラミングを始めてみようと思う方には、私は fx-5800P を勧めます。

1.関数電卓としての fx-5800P
fx-5800Pは、関数電卓として見た場合、十分な機能を実現しています。プログラム機能の無い fx-995ES とほぼ同等の機能と操作性が有り、fx-5800P は高機能関数電卓と位置づけられます。カシオの関数電卓は電源を切ると、計算履歴もメモリの内容も全て消去されます。一方 fx-5800P は電源を切っても全てメモリに保存されたままです。これが関数電卓として fx-5800P を推奨する最大の理由です。

2.携帯型コンピュータとしての fx-5800P
携帯型コンピュータとして見た場合、手軽に実用プログラムを作れるので、パソコンでは真似のできない圧倒的な携帯性が最大の利点です。搭載されている Casio Basic は、ちょっとしたアクションゲームも作れます。実際に、fx-5800P のハードウェアの能力と Casio Basic の機能を確かめる目的で、「もぐら叩き」を作ってみました。結構遊べることが分ったので、冒頭で 『意外に良くできている』 と書きました。

3.Casio Basic
fx-5800Pに搭載されているCasio Basicは、グラフ関数電卓 fx-9860GII や fx-CG20 さらに 土木測量向けプログラム電卓 fx-FD10 pro に搭載されている Casio Basic と比べて、グラフィック機能や文字列処理、外部との通信機能を使うコマンドが省略されていますが、それ以外の機能は同じです。そして、fx-5800Pで作った Caso Basic プログラムは、上位機種への移植性が高いことは確認済みです。

<トップへ戻る>

Casio Basic を勧める背景

新世代 Casio Basic 搭載のプログラム電卓を勧めるには、いくつかの背景があります。

1. パソコンと同様な機能を求めない
パソコンでできることはパソコンでやれば良い。それをわざわざ電卓でプログラムを作る必要はありません。


2. サッと取り出し、パッと使える
必要な場所で、必要なタイミングで、上着やかばんのポケットからサッと出して、スグ使うのはパソコンでは絶対に出来ません。プログラムを作るだけで自分専用のオリジナル関数電卓が手に入ります。今や電卓は誰でも1台は持っている文房具です。プログラムを書くことで自分専用の機能にカスタマイズした文房具が手に入ります。


3. プログラムを簡単に作れる
ゲーム繰返し技術計算金融計算その他お金の計算単位や年月の換算時差計算 など作っておくと便利なプログラムが多くあります。自分に必要なプログラムを予め作っておくと、プログラム電卓のメリットは絶大です。

関数電卓の各種関数キーが[SHIFT]キーなどと併用しないと使えない(裏機能などと言われます)のは、2ステップキータッチが必要で効率が悪いとの評価基準があります(関数電卓マニアの部屋)。学生への関数電卓選びのガイダンスとしては、教育的配慮を斟酌すれば、私も100%同意するところです。しかし、この主張を金科玉条の如く受け売りする気になれないのも正直なところです。

実際に何度もキーを叩いて繰り返し計算を行う際には、プログラムを作ったり、数式記憶機能を使えば良いわけです。

道具は相応しい目的で正しく使えば良い。幸なことにfxー5800Pは、今や新品でも6000円程度で買えるので、2000円から3000円で関数電卓を買う変わりに、プログラム関数電卓を買うメリットを十分に感じる人は非常に多く居るはずです。ここでは、簡単なプログラミング・スキルがあれば良く、幸いなことにBasicを搭載しています。


4. 上位機へのプログラム互換性
高価で高機能なグラフ関数電卓や土木測量専業電卓への移植性が高いことは重要です。

fx-5800Pのハードウェア仕様に依存した部分を除けば、互換性、移植性が高いので、1からプログラムを作り直す手間はありません。上位機種を入手して、そこへfx-5800P のプログラムを容易に移植できるのは、Casio Basicの大きな利点です。

なお、カシオのグラフ電卓には、C、Lua、Python といった言語の開発環境(公式や非公式を含む)もあり、Casio Basic のプログラムを移植せずに別の言語でプログラミングする選択肢もあります。

fx-5800P の Casio Basicプログラムの fx-9860GII や fx-CG20 への移植をいくつか行いましたが、機種のハードウェアに依存するコマンド (GetkeyLocate)、旧来の命令 (出力命令 ◢ 、" "、入力命令 ? など) の動作の違いに適切に対処し、配列変数を行列やリストに置き換えれば、他の Basic コマンド類は互換性があります。


5. グラフ機能の優先度は低い
パソコンでできることはパソコンを利用する...と考えれば、プログラム電卓にグラフ機能は必ずしも必要ではないと思います。グラフィックスを利用したプログラムを電卓で使いたい場合は fx-9860GII のようなグラフ関数電卓を利用でき、Windows プログラミングよりは Casio Basic の方がプログラミングは遙かに楽です。

ゲームではなく、実用面からグラフ描画機能が欲しいと言う場合もあるでしょう。例えば、実験をしながらグラフを書くのは大変重要なことです。しかしそのために、プログラム電卓でわざわざプログラムを書く必要はあるでしょうか?
パソコンでエクセルを使えば、簡単にグラフを書けます。報告書、レポート、論文を書くのに最近ではエクセルのグラフが普通に使われているわけで、それなら最初からエクセルを使えば良いと思います。

私は、実用を強く意識して fx-5800P を使っていますが、グラフ機能がことさら必要だと思うことは殆どありません。本当に必要なら fx-9860GII などのグラフ関数電卓で、ブラフ表示をプログラミング可能です。しかし、正直に言えば グラフ機能の無い fx-5800P で十分に実用的なプログラムを作って、利用できます。

敢えて言えば、適材適所でしょう。そして Casio Basic 搭載機のなかでも fx-5800P は、プログラム利用の利便性が高く、小型軽量で、グラフ関数電卓よりもプログラム入力が格段に楽で、電池の持ちも長く、ハードウェアとソフトウェアのバランスが良いことは間違いありません。処理速度の遅い fx-5800P でも工夫次第で実用プログラムを作成できるので、プログラミング自体も楽しくなってきます。当ブログでは、その工夫について多く取り上げています。


6. 最も簡単にプログラミングできる携帯機器
Casio Basicを使うのなら、電卓本体のみでプログラミングできるので、いつでもどこでもプログラムを作れます。そして自分だけの付加機能を、恐らく最も簡単に追加できる携帯機器がプログラム電卓です。オリジナルプログラムを作りそれを使う楽しみと利便性があります。

<トップへ戻る>

fx-5800P の利点と弱点

fx-5800P は、新世代Casio Basic を搭載している点に最大の価値があり、同時に関数電卓としても使いやすい点が評価できます。関数電卓としてみた場合は、グラフ関数電卓 fx-9860GII よりも fx-5800P の方が必要な機能へのアクセスが速いので、使いやすいでしょう。しかしプログラミング時の使いやすさの点では fx-5800P が最も優れています。

fx-5800P のもう1つの利点は価格で、他の機種に比べて圧倒的に安価です。

要するに fx-5800P は、非常にバランスの良い製品と言えます。

fx-5800P に対する唯一にして最大の弱点は、プログラムコードのバックアップややりとりをパソコンとの間で行えるPCリンク機能が用意されていない点にあります。少なくとも fx-5800P 同志のプログラムデータのやりとりはできるので、外付けの3Pin - USB アダプタと対応ソフトウェアを発売して頂ければ実現するはずです。カシオ製でなく、サードパーティーでも良いのです。

PCとリンクしてプログラムを転送する機能の実現は、是非ともお願いしたい。

私の場合は仕事などで実用プログラムを作って、毎日のように使っていますので、電子データのバックアップ機能がどうしても欲しくなり、2台目の fx-5800p と専用通信ケーブル (SB-62)を購入しバックアップしています。なお、グラフ関数電卓を購入すれは、通信ケーブル(SB-62)は付属しているので、fx-5800P のために新たに購入する必要はありません。

[2017/08/18 追記] 最近はグラフ関数電卓に 3Pin ケーブルが付属していません。別途購入する必要があります。

[2017/09/28 追記] 2017年10月から国内販売される fx-CG50 には 3Pinケーブルが付属します。

[2018/02/26 追記] ついに fx-5800P のPCリンクが可能になりました ⇒ こちらの記事


<トップへ戻る>

Casio Basic の使いこなし

fx-5800P 搭載の Casio Basic は、使いこなしてみて初めてその価値が分かると思います。PCで一定以上のプログラミング経験があれば、この新世代 Casio Basicが構造化BASIC であることがすぐに分かると思います。カシオ自身がこの Casio Basic に関する情報発信を殆ど行っていないので、当ブログでは Casio Basic の使いこなしについて、異なる3つの切り口で紹介しています。

CasioBasic入門 / 目次
じっくりと読みながらプログラムを入力して Casio Basicの使いこなしやプログラムの作り方を修得する。題材のプログラムは、ある程度の完成度があり、実用的に使えるレベルになっている(と思う...)。

CasioBasic コマンドリファレンス 目次
Casio Basic のコマンドや命令を、出来るだけ詳しく調べた結果に基づいて解説している(抜けが無いことを祈るばかり...)。

逆引き Casio Basic 目次
Casio Basic で何か実現したいこと、やりたいことに対して、ピンポイントで実現方法、サンプルプログラム、考え方を紹介している(思いついたことから順次拡充中...)。

<トップへ戻る>



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





keywords: fx-5800PCasioBasicプログラム関数電卓

リンク集 | ブログ内マップ

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

コマンドリファレンス - Casio Basicプログラミング

Casio Basicプログラミング - コマンドリファレンス・トップ
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/01/09
追記修正 2018/01/28


純正Casio Basic と C.Basic に共通のコマンドがあり、C.Basic で純正コマンドを拡張したものがあり、さらに C.Basic 独自のコマンドがある。

入力コマンド


出力コマンド
 [純正 / C.Basic] [FX / CG] Menu

制御コマンド
 [純正 / C.Basic] [5800 / FX / CG] If ステートメント
 [純正 / C.Basic] [5800 / FX / CG] For ステートメント
 [純正 / C.Basic] [5800 / FX / CG] While ステートメント
 [純正 / C.Basic] [5800 / FX / CG] Do ステートメント
 [純正 / C.Basic] [5800 / FX / CG] Prog
 [純正 / C.Basic] [5800 / FX / CG] Return
 [純正 / C.Basic] [5800 / FX / CG] Break
 [純正 / C.Basic] [5800 / FX / CG] Stop

 [C.Basic] [FX / CG] Switch ステートメント
 [C.Basic] [FX / CG] ElseIf
 [C.Basic] [FX / CG] Gosub



 [C.Basic] [FX / CG] Local
 [C.Basic] [FX / CG] ACBreak

文字列
 [純正 / C.Basic] [FX / CG] + (文字列結合)
 [純正 / C.Basic] [FX / CG] StrJoin( 
 [純正 / C.Basic] [FX / CG] StrLen(
 [純正 / C.Basic] [FX / CG] 
StrCmp(
 [純正 / C.Basic] [FX / CG] StrSrc(
 [純正 / C.Basic] [FX / CG] StrLeft(
 [純正 / C.Basic] [FX / CG] StrRight(
 [純正 / C.Basic] [FX / CG] 
StrMid(
 [純正 / C.Basic] [FX / CG] Exp▸Str(
 [純正 / C.Basic] [FX / CG] Exp(
 [純正 / C.Basic] [FX / CG] StrUpr(
 [純正 / C.Basic] [FX / CG] StrLwr(
 [純正 / C.Basic] [FX / CG] StrInv(
 [純正 / C.Basic] [FX / CG] StrShift(
 [純正 / C.Basic] [FX / CG] StrRotate(

 [C.Basic] [FX / CG] ToStr(
 [C.Basic] [FX / CG] StrChar(
 [C.Basic] [FX / CG] StrCenter(
 [C.Basic] [FX / CG] Hex(
 [C.Basic] [FX / CG] Bin(
 [C.Basic] [FX / CG] StrRepl(
 [C.Basic] [FX / CG] 
Sprintf(
 [C.Basic] [FX / CG] 
文字列変数 Str

座標変換
 [純正 / C.Basic] [FX / CG] Pol( / Rec(

グラフィックス


行列





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







keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング

リンク集 | ブログ内マップ




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

StrUpr( - コマンドリファレンス

Casio Basicプログラミング - コマンドリファレンス
<コマンドリファレンス・トップ>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/01/28

[純正 / C.Basic] [FX / CG]


StrUpr(




文字列を全て大文字に変換し、文字列として返す。

(書式) StrLwrt("<文字列>")
"<文字列>" に含まれる小文字を大文字に変換し、文字列として返す。

※最大文字列長は、純正Casio Basic の999に対してC.Basic は255となっている点に注意。

(キープレス) [SHIFT]-[VARS](PRGM) [F6](▷) [F6](▷) [F1](STR) [F6](▷) [F6](▷) [F1](UprLwr)

(例)
 StrUpr("ABcd123#√uvXYZ")→Str 1
※ "ABCG123#√UVXYZ" がStr 1 に代入される。

(例)
 "Casio Basic"→Str 1
   Locate 1,1,StrUpr(Str 1)
※ テキスト座標 (1, 1) に "CASIO BASIC" を出力する。

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







keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング





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

StrLwr( - コマンドリファレンス

Casio Basicプログラミング - コマンドリファレンス
<コマンドリファレンス・トップ>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/01/28

[純正 / C.Basic] [FX / CG]


StrLwr(




文字列を全て小文字に変換し、文字列として返す。

(書式) StrLwrt("<文字列>")
"<文字列>" に含まれる大文字を小文字に変換し、文字列として返す。

※最大文字列長は、純正Casio Basic の999に対してC.Basic は255となっている点に注意。

(キープレス) [SHIFT]-[VARS](PRGM) [F6](▷) [F6](▷) [F1](STR) [F6](▷) [F6](▷) [F2](Lwr)

(例)
 StrLwr("ABcd123#√uvXYZ")→Str 1
※ "abcd123#√uvxyz" がStr 1 に代入される。

(例)
 "Casio Basic"→Str 1
   Locate 1,1,StrLwr(Str 1)
※ テキスト座標 (1, 1) に "casio basic" を出力する。



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







keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング





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

StrLen( - コマンドリファレンス

Casio Basicプログラミング - コマンドリファレンス
<コマンドリファレンス・トップ>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/01/28

[純正 / C.Basic] [FX / CG]


StrLen(




文字列の文字数 (長さ) を返す。

(書式) StrLen("<文字列>")
"<文字列>" の文字数を返す。

※ 最大文字列長は、純正Casio Basic の999に対してC.Basic は255となっている点に注意。

(キープレス) [SHIFT]-[VARS](PRGM) [F6](▷) [F6](▷) [F1](STR) [F2](Len)

(例)
 StrLen("ABCDEF")→N
※ "ABCDEF" の文字数6が N に代入される。

(例)
 "Casio Basic"→Str 1
   Locate 1,1,StrLen(Str 1)
※ テキスト座標 (1, 1) に "Casio Basic" の文字数11を出力する。

(例)
 "NAME"?→Str 1
   "YOU ARE "+Str 1→Str 1
   Locate 22-StrLen(Str 1),3,Str1
※ 名前を入力させ Str 1 に一旦格納後、名前の前に YOU ARE を付加してStr 1 に格納。
※ Str 1 の長さから、右寄せで出力するための桁 (テキスト座標のY値) は 22-StrLen(Str 1) なので、
  これを用いて、Locate コマンドで YOU ARE xxx を右寄せで出力する。




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







keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング





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

StrRight( - コマンドリファレンス

Casio Basicプログラミング - コマンドリファレンス
<コマンドリファレンス・トップ>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/01/28

[純正 / C.Basic] [FX / CG]


StrRight(




文字列の右から所定の文字数だけ抜き出し、文字列として返す。

(書式) StrRight("<文字列>",n)
"<文字列>" の右端から n文字抜き出したものを文字列として返す。

※最大文字列長は、純正Casio Basic の999に対してC.Basic は255となっている点に注意。

(キープレス) [SHIFT]-[VARS](PRGM) [F6](▷) [F6](▷) [F1](STR) [F6](▷) [F2](Right)

(例)
 StrRight("UVXYZ",3)→Str 1
※ "XYZ" がStr 1 に代入される。

(例)
 "Casio Basic"→Str 1
   Locate 1,1,StrRight(Str 1,5)
※ テキスト座標 (1, 1) に "Basic" を出力する。



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







keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング





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

StrLeft( - コマンドリファレンス

Casio Basicプログラミング - コマンドリファレンス
<コマンドリファレンス・トップ>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/01/28

[純正 / C.Basic] [FX / CG]


StrLeft(




文字列の左から所定の文字数だけ抜き出し、文字列として返す。

(書式) StrLeft("<文字列>",n)
"<文字列>" の左端から n文字抜き出したものを文字列として返す。

※ 最大文字列長は、純正Casio Basic の999に対してC.Basic は255となっている点に注意。

(キープレス) [SHIFT]-[VARS](PRGM) [F6](▷) [F6](▷) [F1](STR) [F6](▷) [F1](Left)

(例)
 StrLeft("ABCDEF",4)→Str 1
※ "ABCD" がStr 1 に代入される。

(例)
 "Casio Basic"→Str 1
   Locate 1,1,StrLeft(Str 1,5)
※ テキスト座標 (1, 1) に "Casio" を出力する。

(例)
 "123456789ABCDEF"→Str 1
   StrLeft(Str 1,11)→Str 1
※ Str 1 が "123456789AB" になる。




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







keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング





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

+ (文字列結合) - コマンドリファレンス

Casio Basicプログラミング - コマンドリファレンス
<コマンドリファレンス・トップ>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2018/01/27

[純正 / C.Basic] [FX / CG]


+ (文字列結合)




文字列を結合する。

(書式) "<文字列1>"+"<文字列2>"[+"<文字列3>"[+...+"<文字列n>"]]
"<文字列1>" の右に "<文字列2>"、その右に "<文字列3>"、... "<文字列n>" を結合する。

※ 最大文字列長は、純正Casio Basic の999に対してC.Basic は255となっている点に注意。

(キープレス) [+]

(例)
 "ABC"+"DEF"→Str 1
※ "ABCDEF" がStr 1 に代入される。

(例)
 "Casio "→Str 1
   "Basic"→Str 2
   Locate 1,1,Str 1+Str 2
※ テキスト座標 (1, 1) に "Casio Basic" を出力する。

(例)
 "GHI"→Str 1
   "ABC"+"DEF"+Str 1→Str 1
※ Str 1 が "ABCDEFGHI" になる。




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







keywords: プログラム関数電卓、Casio Basic、C.Basic、プログラミング





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

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

やす (Krtyski)

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


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

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

なお管理人はカシオ計算機の関係者ではなく、Casio Basicが面白いと感じる1ユーザーです。

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


人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

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

この人とブロともになる

QRコード
QR