●文字列とは、文字を並べたものをいいます。スペースも文字と考えますから、単語と同じではありません。
●文字列も数値と同様に変数に入れることができます。変数という名前から「数」でないものを入れるのは変なのですが、英語では variable で「変化するもの」といった意味ですので、訳語が悪いのです。
●BASICでは変数名のあとに「$」をつけて文字変数であることを示す必要があります。
LET moji$= "ABC" PRINT moji$ END
●日本語に対応したシステムの場合は文字列変数の中に全角文字を入れることができます。
●文字列同士をつなげるには & を使います。たとえば
LET s$ = "abc" & "def" LET t$ = s$ & "ghi" PRINT t$ END
を実行すると,
abcdefghi
●& の代わりに + を使えるBASICもあります。
●A$(m:n) と書くと、A$のm文字目からn文字目までの文字列を表わします。
LET A$="abcdef" LET B$=A$(2:4) PRINT B$ END
2文字目から4文字目だから結果は、
bcd
●LET文の左辺の文字列変数に部分文字列指定をすることができます。 LET S$(3:5)="RSTU" はS$の3文字目から5文字目までをRSTUに置換するという意味になります。
LET S$ = "abcdefgh" LET S$(3:5)="RSTU" PRINT S$ END
結果は、
abRSTUfgh
●十進BASICでは全角文字も半角文字も1文字は1文字とします。(実は全角文字は2バイト、半角1文字は1バイトなので、全角は1文字で2文字という数え方も成り立ちます。このようにしたいときは、はじめにOPTION CHARACTER BYTE という宣言をします。)
●aisatsu$ に「こんにちは」、san$ に「さん」、aite$ に自分の名前を入れておき、PRINT bun$ で「こんにちは〜〜さん」と表示されるようにプログラムしなさい。
??
結果は、
こんにちは〜〜さん (〜〜に自分の名前)
●次の書き方をするとどうなるかをプログラムを作って確かめよ。
LET s$="123456789" LET t1$=s$(4:7) LET t2$=s$(4:12) PRINT t1$,t2$ LET s$="123456789" LET s$(4:7)="abcdefghijklmn" PRINT "s$=";s$ LET u$="abcdefgh" LET u$(2:7)="" PRINT "u$=";u$ LET v$="abcdefgh" LET v$(5:4)="------" PRINT "v$=";v$ END
計算結果は、
??