プログラムライブラリ - TimeZone

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

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

最終更新:
2022/05/03

Time Zone (2022年版)

2022年のヨーロッパ・北米夏時間に対応 [2021/05/03]
※ プログラム改善: >>>> 表示で何も入力せず確定時、値が 0 に変更されていたのを変更しないように改善した [2017/08/14]


著作権者

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



対応機種

  1. Casio fx-9750GIII, fx-9860Gシリーズ (G, GII, GIII) で動作する純正Casio Basic および C.Basic for FX 用
    g1mプログラムファイルのダウンロード
  2. Casio fx-CGシリーズ で動作する純正Casio Basic および C.Basic for CG 用
    (fx-FD10 Pro の純正Casio Basicでも動作すると思われます)
    g3mプログラムファイルのダウンロード
  3. Casio fx-7400GIII で走る純正 Casio Basic 用
    (他のグラフ関数電卓よりも機能制限されている fx-7400GIII の Casio Basic に対応したもの)
    fx-7400GIII専用 g1mプログラムファイルのダウンロード
Casio fx-5800P 用は こちら



プログラムの説明

TimeZonefx-5800P用に作成したプログラムを移植したものです。プログラム作成方法については Casio Basic 入門をご覧下さい。

TimeZone は、日本、ヨーロッパ、北米での同じ時間を表示します。その際、タイムゾーンや夏時間を考慮した時間を計算します。

具体的には、3カ所のうち、どこか一カ所の時間を入力すると、時差を計算して他の二カ所の時間を表示するプログラムです。

例えば、日本、ドイツ、モントリオールの3カ所から接続して電話会議を行う時に、それぞれが夜中にならないように時間を決める時などに役立ちます。

2022年の夏時間は、
 ・ヨーロッパは、3月27日午前1時 ~ 10月30日午前1時
 ・北米は、3月13日 午前2時 ~ 11月6日午前2時
となります。
TimeZone では、
 ・ヨーロッパは、3月27日 ~ 10月29日
 ・北米は、3月13日 ~ 11月5日
としています。

夏時間開始と終了の日付の情報が、サブルーチンファイル TZS 内に記載されているので、このファイルのみを書き換えるか更新すれば、2022年対応ができます。

本プログラムでは、以下のタイムゾーンや夏時間の設定が行えます。

- 日本
 JST: 日本標準時間

- ヨーロッパ
 WET: 西ヨーロッパ標準時間
 CET: 中央ヨーロッパ標準時間
 EET: 東ヨーロッパ標準時間
 FET: 極東ヨーロッパ時間

 WEST: 西ヨーロッパ夏時間
 CEST: 中央ヨーロッパ夏時間
 EEST: 東ヨーロッパ夏時間
 FEST: 極東ヨーロッパ夏時間
EU-TZ 

- 北米(アメリカ、カナダ)
 PST: 太平洋標準時間
 MST: 山岳部標準時間
 CST: 中部標準時間
 EST: 東部標準時間

 PDT: 太平洋夏時間
 MDT: 山岳部夏時間
 CDT: 中部夏時間
 EDT: 東部夏時間

US-TZ 



プログラムの使い方

0:JST - 
日本時間 の入力と表示
       [0] キー: 日本時間入力

1:CET - ヨーロッパ時間の入力と表示
       [1] キー:    ヨーロッパ時間入力
       [1] キー長押し: ヨーロッパ内のタイムゾーン設定
       [3] キー:    ヨーロッパの夏時間ON/OFF
       [3] キー長押し: 夏時間の期間を表示
     
2:EDT
- 北米時間の入力と表示
       [2] キー:    北米時間入力
       [2] キー長押し: 北米内のタイムゾーン設定
       [4] キー:    北米の夏時間ON/OFF 
       [4] キー長押し: 夏時間の時間を表示

[3] キー、[4] キー長押しで表示される夏時間について:
夏時間の開始と終了は、午前1時や午前2時などの深夜0次に近い時間設定になっています。本プログラムでは、これらの深夜の時間を午前零時に読み替えて、キリのよい日付を夏時間の句切りの日として扱っています。午前零時から実際の句切りの時間までは、1時間~2時間のズレがありますが、寝静まっている時間帯なので現実的には問題ないと思います。この点は留意してください。



プログラムの構成

メインプログラム: TIMEZONE
サブルーチン: TZCTZDTZMTZS、TZL
入力ボックス: INPI



プログラムファイル - TIMEZONE

※ fx-9750GIII、fx-9860Gシリーズ、fx-CGシリーズ の純正Casio Basic ならびに C.Basic、そして fx-7400GIII の純正Casio Basic で動作します。

fx-9860G/GII、fx-CG10/CG20/CG50、そして fx-7400GIII 専用の入力ボックス INPI がそれぞれ必要です。

  • TIMEZONE には、入力ボックス INPI が必要です(ダウンロードファイルに含めています)。
  • g1m プログラムファイルは fx-9860GII あるいは fx-7400GIII 用ですが、変更せずそのまま fx-CGシリーズに転送すると正常動作します。但し fx-CGシリーズに転送後自動的にg3m プログラムファイルに変換されます。
  • サブルーチン TZL は、C.Basic で使用するものです。但し純正Casio Basic では実行が無視されるので転送しても問題ありません。
  • メインルーチン TIMEZONE の1行目の 300→L はキー長押し時間を決める。長押しと認識するまでの時間を短くするにはこの数値を小さくする。長くするには数値を大きくする。
  • C.Basic では 現在設定されている実際の実行速度に対応して サブルーチン TZL で長押し時間を自動調整しているので、1行目での長押し時間の設定は動作に影響しない。これは特にオーバクロック時に有効。
  • ヨーロッパと北米の夏時間期間表示は、サブルーチン TZS にある。2022年の夏時間に対応した変更を行っている。 



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


     


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

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


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

fx-5800P プログラムライブラリ - Time Zone

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

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

最終更新:
2022/05/03

Time Zone (2022年版)

※ CcLinkerでfx-5800Pに転送できる CCLファイルのダウンロードができます
2022年のヨーロッパ・北米夏時間に対応 [2022/05/03]
※※ プログラム改善: >>>> 表示で何も入力せず確定時、値が 0 に変更されていたのを変更しないように改善 [2017/08/14] 


著作権者

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



対応機種

Casio fx-5800P 専用
Casio fx-9860G / fx-9860GII シリーズ、fx-CG10、fx-CG20、fx-CG50 用は こちら



プログラムの説明

TimeZone の作成方法は Casio Basic 入門をご覧下さい。

Time Zone は、日本、ヨーロッパ、北米での同じ時間を表示します。その際、タイムゾーンや夏時間を考慮した時間を計算します。

具体的には、3カ所のうち、どこか一カ所の時間を入力すると、時差を計算して他の二カ所の時間を表示するプログラムです。

例えば、日本、ドイツ、モントリオールの3カ所から接続して電話会議を行う時に、それぞれが夜中にならないように時間を決める時などに役立ちます。

2022年の夏時間期間:
 ・ヨーロッパ: 3月27日 午前1時 ~ 10月30日午前1時
 ・北米:3月13日午前2時 ~ 11月6日午前2時
TimeZoneでは、
 ・ヨーロッパ:3月27日 ~ 10月29日
 ・北米:3月13日 ~ 11月5日
