Casio Basic入門 -目次-

Casio Basic入門

新しい記事の公開に合わせて随時追記・修正します
最終: 2020/08/27


目 次

        - 1.はじめに: [1]

        - 2.プログラミングとは: [1]  

        - 3.fx-5800PのCasio Basicコマンド一覧: [2] 

        - 4.Casio Basicを使ってみる
            - Chapter 0 - プログラム作成・実行のポイント: [2] 
            - Chapter 1 - Getkey と Locate を使いこなす: [3] [4] [5] [6] [7] [8] 
            - Chapter 2 - 動きのあるプログラムを作る: [9] [10][11][12][13][14] 
            - Chapter 3 - 自由自在に入力する(入力ボックス): [15][16][17][18] 
            - Chapter 4 - 換算プログラムを作る: [19][20][21][22] 
            - Chapter 5 - サブルーチンを使いこなす: [23] [24] [25] [26] [27] [28] [29] [30] [31] 
            - Chapter 6 - プログラムを速くする(入力ボックス) [32] [33] [34] [35] [36] [37]  
            - Chapter 7 - 超入門 - ゼロからのプログラム作成と機能追加: [38] [39] [40] [41] [42]
            - Chapter 8 - Basic 命令を活用してみる: [43] [44] [45] [46] [47] [48] [49] [50]
            - Chapter 9 - 簡単な換算プログラム - 入力ボックスの活用: [51] [52] [53] [54] 
            - Chapter 10 - 3桁区切り出力 - 汎用サブルーチンの作成: [55] [56] [57] [58] [59]  
            - Chapter 11 - 


        - 5.Casio Basicでグラフィックス / 目次
            - Chapter G01 - LCDと3つの座標系: [G01] 
            - Chapter G02 - グラフィックス画面の設定と描画: [G02] 
            - Chapter G03 - ClrGraph / ClsViewWindow[G03] 
            - Chapter G04 - Plot と Line: [G04] 
            - Chapter G05 - Plot と ViewWindow: [G05] 
            - Chapter G06 - F-Line と線のスタイル設定: [G06] 
            - Chapter G07 - 点線とViewWindow: [G07]
            - Chapter G08 - ViewWindow の有効活用 / RclPict と RclCapt の違い: [G08] 
            - Chapter G09 - ViewWindow と設定変数: [G09] 
            - Chapter G10 - Circle コマンド: [G10] 
            - Chapter G11 - PxlOn コマンド: [G11]
            - Chapter G12 - PxlOff コマンド: [G12]
            - Chapter G13 - PxlChgコマンド: [G13] 
            - Chapter G14 - PxlTest( ) コマンド: [G14] 

            - Chapter G15 - 
            - Chapter G16 - 
            - Chapter G17 -
            - Chapter G18 -

詳細な目次へ



Casio Basic入門の概要

CasioBasic入門では、最初から順に読むことを前提に書き始めました。最初は基本的な部分から丁寧な説明を心がけていますが、進むにつれて同じ説明を省略するようになります。Casio Basicの命令やコマンドの使い方だけでなく、プログラミングの考え方、手法、知っておくと役立つ話題なども、折に触れ紹介しています。

当初、fx-5800P 使用を前提にして始めていますが、「4. Casio Basic を使ってみる」 で取り上げているプログラムは、簡単な変更で fx-9860GII や fx-CG50 への移植も可能です。具体的に fx-9860GII や fx-CG50 などへの移植を取り上げた記事もあります。

fx-CG20 / CG50 については、fx-9860GII の Casio Basic プログラムからの移植性が非常に高く、物理座標系で動くグラフィックスコマンド(TextPxlOnPxlOffPxlChgPxlTest) を使っていないプログラムは、fx-CG20 / CG50 に転送するだけで、ほぼ正常動作します。

Casio Basic - 機種別の互換性

fx-9860GII への移植 - 厄介な旧来の命令


「5. Casio Basic でグラフィックス」 は、グラフィックス機能を持たない fx-5800P ではなく、fx-9860GII を前提にしています。ここで紹介しているプログラムは fx-CG-20 / fx-CG50 で動作します。というのも、fx-CG20 / fx-CG50 は、カラー対応の部分を除き、fx-9860GII の上位互換になっているからです。fx-9860GII からの互換性の無いコマンドは僅かですが、fx-CG20 / CG50 で互換性のないコマンドについては、順次追加する予定です。


Casio Basic入門の読み方

PCなどでの高級言語でのプログラミング経験者には、最初から順に読み進めて頂ければ、Casio Basic が意外に使えることに気付いて頂けると思います。

昔の古い電卓やポケコンでの行番号付きのBASICなどでのプログラミング経験しか無い方、およびプログラミング未経験者の方は、以下の順序で読み進めると良いと思います。

プログラミング経験の少ない方、プログラミング初心者向けの進め方

2. プログラミングとは
   
4. Casio Basicを使ってみる [fx-5800P 向け。fx-9860GII や fx-CG20 / CG50 にも移植可能]
   
 ・Chapter 0 (プログラム作成・実行のポイント)
   
 ・Chapter 7 (超入門:ゼロからのプログラム作成と機能追加) ※1
   
 ・Chapter 8 (Basic コマンドを使ってみる) ※2
   
 ・Chapter 1 (Getkey と Locate コマンドを使いこなす)
   
 ・Chapter 2 (動きのあるプログラムを作る)
   
 ・Chapter 3 ~ Chapter 6 / Chapter 9 ~
   
5. Casio Basic でグラフィックス [fx-9860GII 他、グラフ関数電卓向け]

※1 fx-5800P プログラミング(超)入門
Chapter 7 (超入門:ゼロからのプログラム作成と機能追加) は、fx-5800P を始めて使うプログラミング未経験者を想定したものです。Chapter 8 へ繋がります。 ⇒ Chapter 7

※2 新世代 Casio Basic への導入
Chapter 8 は、カシオのプログラム電卓で古くから使われてきた命令から、新世代 Casio Basic への導入を目的にしています。古いプログラム電卓を使いこなしているが、新しい Casio Basic にはなじみの無い方向けです。 ⇒ Chapter 8

※3 PCなどでの高級言語プログラミングの経験者には...
管理人自身がこのカテゴリーに入ります。高級言語でのプログラミング経験者は、当ブログで公開している Hit & Blow ( ここここ や ここ )、もぐら叩き (ここ) を見て、実際に fx-5800P で実行して頂ければ、Casio Basic の能力が分かると思います。さらに、改造や改善してみると Casio Basic がさらに分かると思います。

記事中で、Casio Basic コマンドリファレンスの個別項目へのリンクも入れています。このコマンドリファレンスは、管理人オリジナルのもので、取扱説明書に書かれていない多くの情報を提供しています。


新世代 Casio Basicについて

2006年発売の fx-5800P に搭載されたプログラミング言語は、カシオ自身が Basic-Like プログラミング言語と言っています。機能やコマンドが限定されているので、厳密にはその通りです。しかし実際に使ってみると、使えるコマンドに着目すれば、実用的な電卓プログラムが作れることに気がつきました。Goto は限定的に使い、例えば例外処理やエラー処理のために Goto で処理を一カ所に集中させるのは、プログラムが分かりやすくなるので良いものとして考え、それ以外は極力 Goto なしでプログラムを書くというコンセプトを本ブログでは採用し、そのプログラム例を多数紹介しています。

ここでは、カシオ製 プログラム関数電卓とグラフ関数電卓をひとくくりにして、プログラム電卓と呼ぶことにします。国内では2006年に発売された fx-5800P 以降のプログラム電卓に搭載されている Casio Basic は、ブロック構造でフローを制御したプログラミングが可能である点で、それ以前のものとは大きく異なります。

そこで、fx-5800P 以降の機種に搭載されている新しい Casio Basic を 当ブログでは、新世代 Casio Basic と呼んでいます。これらに共有しているのは、Goto なしでのコードが書け、テンキーだけでなく全てのキー([AC]キー除く)押下の検出が可能な Getkey コマンド、そして柔軟な Locate コマンドを搭載し、条件判定を 0で偽、0以外を真 (論理演算は 1 で真) となることです。これは一般的な高級言語と共通しています。Casio Basic は、構造化プログラミング言語ではないこと、しかし大域変数のみが使えること、ユーザー関数が使えないといった特殊性は受け入れるとしても、Goto をあまり使わずにブロック構造でフローを構成するコードが書けます。なお、プログラム関数電卓として販売されている fx-71F や fx-72F に搭載されている言語は機能が低く、ここでいう新世代 Casio Basic とは全く別物です。

<新世代Casio Basic搭載機>
  - fx-5800P
  - fx-9860G (OS ver 2.以降推奨)
  - fx-9860GII (OS ver 2 以降推奨)
  - fx-CG10
  - fx-CG20
  - fx-FD10 Pro
  - fx-CG50
  ※ OS は最新バージョンへアップグレードできます

初級・中級の表記について
  初級 - Casio Basic の命令/コマンドの使い方を覚えるレベル
  中級 - プログラムの構造やロジック、変数の使い方を工夫するレベル
  中級者で十分使いこなせるので、上級と言う表記はありません

Casio Basic でのグラフィックス プログラミングを取り上げています。先ずは グラフィックスコマンドを徹底的に調べている段階なので、別系統で連載します。これまでの「Casio Basicを使ってみる」の連載は、継続予定です。
 ⇒ Casio Basicでグラフィックス


詳細な目次

1. はじめに
      ⇒ Casio Basic入門1

2. プログラミングとは
      ⇒ Casio Basic入門1

3. fx-5800P CasioBasicのコマンド一覧
      ⇒ Casio Basic入門2

4. CasioBasicを使ってみる
[fx-5800P 向け] (fx-9860GII、fx-CG20、fx-CG50にも移植可)

Chapter 0

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

      - プログラム新規作成
      - プログラム編集
      - プログラム実行
      - →命令 (代入命令)
      - ?命令 (入力命令)
      - 命令 (出力命令)

      ⇒ Casio Basic入門2

Chapter 1 - 初級
Getkey と Locate コマンドを使いこなす
キーコード取得プログラム - GET KEYCODE を作る 

      - Locate
      - Getkey
      - Doループ
      - Whileループ
      - Isz命令 (インクリメント・ジャンプ命令)
      - " " 出力命令
      - EngOn / EngOff
      - If 文
      - ⇒命令 (条件ジャンプ命令)


      ⇒ Casio Basic入門3
             - Chapter 1-1: Getkey、Locate
             - Chapter 1-2: Goto / Lbl ループ、EngモードとLocate

      Casio Basic入門4
             - Chapter 1-3: 繰り返し処理 Doループ

     Casio Basic入門5
             - Chapter 1-4: Locateコマンドと出力命令" "の違い
             - 
Chapter 1-5: 思い込みの罠 - Locateの表示桁数
             - Chapter 1-6: プログラム完成
             - Chapter 1-7: 思い込みの罠(補足) - 1桁のキーコード

      ⇒ Casio Basic入門6
             - Chapter 1-8: DoループとWhileループ再び

      Casio Basic入門7
             - Chapter 1-9: Locateコマンドで陥るバグ
             - Chapter 1-10: 利用価値の高い⇒命令(条件ジャンプ)を使ってみる

      ⇒ Casio Basic入門8
             - Chapter 1-11: ダイナミックな表示機能の実装
             - Chapter 1-12: プログラムのバックアップ


Chapter 2 - 初級
動きのあるプログラムを作る
反射ゲーム - REACT を作る

      - Lbl / Goto ループ
      - Dsz命令 (ディクリメント・ジャンプ命令)
      - Int( ) / Frac( ) 関数
      - Break コマンド
      - 例外処理 / 例外フラグ
      - 複数条件分岐 - Else If
      - ブロック構造 (構造化プログラミングの勧め)
      - アルファベット小文字の表示
      - For~To~Next
      - Progコマンド(サブルーチン)

      ⇒ Casio Basic入門9
             - Chapter 2-0: Lbl / Gotoループを使う
             - Chapter 2-1: 回る羽根を作る

      ⇒ Casio Basic入門10
             - Chapter 2-2: ランダム関数を使う
             - Chapter 2-3: 再びGetkeyとDoループでカウンタ計測
             - Chapter 2-4: 例外処理・例外フラグ・Breakコマンド

      ⇒ Casio Basic入門11
             - Chapter 2-5: プログラム制御
             - Chapter 2-6: 複数条件分岐の記法

      ⇒ Casio Basic入門12
             - Chapter 2-7: ゲーム終了条件の実装

      ⇒ Casio Basic入門13
             - Chapter 2-8: ゲーム進行に変化を付ける
             - Chapter 2-9: ゲームの仕上げ - 構造化プログラミング

      ⇒ Casip Basic入門14
              - Chapter 2-10: For文とProgコマンドを使ってみる


Chapter 3 - 中級
自由自在に入力する
入力ボックス - INPI を作る

      - 配列変数
      - 論理演算コマンド
      - For~To~Next
      - Progコマンド(サブルーチン)
      - サブルーチンの使い方
      - アルファベット小文字の表示
      - デバッグ方法
      - ド・モルガンの法則
      - 変数の使い方 - 予約変数と使捨て変数
      - 変数の適用範囲

      ⇒ Casio Basic入門15
             - Chapter 3-0: 動作確認用メインルーチンを作る

      ⇒ Casio Basic入門16
             - Chapter 3-0(続き): 「入力ボックス」を作る - 論理演算をする

      ⇒ Casio Basic入門17
             - Chapter 3-1: 「入力ボックス」プログラムの改造

      ⇒ Casio Basic入門18
             - Chapter 3-2: 入力ボックス - 末尾文字の削除機能を追加する
                デバッグ方法、ド・モルガンの法則、変数の適用範囲を理解する


Chapter 4 - 中級
換算プログラムを作る
和暦・西暦変換プログラム - YEAR CONV を作る

      - Progコマンド (サブルーチン)
      - サブルーチンの使い方
      - 変数の使い方 - 予約変数と使い捨て変数

      ⇒ Casio Basic入門19
             - Chapter 4-0: 和暦・西暦換算プログラム - 完成状態の紹介
             - Chapter 4-1: 最初にプログラム構造を考える
             - Chapter 4-2: 和暦・西暦換算プログラムを実装する

      ⇒ Casio Basic入門20
             - Chapter 4-3: オマケ機能の追加 - 数の桁数の求め方

      ⇒ Casio Basic入門21
             - Chapter 4-4: キー長押しによるメニュー選択

      ⇒ Casio Basic入門22
             - Chapter 4-5: キー長押しの処理を作る
             - Chapter 4-6: サブルーチンを使いこなす


Chapter 5 - 中級
サブルーチンを使いこなす

世界時間換算プログラム - TIME ZONE を作る

      - 入力ボックスを使う
      - サブルーチンを活用した効率的な機能追加
      - 変数の使い方 - 予約変数と使捨て変数
      - キー長押しの活用
      - 矢印キーによる循環項目選択

      ⇒ Casio Basic入門23
            - Chapter 5-0: プログラムの仕様
            - Chapter 5-1: TIME ZONE プッログラムの完成形

      ⇒ Casio Basic入門24
            - Chapter 5-2 Getkey、入力ボックス、Locate の活用

      ⇒ Casio Basic入門25
            - Chapter 5-3: 同様の機能を追加する

      ⇒ Casio basic入門26
            - Chapter 5-4: 少し異なるルーチンを、分かりやすく追加する

      ⇒ Casio Basic入門27
            - Chapter 5-5: 少し異なるルーチンを、分かりやすく追加する(2)

      ⇒ Casio Basic入門28
            - Chapter 5-6: キー長押しによる機能呼び出し

      ⇒ Casio Basic入門29
            - Chapter 5-7: 矢印キーの活用

      ⇒ Casio Basic入門30
     - Chapter 5-8: 類似処理による機能追加

      ⇒ Casio Basic入門31
     - Chapter 5-9 キー長押しによる別機能の呼び出し


Chapter 6 - 中級
プログラムを速くする
入力ボックスの高速化と拡張 - 入力ボックス 2.0 を作る

      - 処理速度の遅いコマンド/命令を見極める
      - プログラムロジックの見直し

      ⇒ Casio Basic入門32
     - Chapter 6-0: コマンドや命令の処理速度を比較する
     - Chapter 6-1: 具体的に対処する遅い処理を見つける

      ⇒ Casio Basic入門33
     - Chapter 6-2: ロジックの見直しでプログラムを高速化する

  ⇒ Casio Basic入門34
     - Chapter 6-3: 処理速度を意識して機能拡張する

  ⇒ Casio Basic入門35
     - Chapter 6-4: 処理速度を意識して機能拡張する

  ⇒ Casio Basic入門36
     - Chapter 6-5: キーリピートを抑制する

  ⇒ Casio Basic入門37
     - Chapter 6-6: fx-5800P から fx-9860GII へ移植する


Chapter 7 - 超初級
ゼロからのプログラム作成と機能追加
温度換算プログラム- TEMP CONV を作る

      - 初めての fx-5800P プログラミング
      - プログラム作成の手順
      - プログラムの実行方法
      - ?(入力)命令

  ⇒ Casio Basic入門38
     - Chapter 7-1: 最もシンプルなプログラム

  ⇒ Casio Basic入門39
     - Chapter 7-2: 同様の機能を追加する

  ⇒ Casio Basic入門40
     - Chapter 7-3: 選択肢3つの換算プログラムに拡張する

  ⇒ Casio Basic入門41
     - Chapter 7-4: バグの原因と対処 - フラグの利用

  ⇒ Casio Basic入門42    
     - Chapter 7-5: プログラムの効率化


Chapter 8 - 初級
Basic 命令を使ってみる
温度換算プログラム - TEMP CONV を作る

   - ?(入力)命令を Baisc コマンでに置き換える
     ・ Getkey と Do ループ の使い方
     ・ 入力ボックスの使い方
   - ⇒(条件分岐)命令のメリット
   - キー入力制御
     ・ Getkey と While ループの使い方

  ⇒ Casio Basic入門43
     - Chapter 8-1: メニュー選択に Getkey を使う

  ⇒ Casio Basic入門44
     - Chapter 8-2: 入力ボックスを使ってみる

  ⇒ Casio Basic入門45
     - Chapter 8-3: 換算プログラムの入力ボックスを実装する

  ⇒ Casio Basic入門46
     - Chapter 8-4: テンキー以外のキー入力を利用する

  ⇒ Casio Basic入門47
     - Chapter 8-5: [EXIT] キーで正常終了させる

  ⇒ Casio Basic入門48
     - Chapter 8-6: グラフ関数電卓用入力ボックスを準備する

  ⇒ Casio Basic入門49
     - Chapter 8-7: グラフ関数電卓へプログラムを移植する

  ⇒ Casio Basic入門50
     - Chapter 8-8: グラフ関数電卓用に表示を最適化する


Chapter 9 - 初級
簡単な換算プログラム - 入力ボックスの活用
福利計算プログラム - CompInt を作る

   - Getkey と Do ループ の使い方
   - 入力ボックスの使い方
   - 数値の3桁区切り表示をサブルーチンで実装
   - 3桁区切りのロジックを改善(高速化)

  ⇒ Casio Basic入門51
     - Chapter 9-1: fx-5800P で複利計算プログラムを作る

  ⇒ Casio Basic入門52
     - Chapter 9-2: fx-5800P で3桁区切り表示をする

  ⇒ Casio Basic入門53
     - Chapter 9-3: fx-5800P での3桁区切り表示を高速化する

  ⇒ Casio Basic入門54
     - Chapter 9-4: fx-5800P での3桁区切り表示を改良する


Chapter 10 - 中級
3桁区切り出力 - 汎用サブルーチンの作成と活用
3桁区切り出力・汎用サブルーチン - 3DS を作る

   - 数値の3桁区切り出力を汎用サブルーチン化
   - 旧来の出力命令 " " 、出力命令 の癖
   - 大域変数の使いこなし

  ⇒ Casio Basic入門55
     - Chapter 10-1: 高速3桁区切り出力サブルーチンの特長

  ⇒ Casio Basic入門56
     - Chapter 10-2: 高速3桁区切り出力サブルーチンの評価と改善

  ⇒ Casio Basic入門57
     - Chapter 10-3: 3桁区切りサブルーチン fx-5800P版 右寄せ出力機能の追加

  ⇒ Casio Basic入門58
     - Chapter 10-4: 3桁区切りサブルーチン fx-5800P版の使いこなし

  ⇒ Casio Basic入門59
     - Chapter 10-5: 3桁区切りサブルーチン グラフ関数電卓版


5. Casio Basicでグラフィックス [fx-9860GII / fx-CGシリーズ向け]

Casio Basicでグラフィックス
グラフィックスコマンドの仕様や特徴

  ⇒ Casio Basic入門G01
     - Chapter G01: LCDと3つの座標系

  ⇒ Casio Basic入門G02
     - Chapter G02:  グラフィックス画面の設定と描画

  ⇒ Casio Basic入門G03
     - Chapter G03: ClrGraphViewWindow

  ⇒ Casio Basic入門G04
     - Chapter G04: Plot コマンド

  ⇒ Casio Basic入門G05
     - Chapter G05: PlotViwWindow

  ⇒ Casio Basic入門G06
     - Chapter G06: F-Line と 線のスタイル設定

  ⇒ Casio Basic入門G07
     - Chapter G07: 点線と ViewWindow

  ⇒ Casio Basic入門G08
     - Chapter G08: ViewWindow (直交座標系) の有効活用 / RclPictRclCapt の違い

  ⇒ Casio Basic入門G09
     - Chapter G09: ViewWindow と設定変数

  ⇒ Casio Basic入門G10
     - Chapter G10: Circle コマンド

  ⇒ Casio Basic入門G11
     - Chapter G11: PxlOn コマンド

  ⇒ Casio Basic入門G12
     - Chapter G12: PxlOff コマンド

  ⇒ Casio Basic入門G13
     - Chapter G13: PxlChg コマンド

  ⇒ Casio Basic入門G14
     - Chapter G14: PxlTest() コマンド

  ⇒ Casio Basic入門G15
     - Chapter G15: 


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


 


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

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

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

コメントの投稿

非公開コメント

Re: リンクさせていただきました。

とねさん

> こちらの記事を僕の電卓記事からリンクさせていただきました。

ご丁寧にありがとうございます。


> それにしても、fx-5800Pを使い倒していらっしゃいますね。
> これだけ詳しい解説はどこを探しても見当たりません。

当ブログでは、「取扱説明書では分からない Casio Basic の使いこなし」をメインテーマにしていますので、嬉しいお言葉です。

世界を見渡してもおそらくダントツの詳しさだと、だんだん分かってきたので、英語での発信を始めていますが、なかなか進みません。とねさんの最近のブログ記事の中には、日英両方でアップされていますね。なかなかとねさんのような分かり易い英語が書けず、時間がかかってしまっています。

最近、ネイティブの方から修正の提案があったりしますので、このような協力が得られるとマシになってくると思います。



リンクさせていただきました。

やすさん

こんにちは。
こちらの記事を僕の電卓記事からリンクさせていただきました。
それにしても、fx-5800Pを使い倒していらっしゃいますね。
これだけ詳しい解説はどこを探しても見当たりません。
最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR