2022.7.5
前へ
次へ
ホームページトップへ戻る


PIC−USBIO using BASIC

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第18回]



●文字列の大小比較、STOP、CONT、LEN()、NEW

前回は数の大小比較について書きました。
今回は文字列の大小比較です。
文字列も数値の大小比較と同様に2つの文字変数、文字定数を以下の関係演算子で示します。
> 大きい
< 小さい
= 等しい
# 等しくない
>= 大きいか等しい
<= 小さいか等しい

文字列の大小は文字列を構成する文字の文字コードを比較しますが、文字コードの比較よりも前にまず最初に文字列の長さ(桁数)の大小を比較します。
文字列の場合には文字コードに関わらず文字列の長さ(桁数)が大きい方が大になります。
2つの文字列の長さが同じ場合には比較する文字列の文字コードを先頭から順に比較します。
たとえば文字列”ABC”の文字コードは41・42・43で、”abc”の文字コードは61・62・63です(いずれも16進数表記)。
この場合には”ABC”<”abc”になります。
”Abc”と”aBC”の場合も1桁目の比較で”A”<”a”が確定しますから”Abc”<”aBC”です。
”ABC”と”ABc”では3桁目で”C”<”c”が確定しますから”ABC”<”ABc”になります。

下は使用例です。

A$に”ABC”、B$に”abc”が入っています。
A$とB$の大小を比較してその結果をPRINT文で表示します。
上のプログラムを実行しました。

前回の数値の比較の場合と全く同じで、2変数A$とB$を関係演算子でつないだ式は2変数を比較した結果によって1(真)または0(偽)の値をもちます。
A$=”ABC”、B$=”abc”ですからA$>B$、A$=B$、A$>=B$は0(偽)でそのほかは1(真)になります。
上の例のように関係式を()で囲って示すこともできます。
上記例のような関係式は主にIF文の条件として使われます。
下はIF文で使った例です。

A$<B$ですから最初のIF文の結果が真になってその行が最後まで実行されます。
最後に行の終わりにあるgoto *abcが実行された結果*abcの行が実行されて最後のstop文でブレイクしました。

STOP文

上記のようにSTOP文を実行するとそこでプログラムの実行を打ち切ってシステムに戻ります。
その行よりも後ろにもまだプログラム行が続いているけれどもそこでプログラムの実行を終了したいというときにそこにSTOP文を書きます。
プログラムの最終行にSTOP文を書く必要はありません。
またPIC−USBIO用BASICにはEND文はありません。
プログラムの最終行にはSTOPもENDも書かずにそのまま終ります。

CONTコマンド

何らかの理由でSTOP文でブレイクしたプログラムをその次の行から実行を再開したい場合があります。
そんなときにはCONTコマンドでその次の行から実行を再開することができます。
ただしエラー表示でブレイクした場合やプログラムの一部を書き直したような場合にはCONTコマンドを使うことができません。
下の例はあまり適切な例ではありませんが、上の例で*abcの行でブレイクしたあとでCONTコマンドを実行しました。

CONTコマンドの入力によってブレイクした次の行の*xyzの行が実行されました。

LEN()

LEN()関数を使うと文字列の長さを知ることができます。
下はその実行例です。


NEW

NEWコマンドはそれまでメモリにあったプログラムを消去します。
プログラムを最初から新しく書き直したいときに使います。
新しく書いたプログラムを実行するとa$には”ABCDE”がB$には”xyz12345”が入ります。
そのあと30行の実行によってa$の文字列の長さ(5)とb$の文字列の長さ(8)が表示されました。

PIC−USBIO using BASIC[第18回]
2022.7.5upload

前へ
次へ
ホームページトップへ戻る