としています。

以下のタイムゾーンや夏時間の設定が行えます。

- 日本
 JST: 日本標準時間

- ヨーロッパ
 WET: 西ヨーロッパ標準時間
 CET: 中央ヨーロッパ標準時間
 EET: 東ヨーロッパ標準時間
 FET: 極東ヨーロッパ時間

 WEST: 西ヨーロッパ夏時間
 CEST: 中央ヨーロッパ夏時間
 EEST: 東ヨーロッパ夏時間
 FEST: 極東ヨーロッパ夏時間
EU-TZ 

- 北米(アメリカ、カナダ)
 PST: 太平洋標準時間
 MST: 山岳部標準時間
 CST: 中部標準時間
 EST: 東部標準時間

 PDT: 太平洋夏時間
 MDT: 山岳部夏時間
 CDT: 中部夏時間
 EDT: 東部夏時間

US-TZ 



プログラムの使い方

0:JST - 日本時間 の入力と表示
       [0] キー: 日本時間入力

1:CET - ヨーロッパ時間の入力と表示
       [1] キー:    ヨーロッパ時間入力
       [1] キー長押し: ヨーロッパ内のタイムゾーン設定
       [3] キー:    ヨーロッパの夏時間ON/OFF
       [3] キー長押し: 夏時間の期間を表示
     
2:EDT
- 北米時間の入力と表示
       [2] キー:    北米時間入力
       [2] キー長押し: 北米内のタイムゾーン設定
       [4] キー:    北米の夏時間ON/OFF 
       [4] キー長押し: 夏時間の時間を表示

[3] キー、[4] キー長押しで表示される夏時間について:
(2022年版) 夏時間の開始と終了は、ヨーロッパでは午前1時、北米では午前2時となっています。本プログラムでは、夏時間終了日を実際の設定日の前日を表示するようにしています。終了設定日の午前0時から午前1時 / 午前2時までの時間帯は、本来まだ夏時間のままですが、寝静まっている時間帯なので無視しています。現実的には問題ないと思いますが、留意してください。
夏時間の設定は、サブルーチン TZS に記述しており、これを変更して対応します。


プログラムの構成

メインプログラム: TIMEZONE
サブルーチン: TZCTZDTZMTZS
入力ボックス: INPI



プログラムファイルのダウンロード

CcLinker で fx-5800P に転送できるCCLファイルのダウンロー
  ※ 上記6つのプログラムファイルに対応するCCLファイルが含まれます。
  CcLinkerの紹介

※ fx-5800P でのみ動作します。
fx-5800P 用入力ボックス INPI が必要です。
2022年版対応は、TSZ のみの更新です。






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


 


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

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


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

プログラムライブラリ - 目次 -

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


カシオの fx-5800P を中心に、fx-9860GII (5800Pより大画面、モノクロ) や fx-CG20 / fx-CG50 (5800Pより大画面、カラー) 向けのプログラム集です。本ブログで掲載している種々のプログラムを、まだ全て収録してはいませんが、徐々に拡充してゆきます。

fx-FD10 Pro では、fx-9860GII 用純正Casio Basicプログラムは動作するはずですが、アドインが使えない仕様なのでC.Basicのインストールができず、従って C.Basic専用プログラムは動作しないと思われます。

※適用環境と機種を示す略号の説明
  • [5800P] :  fx-5800Pで動作可能
  • [FX]:fx-9860Gシリーズで動作可能
  • [CG]:fx-CGシリーズで動作可能
  • [Casio Basic]:純正Casio Basicで動作可能
  • [C.Basic]:C.Basicで動作可能
  • [Python]:Pythonモードで動作可能

Program Library in English



