Syn BASICのプログラムの作り方(8)

このページをスマートフォンなどでご覧になる場合は、画面を横長にする方が読みやすくなる事があります。
目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ
2024年10月09日 公開

記事きじにふりがなをけたいときは、つぎのチェックボックスをクリックしてください。

3-7.文字もじれつれておくはこ(文字もじれつ変数へんすう)を使つかってみる

これまでは、数字すうじれるはこである、数値すうち変数へんすう使つかってましたが、今度こんどは、文字もじれつれるはこである、文字もじれつ変数へんすう使つかってみましょう。

ドル記号きごう($ドル)でわる変数へんすうめいにすると、文字もじれつ変数へんすうになります。たとえば、A$ドルFIRST_NAME$ドル名字みょうじ$ドルなどは文字もじれつ変数へんすう変数へんすうめいです。

文字もじれつ変数へんすうには、代入だいにゅうぶんで、文字もじれつ代入だいにゅうすることができます。

たとえば、A$ドル="abc"という代入だいにゅうぶんは、A$ドルという文字もじれつ変数へんすうに、abcという文字もじれつ代入だいにゅうします。

実際じっさいためしてみましょう。した画面がめん32で、A$ドル="abc"ENTERエンター入力にゅうりょくして、変数へんすうA$ドルabcという文字もじれつ代入だいにゅうしたあとに、PRINTプリント A$ドルENTERエンター入力にゅうりょくして、A$ドルあたい確認かくにんしてください。

画面32、練習れんしゅうよう画面がめん

A$ドル="abc"ENTERエンターPRINTプリント A$ドルENTERエンターと、じゅん入力にゅうりょくしてください。

そうすると、実行じっこうれい58にしめ表示ひょうじになります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
A$="abc" ← 変数A$にabcという文字列を代入
Ok
PRINT A$ ← A$の値を表示させる
abc ← A$の値のabcが表示される
Ok

実行例58、A$ドル="abc"ENTERエンターPRINTプリント A$ドルENTERエンター実行じっこうれい

このように、PRINTプリントぶんで、ちゃんとA$ドルabcという文字もじれつ代入だいにゅうされていることが、確認かくにんできます。

ある数値すうち変数へんすうと、その数値すうち変数へんすう変数へんすうめいうしろに$ドルけた文字もじれつ変数へんすうとは、まったくべつ変数へんすうとして、同時どうじ使つかことができます。

たとえば、Aという数値すうち変数へんすうと、A$ドルという文字もじれつ変数へんすうは、べつ変数へんすうで、それらは同時どうじ使つかことができます。

実際じっさいためしてみましょう。した画面がめん33で、A=5ENTERエンターA$ドル="abc"ENTERエンターPRINTプリント A,A$ドルと、じゅん入力にゅうりょくしてください。

画面33、練習れんしゅうよう画面がめん

A=5ENTERエンターA$ドル="abc"ENTERエンターPRINTプリント A,A$ドルと、じゅん入力にゅうりょくしてください。

そうすると、実行じっこうれい59にしめ表示ひょうじになります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
A=5 ← 変数Aに5を代入
Ok
A$="abc" ← 変数A$にabcという文字列を代入
Ok
PRINT A,A$ ← AとA$の値を表示させる
5       abc ← 5とabcが表示される
Ok

実行例59、A=5ENTERエンターA$ドル="abc"ENTERエンターPRINTプリント A,A$ドル実行じっこうれい

このように、AA$ドルは、まったべつ変数へんすうとしてあつかわれていることかります。

ところで、リスト6のプログラムを実行じっこうすると、なにこるかかんがえてください。

リスト6文字もじれつ変数へんすう使つかったプログラムのれいCOPY
10 A$="おじいさん"
20 B$="おばあさん"
30 PRINT "昔むかし、ある所に、";A$;"と";B$;"が住んでいました。";
40 PRINT "ある日のこと、";A$;"は山に柴刈りに、";B$;"は川に洗濯に行きました。";
50 PRINT B$;"が川で洗濯をしていると、川上から大きな桃が、";
60 PRINT "どんぶらこ、どんぶらこと流れてきました。"

なにこるかかんがえたら、つぎに、リスト6のプログラムを実行じっこうしてみましょう。した画面がめん34には、すでにリスト6のプログラムが入力にゅうりょくされています。RUNランENTERエンター入力にゅうりょくして、実行じっこうしてください。

