プログラミング講座(147) 条件式

今月から Small Basic オフィシャルブログのライターになりました。今のところ毎週月曜配信してます。早いもので、すでに5本の記事を投稿しました。残念ながら英語です。日本のみなさんとも Small Basic でのプログラミングの楽しさを分かち合いたいので、このブログに日本語の記事を書いていきたいと思います。

今日はオフィシャルブログに先行して Small Basic の条件式について記事を書きます。

Small Basic には変数の型がないのですが、条件式の結果は内部的には論理型になります。”True” か “False” のどちらかの値を取ります。文字列でこれらの値を指定することが可能です。大文字と小文字の区別はないので、”true” や “FALSE” と書いても正常に動作します。文字列で指定する場合、実は “True” だけが判定され、”True” 以外は “False” の扱いになります。

While “True”
 If clicked Then
  Shoot()
 Else
  Program.Delay(200)
 EndIf
EndWhile

他の言語では論理型の変数に条件式の結果を代入できる場合もありますが、Small Basic では代入はできません。条件式が書けるのは、If 文、For 文、While 文といった制御文の条件としてのみ書けます。

条件式には比較式と論理式が書けます。比較式は演算子 =, <, >, <=, >=, <> で2つの値を比較します。文字列同士の大小比較(= と <> 以外)はいったん数値に変換してから行われるようで、数値に変換できない文字列は 0 常にとして扱われます。

したがって Small Basic で文字列の大小を比較するには、そのためのサブルーチンを作成する必要があります。

論理式は比較式、論理式などを And または Or でつないだものです。以前の BASIC には NOT がありましたが、Small Basic には Not はありません。ちょっとトリッキーですが、以下のように記述することはできます。

Not = “True=False;False=True;”
While Not[keydown]
 Program.Delay(200)
EndWhile

ただし、これも前述の理由で、Not[a > b] のような記述はできません。

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。