1. プログラミングツール

  ⇒ キーコード取得 [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ RGB指定による色確認プログラム [C.Basic] [CG]

  
OS内蔵ファンクションメニュー番号探索 [C.Basic] [FX / CG]


2. 数学 / 理工

  ⇒ ピタゴラス数 

  ⇒ 高速素因数分解 [Casio Basic / C.Basic / Python] [5800P / FX / CG]

  ⇒ モンテカルロ法による円周率の計算

  ⇒ 圧力換算 [Casio Basic] [5800P]

  ⇒ 圧力換算 (fx-9860GII、fx-CG20 / CG50) [Casio Basic / C.Basic] [FX / CG]


3. 実用

  ⇒ 世界の時差換算 - Time Zone [Casio Basic] [5800P]

  ⇒ 世界の時差換算 - TimeZone [Casio Basic / C.Basic] [FX / CG]

  ⇒ 複利計算プログラム - CompInt [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ 西暦-和暦 換算プログラム - YearConv 2.1 [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ 日本語版 西暦-和暦 監査プログラム - YearConv 3.1 [C.Basic for CG] [CG]


4. ゲーム

  ⇒ もぐら叩き [Casio Basic] [5800P]

  ⇒ もぐら叩き [Casio Basic / C.Basic] [FX]

  ⇒ もぐら叩き [Casio Basic / C.Basic] [CG]

  ⇒ Hit & Blow 数当てゲーム [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ マスターマインド Ver. 4 - モノクロ版 [Casio Basic / C.Basic] [FX]

  ⇒ マスターマインド Ver. 4 - カラー版 [Casio Basic / C.Basic] [CG]

  ⇒ ライフゲーム (Conway's Game of Life) [C.Basic] [FX \ CG]


5. 汎用サブルーチン

  ⇒ 入力ボックス 2.0 / 2.1 [Casio Basic] [5800P]

  ⇒ 入力ボックス 2.1G [Casio Basic / C.Basic] [FX / CG]

  ⇒ 3桁区切り出力 (汎用サブルーチン) [Casio Basic / C.Basic] [5800P / FX/ CG]





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


 




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

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

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

ライフゲーム (Conway's Game of Life)

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

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

2022/02/19


ライフゲーム (Conway's Game of Life)
Casio 電卓で走る高速ライフゲーム・プログラム - モノクロ液晶モデル と カラー液晶モデルに対応



著作権者

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



対応言語と対応機種

  プログラミング言語   機 種
C.Basic       - fx-9860G / fx-9860G Slim / fx-9860GII / fx-9860GIII / fx-9750GIII
             - fx-CG10 / fx-CG20 / fx-CG50



プログラムのダウンロード

 ▍C.Basic 専用ライフゲーム・プログラム

  ▶ 通常版 Ver 2.45 - LIFE245

   高速版 Ver 2.45F - LIFE245F   



 ▍C.Basic

  モノクロ液晶モデル用とカラー液晶モデル用の2バージョンがあります。
   fx-9860G / fx-9860GII / fx-9860GIII / fx-9750GIII 用 C.Basic for FX
   fx-CG10 / fx-CG20 / fx-CG50 用 C.Basic fo CG

   C.Basic のダウンロード


 ▍チューンアップツール

  電卓の実行速度を向上させるツールです。モデルに応じて適切なバージョンをインストールする必要があります。
  確実に対応しているバージョンをインストールしてください (自己責任です)。

   チューンアップツールのダウンロード



プログラムの説明

  プログラムの説明

  ライフゲーム自体の説明

C.Basic は純正 Casio Basic の上位互換であり、拡張コマンドや独自の言語機能があります。

ビットマップを素早く更新するようなプログラムを純正Casio Basic で作ろうと考えるのは無謀なことです。しかし C.Basic を使えば、高速ビットマップ更新が可能で、現実的な描画速度でライフゲームを作れます。


fx-9750GIII での実行例 - 517世代までの実行時間: 59.4秒

  LIFE245 (Ver 2.45) を実行
  Ftune3 で 235.9MHz にチューンアップ
  C.Basic for FX Ver 2.45 build 20 以降のバージョンを推奨

=====

ライフゲーム のパターンを1世代更新する処理部分を、ネイティブコードの関数 "DotLife()" に置き換えて実行したのが以下の動画です。 


fx-9750GIII での実行例 - 517世代までの実行時間: 7.0秒

  LIFE245F (Ver 2.45F) を実行
  Ftune3 で 235.9MHz にチューンアップ
  C.Basic for FX Ver 2.45 build 20 以降のバージョンを推奨







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


 


keywords: CasioBasic、プログラムライブラリプログラム関数電卓、3桁区切り出力、汎用サブルーチン

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


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

1984年の折りたたみソーラー電卓 - SL-100

楽 屋 裏
e-Gadget


2022/02/11



1984年発売の折りたたみ・ソーラー電卓 - SL-110

 SL110

家の片付けで古いものを収納した箱を久しぶりに開けたら、古い電卓が出てきました。自分で買ったものではなく、親か親戚から譲り受けて、そのままになっていたものです。

SL110_Folded

金色の CASIO のロゴが残っているので、そもそも殆ど使われていないようです。

茶色の合成皮革は、ワレもなく柔軟なままです。

1984年に発売されていた製品で、FX-602P が発売されていた時代です。所有している FX-602P の手帳型カバーもワレがなく柔軟なままです。この時代のカシオの電卓の素材品質が高かったようです。


SL110_Package_1 SL110_Package_2

箱に収まって見つかった電卓ですが、箱にはベスト電器の値札が貼ってあります。残念ながら値段は消えてしまって見えません。英語表記のパッケージを見れば並行輸入品だと判ります。


SL110_Solar_Display SL110_Rubber_KeyTop

アモルファスシリコンの太陽電池のみで動作します。暗めの部屋でも問題なく使えます。

「敏感50ルックス、10桁」と印刷されたステッカーが貼られたままなのは、元所有者の性格が反映しているのでしょうか?
このことから、元所有者が誰なのか想像できたりします(草)

液晶は、3桁区切り付き、10桁表示です。

液晶の右側には、F / CUT / 5/4 の切替スイッチがあり、浮動小数点 / 切り捨て / 四捨五入 を切り替えます。

キートップはゴム製で、手触りが良いです。

キーロールオーバー (入力時、キーから指を離す前に次のキーを押しはじめてもしっかり認識する機能) はありません。さすがに 1984年の電卓では、まだ対応していません。


SL110_Calc_Manual

取扱説明書も付いていて、紙の端が折れたりしておらず、きれいなものです。

SL-1101984年のグッドデザイン賞を受賞しています。

1984年3月
のカタログでは、SL-110 ¥5,800 となっています。

SL110_Cat_2




この時期は、2つ折りタイプが豊富にありました。

SL100_Cata_s





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


 


keywords: プログラム関数電卓、fx-CG50

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

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

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 の記法は、最近の一般的な 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桁区切り記号の実装が期待される。
[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言語仕様プログラミング入門プログラム関数電卓

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

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

Casio Basic入門2

Casio Basic入門
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します.
最終:2021/06/24


3. fx-5800P CasioBasicの コマンド一覧

fx-5800P Casio Basic の主なコマンド

(1) 入力
 ・入力命令:?
 ・Getkey

(2) 出力
 ・出力命令:
 ・文字列出力: "   "
 ・Cls
 ・Locate

(3) 代入
 ・代入:

(4) ジャンプ
 ・Goto / Lbl 
 ・Dsz / Isz 
 ・ 

(5) 条件分岐
 ・If 文: If ~ Then ~ Else ~ IfEnd 

(6) ループ(繰返し)
 ・Goto / Lbl
 ・Do 文: Do ~ LpWhile 
 ・While 文: While ~ WhileEnd 
 ・For 文: For ~ To (~ Step) ~ Next 

(7) 関係演算
 ・= / / > / / < /

(8) 論理演算
 ・And / Or / Not

(9) 配列変数
 ・Z[ ]

(10) リスト
 ・List

(11) 行列
 ・MAT
 ・det( )
 ・Trn( )
 ・MAT A-1
 など

(12) 実行制御コマンド
 ・Prog
 ・Break
 ・Return
 ・Stop

(13) 各種関数
 ・Int( ) / Frac( )
 ・log( )
 など

(14) 出力設定コマンド
 ・EngOn / EngOff
 ・Norm / Fix / Sci
 など


※ CasioBasic 特有のものは、入力:?出力:代入:ジャンプ命令:Dsz / Isz / ⇒ です。これらの中で、特にジャンプ命令は、非常に利用価値の高いものです。


さて、多くのプログラミング言語と比較すると、カシオのプログラム電卓の CasioBasic は、覚えるべき項目が少ないのが利点です。一般的にパソコンでプログラミングを覚えるには、WindowsなどのOSの動作に関する知識、APIやMFC、様々な機能の多層構造などを知らなくてはなりません。プログラミングの本質を覚える前にギブアップとなりやすいと思います。

Casio Basic は敷居の低いプログラミング言語です。

[2021/06/24 追記修正]
いくつかのグラフ関数電卓を入手し、これらの Casio Basic についても調べています。機種が異なっても、ハードウェアの違いに伴うコマンドの違いは僅かです。グラフィックスに関しては、モノクロ液晶搭載グラフ関数電卓について詳しく調べて Casio Baisc入門 G01~G14 で紹介しています。そして、カラー高精細液晶搭載の fx-CG50  までを含めて Casio Basic の互換性について調べました。

Casio Basic - 機種別の互換性

これを見て改めて思うことは、機種間の互換性がかなりのレベルで保たれていることです。Casio Basic 入門には 価格面で入手し易い fx-5800P や fx-9750GIII が適していると思います。携帯性と関数電卓としての使いやすさの fx-5800P か 機能と処理速度の fx-9750GIII (マニュアルは英文のみ、但し fx-9860GII の日本語マニュアルがほぼそのまま使える) かで選択してください。

グラフィックスまでまで含めたプログラミングを楽しむのならば、現状では実質購入総額で 1万円を切っている fx-9750GIII も入門機として良いかも知れません。但し高精細カラー液晶を搭載し1万円程度で入手可能な fx-CG50 はお勧めです。

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


「CasioBasic入門」では、実際にプログラムを作りながら、多くのコマンド類を解説しています。作って面白く、ある程度実用的なプログラムを題材に取り上げていると思います。基本は fx-5800P 向けの内容ですが、グラフ関数電卓への移植についても触れています。


Casio Basic 入門と並行して、コマンドリファレンスも作っています。

⇒ CasioBasicコマンドリファレンス: 目次 (随時拡充中)

当初 fx-5800P 向けに書いていますが、グラフ関数卓電卓への適用についても、順次付記してゆきます。




4. CasioBasicを使ってみる

実際に手を動かしてプログラムを作ってみることが、プログラミングのスタートです。そして、正しく動作する簡単なプログラムを改良することが、プログラミング習得の最短の道だと思います。

そこで、実際にプログラムを一緒に作りながら、ゆっくりと確実に進めてゆきます。



Chapter 0
プログラム作成・実行の操作ポイント

多くの場合、電源を入れると以下のCOMPモードの画面になります。

Compモード 

fx-5800P は電源を切った時の状態が保存され、次に電源を入れた時に保存された状態で画面表示されます。従って電源を入れた時、上記のCOMPモードでない可能性もあります。

fx-5800P では、左上にある [MODE] キーが操作の起点となります。どのような状態であっても、[MODE] キーを押すと必ず以下に示すモード選択画面になります。

ch1-ModeSelect 

このモード選択画面では、メニュー番号を入力する以外に、この画面からの遷移はできません。

通常の電卓の画面にするには、[1] (1:COMP)、プログラムモードにするには、[5] (5:PROG) とします。

[5] (5:PROG) を選ぶと、以下の Program Menu 画面になります。

TC7-ProgMenu 

この Program Menu 画面から抜けるには、[MODE] キーを押してモード選択を行います。

プログラムの作成、実行、編修は、全てこの Program Menu 画面を起点に操作します。
プログラムの作成、実行、編修中に、[EXIT] キーを何回か押せば、必ず Program Menu に戻ります。


プログラムの作成、実行、編修でポイントとなる画面は、以下の4つです;

1) Program Menu 画面: [EXIT] キーを何回か押せばここに戻る

TC7-ProgMenu 


2) Prog Edit 画面: Program Menu から [3] (3:EDIT) で編修するプログラムを選択

TC7-ProgEdit 


3) Prog List 画面: Program Menu から [2] (2:RUN) で実行するプログラムを選択

TC7-ProgList 


4) プログラム編修画面: プログラムの作成、編修を行う

TC3-5 


先ずは fx-5800P の取り扱い説明書 の88ページ以降の説明を読みながら、実際に操作をしてみてください。また、ハードカバーの裏側に説明のあるステッカーが貼ってありますので、それも少しは参考になります。

1. 最も多用するキー
プログラムの編集画面が表示されている時は、

[FUNCTION] キー

[EXIT] キー

[MODE] キー


を押すと、必要なメニューが出てきます。これら3つのキーから始まる操作で、プログラム作成作業の殆どを行えます。


1.1 [FUNCTION] キー
これを押すと出てくるメニューのうち、最も多用するのが、「3:PROG」メニューと、「1:MATH」です。ここから Casio Basic のコマンドを選んで、編集画面でコマンドを書き込みます。

1.1.1 [1] (1:MATH) メニュー
様々な関数を選択して、プログラム編集画面に書き込めます。さらに、ミリ(m)、マイクロ(μ)、キロ(k)、メガ(M)といった、3桁区切りの接尾記号も、その本来の意味で使えます。例えば1000と書く代わりに1kと書けます。
また、"  " で括られた中には、数字やアルファベット以外にも、表示すべき文字列を書き込めますが、「1:MATH」メニューから文字として書き込むこともできます。

1.1.2 [3] (3:PROG) メニュー
ほぼ全てのコマンドを、このメニューから選んで書き込めます。
また、"  " で括られる中には、数字やアルファベット以外にも、表示すべき文字列を書き込めますが、「3:PROG」メニューから文字として書き込むこともできます。例えば、"<EXE>" などという表示は、「3:PROG」 メニューから、大小関係を判定する <> を選んで文字として使えます。


1.2 「EXIT] キー
1つ前の表示に戻るために使います。分からなくなったら、[EXIT] キーを何度か押せば Program Menu へ戻ります。


1.3 [MODE] キー
Program Manu から抜けて、関数電卓の画面へ戻る時には、[1] (1:COMP) を選びます。
もし、うっかり [MODE] を押してしまうことがありますが、そこで出てくるメニューから [5] (5:PROG) を選べば、プログラム編集画面へ戻れます。この場合でも、作業中の内容はj保存されています。



2. プログラム実行の手順

作成したプログラムを実行するには、2つの方法があります。

Program Menu 画面からのプログラム実行
COMPモードからのプログラム実行: [FILE] キー


2.1 Program Menu 画面からのプログラム実行
Program Menu 画面で、[2] (2:RUN) を選び、ここで表示される Prog List からプログラムを選べば、実行できます。

2.2 COMPモードからのプログラム実行: [FILE]キー
[MODE] [1] (1:COMP) で遷移する、通常の電卓画面(COMP モード)で、プログラムを実行したい時に [FILE] キーを押します。そこで現れるプログラムリストから、プログラムを選んで実行します。


2014/01/21追記: 上記いずれの方法においても、プログラムリストが表示されている時、目的のプログラム名の頭のアルファベットを入力すると(例えば "P")、そのアルファベット("P")で名前が始まるプログラム名にジャンプします。もし "P" で始まるプログラムが無い場合は、アルファベット順で "P" よりも後ろの文字で始まるプログラム名までジャンプします。
プログラムリストが表示されている時はアルファベット入力モードになっているので、例えば "P" で始まるプログラムへジャンプさせるには、[ALPHA] キーを押さずに、いきなり [6] キー(このキーの右上にピンク色で "P" と印刷されています)を押すだけのワン・アクションなので、便利です。


3. アルファベットや数字の入力

[ALPHA] キー と [SHIFT] キーを使って、通常入力モード、ALPHAモード、SHIFTモードを切り替えて入力します。

[ALPHA] を押すと、画面左上に A が表示され、ALPHA入力モードになっていることを示し、キーの右上にピンク色で印刷されているアルファベットや記号を入力できます。但し、キーを1つ入力する前に必ず [ALPHA] を押す必要があります。[ALPHA] をもう一度押すと、画面左上の A  が消え、キーに白で印刷されている数字や関数などを入力できます(通常入力モード)。

[SHIFT] を押すと、画面左上に S  が表示され、SHIFT入力モードになっていることを示し、キーの左上にオレンジ色で印刷されている記号や関数を入力できます。もう一度 [SHIFT] を押すと、画面左上の S  が消え、キーに白で印刷されている数字や関数などを入力できます(通常入力モード)。

[SHIFT] を押してから [ALPHA] を押すと、画面左上に A のみが表示され、ALPHA入力モードであることを示し、ALPHAモードで入力できるアルファベットや記号を、連続して入力できます。いちいちキー一つごとに [ALPHA] を押す必要がありません。


これで、プログラムを作成する準備ができました。


つづく...

Casio Basic (超)入門 /  Casio Basic入門3 / 目次



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


 


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

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

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

プログラムライブラリ - 高速素因数分解

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

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

2021/06/10


高速素因数分解
Casio 電卓で走る高速素因数分解プログラム - 出来るだけ多くの機種、多くの言語に対応
高速化検討については Casio 関数電卓の素因数分解 を参照.



著作権者

原著作者:Ben Tesch - slugrustle (fx-5800P Casio Basic)、但しCC0 1.0 を宣言 
改造・移植 著作権者:やす (Krtyski) [当ブログ管理人]



対応言語と対応機種

  プログラミング言語   機 種
初期版Casio Basic - CFX-9850G / CFX-9850GC PLUS

新世代Casio Basic - fx-9860G / fx-9860GII / fx-9860GIII / fx-9750GIII
             - fx-CG10 / fx-CG20 / fx-CG50
           - fx-5800P

C.Basic       - fx-9860G / fx-9860GII / fx-9860GIII / fx-9750GIII
             - fx-CG10 / fx-CG20 / fx-CG50

Casio Python   - fx-9860GIII / fx-9750GIII
           - fx-CG50



プログラムのダウンロード

新世代Casio Basic 用 - 10桁まで対応
 ▶ fx-5800P Casio Basic 専用
   詳細説明
   プログラム名:FACTOR-F1, WFSUB
   CcLinker で fx-5800P に転送可能なプログラムファイル(CCLファイル)のダウンロード
    - CcLinker についてはこちらを参照 
    - ダウンロードしたzipファイルに含まれるtxtファイルに従って、手入力できます. 

 ▶ fx-5800P Casio Basic 専用、さらに9%高速化
   詳細説明 保存するだけで21,603 バイト必要で、他のプログラムを全て削除する必要あり
   プログラム名:FACTOR-F2, WFSUB
   CcLinker で fx-5800Pに転送可能なプログラムファイル(CCLファイル)のダウンロード
    - ダウンロードしたzipファイルに含まれるtxtファイルに従って、手入力できます.

   Factor-F1_fx5800P

 ▶ fx-9750GIII, fx-9860Gシリーズ(G, GII, GIII) Casio Basic 用
   fx-CG10 / fx-CG20 / fxCG50 Casio Basic 用
   詳細説明
   プログラム名:FactorG, WFSUB
   プログラムファイルのダウンロード

   
FactorG_CG50_ufc FactorG1_9750GIII_ufc

 ▶ fx-7400GIII Casio Basic 専用
   詳細説明
   プログラム名:FactorGL, WFSUBL
   プログラムファイルのダウンロード
   プログラム転送方法

   
FactorGL_7400GIII



初期版Casio Basic用 - 10桁まで対応
  CFX-9850G / CFX-9850GC PLUS Casio Basic 用
   詳細説明
   プログラム名:FactorG, WFSUB
   プログラムファイルのダウンロード
   初期版Casio Basic の 新世代Casio Basic との違い

   
FactorG_9850GCPLUS


Casio Python 用 - 15桁まで対応
  fx-CG50 / fx-9750GIII / fx-9860GIII Pythonモード用
   詳細説明: (1), (2), (3), (4), (5), (6), (7)
   スクリプト名:factorG7, u
   スクリプトファイルのダウンロード

   
PyResult_ufc FactorG71_FX_s_ufc


C.Basic 専用 - 15桁まで対応
  fx-9860G / fx-9860GII / fx-9860GIII / fx-9750GIII C.Basic for FX 専用
  fx-CG10 / fx-CG20 / fx-CG50 C.Basic fo CG 専用
   詳細説明
   プログラム名:FactorG2, WFSUB2
   プログラムファイルのダウンロード
   アドインCasio Basic - C.Basic トップページ

   
CBResult_ufc CBMResult_ufc




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


 


keywords: CasioBasic、プログラムライブラリプログラム関数電卓、3桁区切り出力、汎用サブルーチン

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


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

プログラムライブラリ - 3桁区切り出力 (汎用サブルーチン)

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

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

2017/11/17
追記修正 2021/06/10


3桁区切り出力 - 汎用サブルーチン: 3DS
Casio Basic プログラムで、数値を3桁区切り出力するための汎用サブルーチン

CcLinker で fx-5800P に転送できるプログラムファイルをダウンロード可能に [2018/10/29]


著作権者

基本ロジック:sentaro
 [当ブログ読者]
汎用版作成:やす (Krtyski) 
 [当ブログ管理人]



対応機種

fx-5800P
fx-9750GIII
fx-9860Gシリーズ(G, GII, GIII)
fx-CGシリーズ
fx-7400GIII
(fx-FD10 Pro
対応可と思われる)



汎用サブルーチン 3DS の使い方

2桁, 3行の位置から 数値 123456789 を出力させる場合、通常は以下のように記述する。

2→X:3→Y:123456789→Z
Locate X,Y,Z

この9桁の数値を3桁区切り出力にしたいときは 汎用サブルーチン 3DS を使って、

2→X:3→Y:123456789→Z
Prog "3DS"

と記述すれば、2桁3行の位置から

123,456,789

と出力される。

0→X (X0 を設定) すると、右寄せ出力になる。



サンプルプログラム

   "A×B×C"
   "A"?→A
   "B"?→B

   "C"?→C
   "A×B×C="
   7→X:4→Y:ABC→Z

   Prog "3DS"

A=123、B=456、C=789 を入力するとして、
スクロールする部分も含めて以下のように出力される;

   A×B×C
   A?

   123
   B?

   456
   C?

   789
   A×B×C=44,253,432




詳しい説明

Casio Basic入門55~59 Chapter10:3桁区切り出力 - 汎用サブルーチンの作成 を参照

※ サンプルプログラムの使い方 / ダウンロードも上記を参照のこと


プログラムソース

fx-5800P 用 - 最大12桁まで対応
▶ ソースリスト (PDFファイル) ダウンロード
CcLinker で fx-5800P に転送可能なプログラムファイル(CCLファイル)のダウンロード
※ デバッグ用プログラムも含む.

3DS_src_fx5800P.jpg 

 fx-9750GIII, fx-9860Gシリーズ(G, GII, GIII) 用 - 最大15桁まで対応
   fx-7400GIII 用 - 最大15桁まで対応
プログラムファイル 3DGT.g1m のダウンロード
 ※ デバッグ用プログラムもダウンロードできる.

3DS src for fx-9860GII 


fx-CGシリーズ用 - 最大15桁まで対応
プログラムファイル 3DGT.g3m のダウンロード

3DS src for fx-CG50 



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


 


keywords: CasioBasic、プログラムライブラリプログラム関数電卓、3桁区切り出力、汎用サブルーチン

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


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

Casio Basic入門1

Casio Basic入門
<目次>

誤字脱字・記載ミスや分かりにくい表現などは随時追記・修正します.
最終更新:2021/04/18


はしがき
[2014/11/03追記]

fx5800P_calc. fx-5800P を買ってきてプログラムを作ってみようと思い、取扱説明書を見ると、コマンドについてプログラムが分かる人向けのヒントくらいしか書かれていません。

これはヒドイ!!(以前は良かったのに...このあたりは「1.はじめに」で紹介してます)

とりあえずプログラミングを始めたものの、コマンドの細かい点は、色々と試行錯誤を繰り返さないと分かりません。こうして、取扱説明書には書かれていない詳しいことが、少しづつ分かってきました。

実際にプログラムを作りながら色々と調べているうちに、fx-5800P に搭載されているプログラミング言語:Casio Basic は、かなり優れモノだと分かってきました。Casio Basic は「電卓で使えるBASIC 」 で、関数を作れない、大域変数しか使えないという制限がありますが、ブロック構造の線形結合を基本とした構造 (Goto でスパゲティにならない構造) でプログラムが書けます。

なかなか優れている Casio Basic なのに、こんな取扱説明書では、さっぱり使いこなせない人もいるだろうし、経験者が取扱説明書を斜め読みする程度だと良さが判らないだろうし、このままだと非常にもったいないと思います。

"新世代 Casio Basic" が使える fx-5800P は、非力なプロセッサしか積んでいないにもかかわらず、まともな実用プログラムを作れます。さらに、fx-5800P はプログラムを呼び出して使う利便性が高く、高機能な fx-9860GII や fx-CG20 よりも便利なことがあるのは、あまり知られていないのではないでしょうか? 

いくつもの実用プログラムを実際に作ることで、Casio Basic コマンドの詳細仕様の理解が進みました。こうして得た 取扱説明書では絶対にわからない Casio  Basic の使いこなしを整理したものが Casio Basic 入門 講座です。並行して、取扱説明書では絶対にわからない Casio Basic のコマンドリファレンス 、逆引き Casio Basic も公開しています。

「1.はじめに」 では、Casio Basic や fx-5800P の歴史や特徴を私見を交えて書いていますので、「2.プログラミングとは」まで飛ばしてもらって結構です。



1.はじめに [2015/01/04 修正]

私が初めて手にした電卓が、カシオのFX-502Pという関数電卓でした。手帳サイズでプログラミングできる画期的な製品で、世界中にカシオファンを増やした原動力となったようです。

fx-502P 
手帳タイプのソフトカバーが付属した FX-502P

私がFX-502P を入手した当時は、関数電卓として使っていて、プログラミングの「プ」の字も知りませんでした。その後プログラムに興味を持ち、生まれて初めて作ったのが、FXー502Pのプログラム「反射ゲーム」
画面表示が変化した直後に、どれだけ早く反応してキーを押せるか...そんなゲームでした。
 ⇒ FX-502P / 602P / 603P のプログラム

カシオはFX-502Pに続いて、プログラム互換性の高い後継機として、1981年にFX-602P、1990年にはfx-603Pを発売しました。
FX-602P には取扱説明書だけでなく、「プログラムライブラリー」と言う厚い本が付属していて、それには数多くの実用プログラムが掲載されていました。掲載されているプログラムを入力し、理解し、さらに自分なりに改造することで、プログラミングがどのようなものか、少し分かりました。きちんと動作するサンプルプログラムを参考にして、自分でプログラムを改造する作業が、プログラミングの学習には非常に有効だと実感しました。

これらのプログラム機能は、今思えばアセンブリ言語に近い感じで、電卓のメモリに直接あるいは間接的にアクセスして、ジャンプはインクリメント/デクリメントを行うことができるなど、工夫のしがいがある面白いもので、プログラミングの好きな人には楽しく遊べるものでした。

その後登場したプログラム互換のFX-602P や FX-603P は、アルファベット表示が可能になり、記憶容量が増えたことで、測量計算などの実用に耐えるプログラム関数電卓として不動の地位を得てきました。プログラム言語としての完成度、ハードウェアとしての使いやすさがユーザーに支持された結果でしょう。


プログラミング言語仕様から読み解く Casio Basicの開発史 [2019/08/31 追記修正]

カシオは、プログラム関数電卓とグラフ関数電卓、そしてポケットコンピュータの3系統で、搭載言語の開発を進めている時期がありました (プログラム電卓メモワール1990-12 参照)。ポケットコンピュータはPCの高機能化、小型化、低価格化により市場からその姿を消しました。プログラム関数電卓では、fx-4850P を最後にプログラム関数電卓の新製品が発売されなくなり、fx-4850P 搭載言語の系統のバージョンアップが止まりました。そして、唯一グラフ関数電卓が搭載言語とともに進化してゆきました。

プログラム関数電卓 fx-4000番台の製品に搭載された言語は、試行錯誤の跡がみられ、このシリーズ最終機種の fx-4850P の搭載言語は中途半端な仕様のまま成功せずに終わったと感じています。fx-4850P のハードウェアデザインは fx-5800P に引き継がれましたが、搭載言語はシリーズ初号機の fx-4000P の仕様が 現在の Casio Basic に引き継がれています。

一方で、グラフ関数電卓での搭載言語は着実な進化を見せました。fx-7400Gで初めてBasicコマンドが搭載され、1996発売の CFX-9850G には、ついに GetkeyLocate コマンドが搭載され、現在の世代のCasio Basic に近づきました。但し空行改行や If 文の Then や Else の直後での改行がエラーになる、コード編集画面がデフォルトで上書きモードになるなど、実用性としてはもう一歩という感じでした。しかし、これは Casio Basic の歴史上極めて重要な一歩だと言って良いと思います。GetkeyLocate が、Casio Basic の実用性を格段に向上させているからです。⇒ プログラム電卓温故知新 - CFX-9850G の最後の項目 "プログラム電卓の系譜" を参照。

翌年の 2006年に登場した fx-9860G は、基本的に CFX-9850GC PLUS の Casio Basic をベースに改行の問題を解決し、コード編集画面がデフォルトで挿入モードに変更され、プロット系コマンドのバグとも言える理解不能な仕様がうまく整理されました。ここでようやく現在の "新世代 Casio Basic" が登場しました。

fx-9860G の搭載言語からグラフィックス関連とシリアル通信関連のコマンドを取り去り、さらにいくつかのコマンドを改良したものが fx-5800P に搭載されました。fx-9860G 発売と同年のことでした。

fx-5800P での改良点の代表的なものを挙げてみます。

入力命令 ?A では、変数 A に既に入っている値を表示し、変更がなければ [EXE] キーを押すだけで確定できる機能が追加されました。一方、?→A とすれば、A の値を表示せずに新たに入力させます。この ?A の機能は、変更が無ければ [EXE] を押すだけで良いので、作成したプログラムの使い勝手が格段に向上します。現在のところ、この機能があるのは、fx-5800P と fx-FD10 Pro のみで、グラフ関数電卓にはこのような便利な機能はありません。

[FILE] キーでプログラムリストを表示し、そこからプログラムを実行できる機能も、fx-5800P の利便性を向上させる優れた改良だと思います。これが可能なのは、他には fx-FD10 Pro のみです。グラフ関数電卓では、一旦プログラムモードに入らないとプログラムを呼び出せません。

fx-9860G にあった グラフィックス関連とシリアル通信関連のコマンドは、fx-5800P にはありません。fx-5800P をプログラム関数電卓に位置づけるなら、グラフィックス関連のコマンドは不要といっても良いと思いまが、シリアル通信関連コマンドは残して欲しかったと思います。さらに、電卓とPCの間でプログラムファイルをやりとりするPCリンク機能が無いのも fx-5800P の利便性を発揮しきれない仕様上の大きな弱点です。

このような弱点があるものの、fx-5800P は、グラフ機能の無いプログラム関数電卓として、極めて大きく進化した "新世代Casio Basic" を搭載し、プログラム電卓としてバランスの取れた、そして関数電卓としても使いやすい優れた製品です。

歴史を少し遡って、プログラム関数電卓として大成功を納めた FX-502P や FX-602P の最終進化形 の FX-603P は、結果的に21世紀に入っても販売が続き、その製品寿命は10年以上の長きにわたりました。趣味ではなく仕事用に実用プログラムが使われ続け、ユーザーの大きな支持に答え続けた結果なのだと思います。FX-603P の実用品としての完成度の高さの証明でもあります。FX-603P に取って代わるプログラム関数電卓が永らく登場しませんでした。

※参考: プログラム関数電卓ノスタルジア(Casio fx-502P、fx-602P、fx-5800P)

さて、グラフ関数電卓で熟成してきた新世代 Casio Basic を機能制限して搭載した fx-5800P は、しばらく FX-603P と併売されていましたが、ついに FX-603P が生産中止となりました。fx-5800P が プログラム関数電卓 FX-603P の後継機となったわけです。

その後も Casio Basic の改良がグラフ関数電卓で続き、fx-9860Gシリーズで文字列処理コマンドが追加搭載され、ハードウェアとしては高精細カラー液晶搭載した fx-CG10/20 が登場しています。そして 2015年1月時点での最新機種、fx-FD10 Pro は、fx-5800P の利便性と最新の Casio Basic を搭載したハイブリッド機とでも言える、面白い性格を持っています (fx-FD10 Pro は Casio Basic専用機です。fx-9860GII  の基板を使いながらアドインが使えない設定にした判断は、販売戦略上のものなのでしょう)。

[2021/04/18 修正]
気がつけば、新世代Casio Basic搭載のプログラム関数電卓 fx-5800P 製品寿命は、2006年の登場から2021年時点で15年を超えており、1つの製品としては最も長く製造・販売される製品になっています。なお補修用の部品の供給期限が2025年という情報もあるので、現在のところ fx-5800P の後継機種の企画・開発がおこなれているのか、プログラム関数電卓のジャンルは fx-5800P を最後に姿を消すことになるのか、大変気になるところです。
=== 2021/04/18 修正 - ここまで ===

2014年12月に、スタンダード関数電卓の新シリーズ fx-JP500, fx-JP700, fx-JP900 (CLASSWIZ シリーズ) が発表され、順次発売が開始されました。高精細液晶の搭載、省電力でありながらCPUの大幅な処理速度向上、その他様々な改良が加えられ、死角が殆ど無い関数電卓と言えます。fx-JP900 のみに搭載された表計算機能 は、データ保存機能が無いので実用的とは言えないものの、実力をアピールする意味は十分にあります。この表計算が、操作性やユーザーインターフェースの面でグラフ関数電卓 fx-9860GII に似ていることは、大変興味深いのです。

高精細液晶と高速・省電力CPUと言う新しいハードウェアに加えて、グラフ関数電卓と酷似した表計算機能を新ハードウェアで走らせる機能のアピールは、発売開始から12年目の fx-5800P の後継機種がそろそろ現実性を帯びてきているのではないかと、大きな期待を寄せています。 

[2018/10/31 追記]:fx-CG50 が登場
2017年春に fx-CG10/20 の後継機として fx-CG50 が欧米で発売開始され、同年10月に日本国内で発売されました。fx-CG50 は fx-CG10/20 とほぼ同じ仕様で、消費電力が大幅に抑えられ、処理速度が大幅に向上しました。そのデザインは fx-JP900 と極めて似通ったものになりました。

最新のグラフ関数電卓 fx-CG50 (2017) 
Casio fx-CG50 の概要

カシオは、プログラム電卓については欧米ならびに中国市場を中心に考えているののが残念なところですが、シャープがプログラム電卓開発から事実上撤退している状況で、日本企業として唯一カシオがプログラム電卓の開発を続けていることは、歓迎したいと思います。但し、特にグラフィック関連は、マクロ言語を出自とする故かVRAMへの転送速度が非常に遅いことから、fx-CG50でさえグラフィックスプログラミングを自由に行えるレベルには至っていません。

さてこのような状況下で、fx-5800P の後継機種の動向が気になります。fx-JP900 と fx-CG50 と同様のデザインで、これらの中間サイズの グラフィック機能を割愛したプログラム関数電卓が fx-5800P の後継として登場すれば面白いと思います。

===== 追記おわり ====


fx-5800Pの特徴

最新の Casio Basic から見れば、fx-5800P 搭載の Casio Basic はサブセット版と言えますが、プログラム関数電卓として不要な機能を省略しただけで、新世代 Casio Basic 搭載機としては、低価格で使い勝手の良い絶妙なバランスの製品です。

上て述べたように、fx-5800P の最大の欠点が、作ったプログラムをPCにバックアップすることが出来ない点にある。但し、3pinケーブル (SB-62)を用いて、もう1台の fx-5800Pへ転送することはできます。 ここを参照

この通信ケーブル(3pinシリアルケーブル)は、グラフ関数電卓の国内正規品にUSBケーブルと共に標準添付されています。

==========

fx-502P&fx-5800P 
fx-502P と fx-5800P (写真は「プログラム関数電卓ノスタルジア(fx-502P、fx-602P、fx-5800P)」掲載のもの)


My_func_calcs_20190803
My_graph_calcs_20190803
 
※ 管理人所有のプログラム電卓


fx-5800P は、薄型、軽量で上着の内ポケットに十分入る大きさです。そして、4行x16桁の液晶ディスプレイを搭載し、加えて新世代 Casio Basic が搭載されています。 高機能グラフ関数電卓 fx-9860GII も入手し、fx-5800P と比較していますが、改めて fx-5800P のバランスの良さを再認識しています。新世代 Casio Basic は、実用プログラムに加えて、ちょっとしたアクションゲームを作れるレベルの構造化Basic です(本ブログでも、いくつか紹介しています)。さらに、fx-5800Pは実売で6000円台なので圧倒的に購入しやすいのです。



さて、新世代 Casio Basicを搭載した fx-5800P の取扱説明書では、プグラミングが分かっている人しか分からない程度の記述しかありません。その上、プログラム事例は殆ど紹介されていません。カシオは、紙のプログラムライブラリーやウェブでの情報も国内では用意するつもりはなさそうです。

[2021/04/18 追記]
この連載を始めた当初は、fx-5800P しか持っていなかったのですが、その後 CFX-9850G、CFX-9850GC PLUS、fx-9860G、fx-9860G Slim、fx-9860GII、fx-9860GII SD、fx-CG20、fx-CG50、fx-7400GIII、fx-9860GIII、fx-9750GIII を入手し、それらの Casio Basic でプログラムを作っています。その結果 これらの Casio Basic は互いに一定レベルの互換性が保たれるように考慮されていることが分かっています。fx-5800P で Casio Basic を使いこなせるようになれば、モノクロ液晶 や カラー高精細液晶の グラフ関数電卓でも問題無く使えます。

[2018/12/26 追記]
takumako様により CcLinker が開発され、fx-5800PのPCリンクが実現され、プログラムの保存や導入が容易になりました。
- 開発者 takumako様による CcLinker のサイト
- 当ブログの CcLinker 紹介記事


2. プログラミングとは
[fx-5800P] [fx-9860G (SD) fx-9860GII (SD) / fx-CG20 / fx-CG50]

プログラムの「プ」の字も知らない方のために、最初にあらかじめ知っておいて頂きたい基本的な事柄を紹介します。


プログラムって何だ?

プログラムと言うのは、「手順書」です。そして予め用意された単語と文法を使って、手順を書くことをプログラミングと言います。
手順を書くために使う言葉を「プログラミング言語」と言います。

そして、その単語と文法が分かればプログラムを書けるようになるわけです。

プログラムを読む相手は電子回路ですから、そこには情緒も感性も不要です。むしろ曖昧さがは有ってはなりません。厳密に一通りにしか解釈できないように書くために、単語や文法が考えられています。

言葉に動詞や文型があるように、プログラミング言語にもコマンド(命令)やステートメント(文)があります。これらの単語を覚え、文法を覚えるのは難しくありません。普通の外国語に比べると覚えることはとても少ないのです。Casio Basic については、覚えるべき事柄が非常に少ないので、さらに楽です。



プログラミング言語とは?

プログラムは手順書なので、基本的にはコマンド(動詞)と必要な名詞(目的語)をステートメントの規則(文型)に従って書きます。

「~をしなさい」  「~に~をしなさい」

といった短い文の組合せと繰返しで、プログラムは構成されます。


プログラミング言語には、多くの種類があります。C言語、java、BASIC、FORTRAN などを見聞きしたことは有りませんか?これらは最もよく用いられる代表的な言語です。これらの言語に一般的な優劣は有りませんが、それぞれ得意とするものが異なっています。

なお、これらの多くはアメリカで発明されたので、英単語から派生した単語を使い、語順は英文法に近くなっています。「O に V しなさい」 は、「V O」 といった語順になります。「ピアノを弾きなさい」「Play piano」 となるのと同じです(動詞 + 目的語)。

fx-5800P や fx-9860GII などのカシオのプログラム電卓には、BASIC が内蔵されています。但し、カシオが作った BASIC なので、Casio Basic と呼ばれています(特に海外のサイトでは、この表現をよく見ます)。基本的な単語や文型はパソコンで使う BASIC とほぼ同じです。

一部カシオ独自のものがありますが、古くからのユーザーのために残しているとのことです。古くから採用されていた独自のものは、当ブログでは旧来の命令と読んでいますが、使い勝手が良いので残っていても良いと思います。

ちなみに、Casio Basic で検索すると、おかげさまで当ブログがヒットしますが、CASIO Basic はカシオ時計のブランドだというのが分かります。



プログラムで計算

プログラムを書く時に、計算をさせることもできます。

1234 x 5678

とプログラムに書けば、電子回路が計算してくれます。プログラムを書く時に計算結果を知る必要はありません。

但し、上の計算結果を知るためにわざわざプログラムを書く人はいないでしょう。電卓のキーをチョイチョイと叩けば答えが出ますね。

上のように決まった数でなくて、色々と異なった数のかけ算をしたい時、プログラムが役立ちます。

A = 1234
B = 5678

としておいて、

C = A x B
Print C


とプログラムを書くと、かけ算の結果を画面に表示します。この書き方はパソコンで使う一般的なBASICの書き方です。

A x B は、A や B に色々と異なった数を入れると、異なった答えを出してくれます。これを Casio Basic で書くと、

1234→A
5678→B
AxB→C


正確に、このように3行のプログラムを書いて、それを実行させると、画面には 7006652 と計算結果が表示されます。


前置きが長くなりましたが、ポイントは以下の6項目です。

1) パソコンのプログラミングは、こんなに簡単ではありません
プログラム電卓ならではの簡便さです。

2) A や B は変数
変数は、数を入れておく容器です。A や B は容器の名前です。
予め、容器Aに数1234を入れ、容器Bに5678を入れておきます。
そして、AxB は、容器の中身の数のかけ算をしなさい、と言うプログラムです。
このように、プログラムでは頻繁に「変数」を使います。

fx-5800P や fx-9860GII などのプログラム電卓で使える変数は、アルファベットの A~Zの26文字です。但し、配列変数 (fx-5800P) や 行列 (fx-5800P や fx-9860GII など) という変数を必要に応じて追加して使うことができます。配列変数や行列については、その使い方を含めて、後で説明します。今は忘れてもらって結構です。

3) → は代入命令
変数Aに 1234を入れることを、「変数Aに1234を代入する」と言います。
そして、Casio Basic では、代入をしなさいと言う「代入命令」を 「」と言う右矢印の記号で表現します。

の左のものを、右へ代入すると決められています。
1234→A
のように、数字を変数に代入するだけでなく、変数を変数に代入できます。

例えば、

1234→A
5678→B
A→B


とすると、変数Bの中身は、5678でなくて、1234 に変化します。

CasioBasicコマンドリファレンス: → (代入命令)

パソコンの Basic では、変数 A に 1234 を代入するとき、

A = 1234

と書きます。代入命令については、Casio Basic は独特なものですが、 記号は代入の方向を示しているので、却って分かりやすいと思います。



4) は出力命令

これも Casio Basic 独特の命令です。◢ は出力、つまり画面表示するだけでなく、併せて一時停止の機能があります。

上の3行のプログラムは、上から下へ順に実行されます。

AxB

は、AxBの結果を表示して、そこでプログラムの実行を一時停止しなさい、という命令です。そして、[EXE] キーを押すと一時停止が解除されます。これも命令に含まれる機能です。

CasioBasicコマンドリファレンス: (出力命令)


5) ?は入力命令
変数Aと代入命令を併せて使って、

?→A

と書くと、画面表示が、

?

となり、そこでプログラムが一旦停止します。

の表示は、キー入力をしてください、と言う意味です。そして、プログラムが一時停止し、何かキー入力を待ちます。[EXE] キーを押すと入力内容が確定され変数Aに代入され、プログラムの一時停止が解除されます。これも Casio Basic 特有の命令です。

