Casio Basic入門4

Casio Basic入門
<目次>

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


 4. CasioBasicを使ってみる(続き)

Chapter 1 - 初級
GetkeyLocate コマンドを使いこなす

前回: Casio Basic入門3


◆ Chapter 1 の目標: キーコードを調べるプログラムを作る

Chapter 1-2 までに作ったプログラム

プログラム名: CH1-2-2
Lbl 0
Getkey→K
Locate 2,1,"  "
        (" " の中はスペース1つ:2014/11/19 追記)
Locate 1,1,K
Goto 0


このプログラムは、何かキーを押している時は、画面の左上にキーコードを表示し、押していない時は 0 を表示し続けます。

キーコードを調べて表示するプログラムは、実は私自身が、プログラムを作る時にあったら便利だと思って作ったものです。キーを離したらキーコードが消えてしまうのはチョット不便で、別のキーを押すまでは前のキーコードを表示しておいて欲しいと思うのです。

好みの問題もあるでしょうが、プログラムの完成度を上げてゆきますので、お付き合いください。




Chapter 1-3
繰り返し処理:Doループ

キーを離しても Getkey コマンドが返す 0 を表示しないようにする方法ですが、ここでは「Getkey が 0 を返す間はプログラムを先へ進めないようにし、0 以外を返した時にプログラムを先へ進める」 というように、プログラムを変更してみます。

[ 何かの条件が成り立つ場合] に 処理を繰り返すコマンドがあるので、これを使うとピッタリです。

Do ループ

Do ループの書式は、以下のように決まっています。

Do
[ 繰り返したい処理 ]
LpWhile [ 繰り返しを行う条件 ]



今やりたいことは、、

Do
Getkey→K
LpWhile [ K=0 が成り立つ場合 ]


となります。


具体的に書くと、以下になります。

Do
Getkey→K
LpWhile K=0


はい、スッキリしましたね。

プログラム編集画面で、LpWhile K=0 の = 記号を入力できますか?

= 記号は比較演算子なので、プログラム編集画面で、[FUNCTION] キーを押し、出てくるメニューで 「3:PROG」を選び([3] キーを押し)、[▼]キーを1回押すと、メニューに 「1:=」 が現れますね。ここで、[1] キーを押してこれを選択します。


それでは、プログラム CH1-2-2 を以下のように改造して、プログラム CH1-3 とします。

プログラム名 CH1-3
Lbl 0
Do
Getkey→K
LpWhile K=0
Locate 2,1,"  "
        (" " の中はスペース1つ: 2014/11/19 追記)
Locate 1,1,K
Goto 0


改造したプログラムを実行してみてください。意図した通りに、次のキーを押すまで、最後に押したキーのキーコードが表示されますね。

K=0 である限り Getkey→K が繰り返され、K=0 以外になると(つまり、何かキーが押された時に)繰り返し処理をやめて、Locate コマンドが実行され、キーコードが表示されます。



プログラムの説明

プログラムは何か特別の指示が無い限り、上から下へ止まらず、連続的に実行される、これは重要ですから繰り返します。その上で、プログラム CH1-3 の Do ループの細かい動きをみてゆきましょう。

1) プログラムが上から実行されてきて、

2) Do にたどり着くと、そのまま LpWhile が出てくるまで下へ進み、

3) LpWhile が見つかると、その右に書かれている [条件]をチェック!

4-1) 書かれている [条件] が正しい時は、Do までジャンプし、

4-2) 書かれている [条件] が正しくない時は、LpWhile の下へ進む。



自分で書いたプログラムが意図した通りに動かない時は、このように1つづつ確認する必要がありますので、細かいところまで分かっておくことが大切です。

と言うのも、Do ループと似たようなコマンドに、While ループがあります。


While ループの書式

While [繰り返しを行う条件]
[繰り返したい処理:
WhileEnd



似たようでいて、これらは微妙に違いがあります。

Do ループをおさらいすると、Do に出くわした時は、そのまま下へ処理を進め、LpWhile が出てきた時に、繰り返すをするかどうかの判断を行います。つまり、繰り返し処理の最後で条件判断を行います。

一方、Whileループでは、Whileに出くわした時、先ず最初に繰り返しの条件判断を行います。条件が会えば、Whileの下へ処理が進み、WhileEndまできたら無条件でWhileまでジャンプします。つまり、繰り返し処理の最初で条件判断を行うのです。

別の言い方をすれば、Doループでは、DoとLpWhileの間に書かれている処理を最低1回は実行します。一方、Whileループでは、WhileとWhileEndの間に書かれている処理を1度も実行しないことが有り得ます。

Whileループについては、後で実際に使ってみます。今はDoループの詳しい動作を忘れずにいてください。

※ CasioBasicコマンドリファレンス
      - Do~LpWhile
      - While~WhileEnd


さて、プログラム CH1-3 は、画面がそっけないですね。プログラムの名前や、今何を表示しているのかの説明や操作方法などが表示されると、プログラムのクォリティーが向上します。


仕上がりの目標は、以下のようなものです。


プログラム起動時の表示:

1-GetKeycode 


キーを押した時の表示:

2-GetKeycode 


次回までに、ご自分で試しに作ってみると良いかもしれません。


なお、Chapter 1 では、この写真のような表示を実装した後、もう少し面白い機能を追加してみる予定です。


つづく...

⇒ CasioBasic入門5 / 目次




応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


カシオプログラム関数電卓 FX-5800P-Nカシオプログラム関数電卓 FX-5800P-N
(2006/09/22)
CASIO(カシオ)

商品詳細を見る



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

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

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

コメントの投稿

非公開コメント

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

やす (Krtyski)

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


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

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

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


人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

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

この人とブロともになる

QRコード
QR