10 A$="おじいさん"
20 B$="おばあさん"
30 PRINT "昔むかし、ある所に、";A$;"と";B$;"が住んでいました。";
40 PRINT "ある日のこと、";A$;"は山に柴刈りに、";B$;"は川に洗濯に行きました。";
50 PRINT B$;"が川で洗濯をしていると、川上から大きな桃が、";
60 PRINT "どんぶらこ、どんぶらこと流れてきました。"
画面34、練習れんしゅうよう画面がめん

RUNランENTERエンター入力にゅうりょくすると、リスト6のプログラムを実行じっこうできます。

そうすると、実行じっこうれい60にしめ表示ひょうじになります。

Ok
10 A$="おじいさん"
20 B$="おばあさん"
30 PRINT "昔むかし、ある所に、";A$;"と";B$;"が住んでいました。";
40 PRINT "ある日のこと、";A$;"は山に柴刈りに、";B$;"は川に洗濯に行きました。";
50 PRINT B$;"が川で洗濯をしていると、川上から大きな桃が、";
60 PRINT "どんぶらこ、どんぶらこと流れてきました。"
RUN ← プログラムを実行する
昔むかし、ある所に、おじいさんとおばあさんが住んでいました。ある日のこと、おじいさんは山に柴刈りに、おばあさんは川に洗濯に行きました。おばあさんが川で洗濯をしていると、川上から大きな桃が、どんぶらこ、どんぶらこと流れてきました。
Ok
実行例60、リスト6のプログラムを実行じっこうしたれい

このように、「むかしむかし、あるところに、おじいさんとおばあさんがんでいました…」と、桃太郎ももたろうはなし表示ひょうじします。

プログラムの10ぎょうで、A$ドルおじいさんという文字もじれつ代入だいにゅうしています。

20ぎょうでは、B$ドルおばあさんという文字もじれつ代入だいにゅうしています。

30ぎょう~60ぎょうPRINTプリントぶんで、桃太郎ももたろうはなし表示ひょうじしています。

なお、30ぎょう~50ぎょうPRINTプリントぶんように、PRINTプリントぶん最後さいごがセミコロン(;)でわっていると、表示ひょうじさい改行かいぎょうをしません。つまり、30ぎょう~60ぎょうPRINTプリントぶん表示ひょうじしている内容ないようは、途中とちゅう改行かいぎょうをはさまずに表示ひょうじされます。

桃太郎ももたろうはなし表示ひょうじするさいに、登場人物とうじょうじんぶつ名前なまえを、一旦いったんA$ドル(おじいさん)とB$ドル(おばあさん)の2つの文字もじれつ変数へんすう代入だいにゅうしてから使つかっているてんが、このプログラムのポイントです。このように、名前なまえ文字もじれつ変数へんすうれておくと、プログラムの最初さいしょ代入だいにゅうぶんえるだけで、登場人物とうじょうじんぶつ変更へんこうできます。

たとえば、10ぎょう10 A$ドル="太郎たろう"え、20ぎょう20 B$ドル="はな"えると、「むかしむかし、あるところに、太郎たろうはなんでいました。あるのこと、太郎たろうやましばりに、はなかわ洗濯せんたくきました…」という具合ぐあいに、登場人物とうじょうじんぶつ太郎たろうはな桃太郎ももたろうはなし表示ひょうじされます。

是非ぜひ画面がめん34で、A$ドルB$ドル代入だいにゅうする文字もじれつえて、おじいさんやおばあさん以外いがいひと登場とうじょうする桃太郎ももたろうはなし表示ひょうじしてみてください。

3-8.INPUTインプットぶんでプログラム実行じっこう入力にゅうりょくしたあたい変数へんすう代入だいにゅうする

INPUTインプットぶん使つかうと、プログラムの実行じっこうに、ユーザー(BASICベーシックつくったプログラムを使つかひと)が入力にゅうりょくしたあたいを、変数へんすう代入だいにゅうすることができます。

ためしに、INPUTインプットぶん使つかってみましょう。した画面がめん35で、INPUTインプット AENTERエンター入力にゅうりょくしてください。

画面35、練習れんしゅうよう画面がめん

INPUTインプット AENTERエンター入力にゅうりょくしてください。

そうすると、実行じっこうれい61のように、クエスチョンマーク(?)が表示ひょうじされます。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
INPUT A ← INPUT文
?  ← ?が表示されて入力状態になる
← ここにOkが表示されていない
実行例61、INPUTインプット AENTERエンター実行じっこうれい

INPUTインプットぶん入力にゅうりょくしたあとに、まだOkオーケー表示ひょうじされていないことからかるように、まだINPUTインプットぶん実行じっこうわっていません。(実行じっこうちゅうです)

INPUTインプットぶんというのは、ユーザーにあたい入力にゅうりょくしてもらって、その入力にゅうりょくされたあたい変数へんすう代入だいにゅうするというはたらきをします。INPUTインプット A場合ばあいなら、入力にゅうりょくされたあたい変数へんすうA代入だいにゅうします。

実行じっこうれい61の状態じょうたいで、123ENTERエンター入力にゅうりょくすると、変数へんすうAに123というあたい代入だいにゅうされます。つづけてPRINTプリント AENTERエンター入力にゅうりょくすると、変数へんすうAに123が代入だいにゅうされたことが確認かくにんできます。(実行じっこうれい62参照さんしょう)

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
INPUT A
? 123 ← 123を入力する
Ok
PRINT A ← PRINT文でAの値を確認
123 ← 先程入力した123が表示される
Ok

実行例62、実行じっこうれい61の状態じょうたい123ENTERエンターPRINTプリント AENTERエンターじゅん入力にゅうりょくしたれい

INPUTインプットぶん文字もじれつ指定していして、ユーザーにあたい入力にゅうりょくしてもらうさいに、メッセージを表示ひょうじすることができます。

実際じっさいためしてみましょう。つぎ画面がめん36で、INPUTインプット "Xのあたい: ",XENTERエンター入力にゅうりょくしてください。

画面36、練習れんしゅうよう画面がめん

INPUTインプット "Xのあたい: ",XENTERエンター入力にゅうりょくしてください。

そうすると、実行じっこうれい63にしめように、Xのあたいというメッセージがあとに、入力にゅうりょく状態じょうたいになるはずです。このように、メッセージを表示ひょうじすると、「変数へんすうXに代入だいにゅうするあたい入力にゅうりょくすればいいんだな」と、入力にゅうりょくするあたい意味いみをユーザーが理解りかいしやすくなります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
INPUT "Xの値: ",X ← メッセージ付きのINPUT文
Xの値:  ← メッセージの後で入力状態になる
実行例63、INPUTインプット "Xのあたい: ",XENTERエンター入力にゅうりょくしたれい

実行じっこうれい63の状態じょうたいで、さらに456ENTERエンターと、変数へんすうX代入だいにゅうするあたい入力にゅうりょくし、さらにPRINTプリント XENTERエンター入力にゅうりょくすることで、変数へんすうX代入だいにゅうされたあたい確認かくにんしてください。456表示ひょうじされるはずです。(実行じっこうれい64参照さんしょう)

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
INPUT "Xの値: ",X
Xの値: 456 ← Xの値として456を入力
Ok
PRINT X ← Xに代入された値を表示させる
456 ← 先程入力した456が表示される
Ok

実行例64、実行じっこうれい63の状態じょうたいXあたいとして456を入力にゅうりょくしたれい

INPUTインプットぶん使つかうと、計算けいさん使つかあたいを、実行じっこうにユーザーに入力にゅうりょくしてもらうプログラムをつくことができます。

れいとして、リスト7のようなプログラムをつくりました。

リスト7入力にゅうりょくされた2つのかず四則しそく演算えんざんするプログラムCOPY
10 PRINT "XとYの2つの数を入力してください。"
20 INPUT "Xの値: ",X
30 INPUT "Yの値: ",Y
40 PRINT
50 PRINT "X + Y = ";X+Y
60 PRINT "X - Y = ";X-Y
70 PRINT "X × Y = ";X*Y
80 PRINT "X ÷ Y = ";X/Y

このプログラムは、XYの2つのかず入力にゅうりょくすると、その2つのかず使つかって四則しそく演算えんざんするものです。

10ぎょうでは、XとYの2つのかず入力にゅうりょくしてください。というメッセージを画面がめん表示ひょうじします。

20ぎょうでは、INPUTインプットぶんで、入力にゅうりょくされたあたい変数へんすうX代入だいにゅうします。

30ぎょうでは、INPUTインプットぶんで、入力にゅうりょくされたあたい変数へんすうY代入だいにゅうします。

40ぎょうでは、なに表示ひょうじせずに改行かいぎょうします。

50ぎょうでは、XY(X+Y)を表示ひょうじします。

60ぎょうでは、XY(X-Y)を表示ひょうじします。

70ぎょうでは、XYせき(X*アスタY)を表示ひょうじします。

80ぎょうでは、XYしょう(X/スラッシュY)を表示ひょうじします。

した画面がめん37には、リスト7のプログラムがあらかじめ入力にゅうりょくされています。RUNランENTERエンター入力にゅうりょくすると、実際じっさい動作どうささせることができます。

10 PRINT "XとYの2つの数を入力してください。"
20 INPUT "Xの値: ",X
30 INPUT "Yの値: ",Y
40 PRINT
50 PRINT "X + Y = ";X+Y
60 PRINT "X - Y = ";X-Y
70 PRINT "X × Y = ";X*Y
80 PRINT "X ÷ Y = ";X/Y
画面37、練習れんしゅうよう画面がめん

RUNランENTERエンター入力にゅうりょくすると、リスト7のプログラムを実行じっこうできます。

Xあたいとして8、Yあたいとして5を入力にゅうりょくしたときは、実行じっこうれい65のよう実行じっこう結果けっかになります。

10 PRINT "XとYの2つの数を入力してください。"
20 INPUT "Xの値: ",X
30 INPUT "Yの値: ",Y
40 PRINT
50 PRINT "X + Y = ";X+Y
60 PRINT "X - Y = ";X-Y
70 PRINT "X × Y = ";X*Y
80 PRINT "X ÷ Y = ";X/Y
RUN ← RUN命令でプログラムを実行
XとYの2つの数を入力してください。
Xの値: 8 ← Xの値として8を入力
Yの値: 5 ← Yの値として5を入力

X + Y = 13 ← 8+5の計算結果を表示
X - Y = 3 ← 8-5の計算結果を表示
X × Y = 40 ← 8×5の計算結果を表示
X ÷ Y = 1.6 ← 8÷5の計算結果を表示
Ok

実行例65、Xあたいを8、Yあたいを5として実行じっこうしたれい

INPUTインプットぶんで、ユーザーが入力にゅうりょくした文字もじれつを、文字もじれつ変数へんすう代入だいにゅうすることもできます。

たとえば、リスト8のプログラムをてください。

リスト8文字もじれつ変数へんすう使つかったINPUTインプットぶん応用おうようしたプログラムCOPY
10 INPUT "名前を入力してください: ",NAME$
20 PRINT "こんにちは、";NAME$;"さん。";NAME$;"って、いい名前ですね。"

このプログラムの10ぎょうINPUTインプット "名前なまえ入力にゅうりょくしてください: ",NAME$ドルというINPUTインプットぶんでは、名前なまえ入力にゅうりょくしてください: というメッセージを表示ひょうじしてから、変数へんすうNAME$ドル代入だいにゅうする文字もじれつ入力にゅうりょく状態じょうたいになります。

20ぎょうPRINTプリントぶんでは、10ぎょうINPUTインプットぶん入力にゅうりょくしたNAME$ドルあたい利用りようしたメッセージを表示ひょうじします。

した画面がめん38には、リスト8のプログラムがあらかじめ入力にゅうりょくされています。RUNランENTERエンター入力にゅうりょくすると、プログラムを実行じっこうできます。

10 INPUT "名前を入力してください: ",NAME$
20 PRINT "こんにちは、";NAME$;"さん。";NAME$;"って、いい名前ですね。"
画面38、練習れんしゅうよう画面がめん

RUNランENTERエンター入力にゅうりょくすると、リスト8のプログラムを実行じっこうできます。

プログラムを実行じっこうして、太郎たろう入力にゅうりょくすると、実行じっこうれい66にしめように、「こんにちは、太郎たろうさん。太郎たろうって、いい名前なまえですね。」と表示ひょうじされます。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 INPUT "名前を入力してください: ",NAME$
20 PRINT "こんにちは、";NAME$;"さん。";NAME$;"って、いい名前ですね。"
RUN ← RUN命令でプログラムを実行
名前を入力してください: 太郎 ← 太郎と入力
こんにちは、太郎さん。太郎って、いい名前ですね。 ← 20行で表示したメッセージ
Ok

実行例66、リスト8のプログラムを実行じっこうして太郎たろうENTERエンター入力にゅうりょくしたれい

次回じかいは、INPUTインプットぶんについて、さらにくわしい説明せつめいをする予定よていです。

目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ

関連ページ

PCBgogoのバナー
Arduino 電子工作
このサイトの記事が本になりました
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
電子工作で学ぶ論理回路入門
このサイトの中の人が書いた本です。
ISBN:978-4-7775-2280-4
工学社の書籍の内容の紹介ページ
この本の紹介記事
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。