実はここには、Casio Basic 特有のおもしろい面があります。
画面に

?

と表示され、入力が促されている時に、例えば

9999÷3

と入力して[EXE] キーを押すと、この計算結果が変数Aに代入されます。

fx-5800P は関数電卓なので、様々な関数機能が内蔵されています。そこで、? が表示されて入力待ちの状態で、sin(30) と入力して[EXE]キーを押すと、計算結果の 0.5 が変数 A に代入されます(DEGモードの時)。関数電卓特有の機能を活かした入力命令になっていることが分かります。

"A="?→A

と書くと、画面には" と "で括られた文字

A= ?

のように表示され、入力待ちになります。

"A="?→A
5678→B
AxB


は、キー入力した数字を変数Aに代入して、AxBを計算した結果を表示するプログラムです。様々な数値や計算結果に5678を掛け算した結果を表示します。

CasioBasicコマンドリファレンス: ? (入力命令)


6) プログラムは上から下へ連続実行
プログラムは、上から下へ連続的に実行されます。

そして、出力命令や入力命令は、一旦停止の機能があるので、そこで実行が一旦停止します。この一旦停止は特別な例です。さらに、実行の流れを変えるコマンドや文があり、これらを使えば上から下への実行順序を変えることができます。

このような明示的なコマンドや文が無い限り、プログラムは上から下へ連続的に実行され、プログラムの一番下の行で、完全に実行が停止します。

プログラムは上から下へ実行される原則は、当たり前のように感じられるでしょう。しかし、これを忘れるとプログラムの動作が分からなくなるものです。とても重要な原則なので、必ず覚えてください。


関連記事:
- プログラム関数電卓でプログラミング
- fx-5800P【プログラミング入門】:プログラム作成から実行までの操作



*****


次からは、実際にプログラムを作りながら、プログラムの単語や文型をみてゆきます。


つづく...

⇒ CasioBasic入門2 / 目次



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


 


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

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

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

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

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR