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

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) (5) 次のページへ
2022年12月06日 公開

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

2.プログラムモードでプログラムをつくってみよう

これまでは、命令めいれいぶん直接ちょくせつ入力にゅうりょくして、入力にゅうりょくぐに実行じっこうするダイレクトモードBASICベーシック使つか方法ほうほうについて説明せつめいしてきました。このしょうでは、命令めいれいぶん行番号ぎょうばんごうけ、一旦いったんメモリに記憶きおくしておき、あとRUNラン命令めいれいで、記憶きおくしていた命令めいれいぶんをまとめて実行じっこうする、プログラムモード使つかかた説明せつめいをします。

2-1.何度なんど実行じっこうしたい命令めいれいぶん行番号ぎょうばんごうけてプログラムにする方法ほうほう

画面がめんこんにちは表示ひょうじするには、PRINTプリント "こんにちは"ENTERエンター入力にゅうりょくすればいいのですが、こんにちは表示ひょうじすること度々たびたびあるなら、こんにちは表示ひょうじするPRINTプリントぶんを、コンピュータに記憶きおくさせておくことができます。

命令めいれいぶんをコンピュータに記憶きおくさせておくには、その命令めいれいぶんまえに、0以上いじょう整数せいすうけます。この0以上いじょう整数せいすうを、行番号ぎょうばんごうびます。

参考さんこう:0を行番号ぎょうばんごう使つかえないBASICベーシックもありますが、Synシン BASICベーシックは0も行番号ぎょうばんごうとして使つかえます。また、行番号ぎょうばんごう使つかえる整数せいすう上限じょうげんは、Synシン BASICベーシック場合ばあい、9007199254740991(=253-1)です。行番号ぎょうばんごう上限じょうげんやく65000(≒216)のBASICベーシックおおいですが、Synシン BASICベーシックは216よりもおおきなかず行番号ぎょうばんごうとして使つかえます。

実際じっさいに、行番号ぎょうばんごういたPRINTプリントぶん入力にゅうりょくしてみましょう。画面がめん20で、10 PRINTプリント "こんにちは"ENTERエンター入力にゅうりょくしてみてください。なお、行番号ぎょうばんごう(10)とPRINTプリントあいだにはスペースが必要ひつようです。スペースをれずに10PRINTプリント入力にゅうりょくすると、エラーになります。

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

10 PRINTプリント "こんにちは"ENTERエンター入力にゅうりょくしてください。

ただしく入力にゅうりょくすると、実行じっこうれい28のよう画面がめんになっているはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんにちは" ← 入力したPRINT文
 ← なにも表示されない
実行例28、10 PRINTプリント "こんにちは"入力にゅうりょくした様子ようす

行番号ぎょうばんごうけずにPRINTプリント "こんにちは"ENTERエンター入力にゅうりょくした場合ばあいは、入力にゅうりょく直後ちょくごこんにちは表示ひょうじされますが、10 PRINTプリント "こんにちは"ENTERエンターと、行番号ぎょうばんごう先頭せんとうけた場合ばあいは、なに表示ひょうじされないことかります。

入力にゅうりょくしたPRINTプリントぶん実行じっこうして画面がめんこんにちは表示ひょうじするためには、つづいてRUNランENTERエンター入力にゅうりょくします。

画面がめん20で、つづけてRUNランENTERエンター入力にゅうりょくしてみてください。入力にゅうりょくすると、実行じっこうれい29のよう画面がめんになるはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんにちは"
RUN ← 入力したRUN命令
こんにちは ← PRINT文の実行結果
Ok
実行例29、RUNラン命令めいれい入力にゅうりょくした様子ようす

コンピュータに記憶きおくさせておいた行番号ぎょうばんごうきの命令めいれいぶんことを、プログラムびます。また、プログラムを実行じっこうするためのRUNランという命令めいれいを、RUNラン命令めいれい(RUNランコマンド)とびます。

コンピュータにプログラムを記憶きおくさせておくと、RUNラン命令めいれい何度なんどでもそのプログラムを実行じっこうすることができます。

画面がめん20で、もう一度いちどRUNランENTERエンター入力にゅうりょくしてみてください。実行じっこうれい30のように、ふたたこんにちは表示ひょうじされるはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんにちは"
RUN
こんにちは
Ok
RUN ← もう一度入力したRUN命令
こんにちは ← 再びプログラムが実行されてこんにちはと表示される
Ok
実行例30、もう一度いちどRUNラン命令めいれい入力にゅうりょくした様子ようす

コンピュータが、どのようなプログラムを記憶きおくしているかを調しらべるには、LISTリスト命令めいれい使つかいます。

画面がめん20で、つづけてLISTリストENTERエンター入力にゅうりょくしてみてください。実行じっこうれい31のように、最初さいしょ入力にゅうりょくした10 PRINTプリント "こんにちは"というプログラムが表示ひょうじされるはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんにちは"
RUN
こんにちは
Ok
RUN
こんにちは
Ok
LIST ← 入力したLIST命令
10 PRINT "こんにちは" ← プログラムが表示される
Ok
実行例31、LISTリスト命令めいれい入力にゅうりょくした様子ようす

2-2.複数ふくすう命令めいれいぶんからなるプログラムのつくかた

前節ぜんせつでは、画面がめんこんにちは表示ひょうじするプログラムをつくりました。このしょうでは、複数ふくすうPRINTプリントぶんからなるプログラムをつくってみます。

まず、1ぎょうのプログラムを入力にゅうりょくしてみます。画面がめん21で、10 PRINTプリント "こんにちは"ENTERエンター入力にゅうりょくし、そのあとLISTリストENTERエンター入力にゅうりょくしてください。実行じっこうれい32のよう画面がめんになるはずです。

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

10 PRINTプリント "こんにちは"ENTERエンター入力にゅうりょくしたあとに、つづけてLISTリストENTERエンター入力にゅうりょくしてください。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんにちは" ← 入力したプログラム
LIST ← LIST命令を入力
10 PRINT "こんにちは" ← コンピュータが記憶しているプログラム
Ok
実行例32、1ぎょうのプログラムを入力にゅうりょくし、それをLISTリスト命令めいれい表示ひょうじした様子ようす

つづいて、画面がめん2120 PRINTプリント "こんばんは"ENTERエンター入力にゅうりょくし、そのあとLISTリストENTERエンター入力にゅうりょくしてください。実行じっこうれい33のよう画面がめんになるはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんにちは"
LIST
10 PRINT "こんにちは"
Ok
20 PRINT "こんばんは" ← 2行目のプログラムを入力
LIST ← LIST命令を入力
10 PRINT "こんにちは"
20 PRINT "こんばんは" ← プログラムに2行目が加わった
Ok
実行例33、2ぎょうのプログラムを入力にゅうりょくしたあとLISTリスト命令めいれい実行じっこうした様子ようす

LISTリスト命令めいれい実行じっこうすると、10 PRINTプリント "こんにちは"20 PRINTプリント "こんばんは"の2ぎょう表示ひょうじされます。このことからかるように、入力にゅうりょくみのプログラムには使つかわれていない行番号ぎょうばんごう先頭せんとうけて、命令めいれいぶん入力にゅうりょくすると、それがあたらしいぎょうとして、プログラムに追加ついかされます。

ここで、プログラムを実行じっこうするために、画面がめん21RUNランENTERエンター入力にゅうりょくしてください。実行じっこうれい34のよう画面がめんになるはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんにちは"
LIST
10 PRINT "こんにちは"
Ok
20 PRINT "こんばんは"
LIST
10 PRINT "こんにちは"
20 PRINT "こんばんは"
Ok
RUN ← RUN命令を入力
こんにちは ← 10行の実行結果
こんばんは ← 20行の実行結果
Ok
実行例34、入力にゅうりょくみの2ぎょうのプログラムをRUNラン命令めいれい実行じっこうした様子ようす

さきに10ぎょう(行番号ぎょうばんごうが10のぎょう)が実行じっこうされて、画面がめんこんにちは表示ひょうじされます。そしてつぎに、20ぎょう実行じっこうされて、画面がめんこんばんは表示ひょうじされます。このように、プログラムは、行番号ぎょうばんごうちいさいじゅん実行じっこうされます。同様どうように、LISTリスト命令めいれいでプログラムを画面がめん表示ひょうじする場合ばあいにも、行番号ぎょうばんごうちいさいじゅん表示ひょうじされます。

ここで、こんにちはまえに、おはよう表示ひょうじするように、プログラムを変更へんこうしてみましょう。こんにちはまえおはよう表示ひょうじするのですから、おはよう表示ひょうじするPRINTプリントぶんは、10ぎょうよりもまえ実行じっこうする必要ひつようがあります。そのためには、10よりもちいさいかず行番号ぎょうばんごうにして、PRINTプリントぶん入力にゅうりょくする必要ひつようがあります。

ここでは、あたらしいPRINTプリントぶん行番号ぎょうばんごうを5として、入力にゅうりょくしてみます。画面がめん215 PRINTプリント "おはよう"ENTERエンター入力にゅうりょくし、つぎLISTリストENTERエンターしてください。実行じっこうれい35のよう画面がめんになるはずです。

10 PRINT "こんにちは"
LIST
10 PRINT "こんにちは"
Ok
20 PRINT "こんばんは"
LIST
10 PRINT "こんにちは"
20 PRINT "こんばんは"
Ok
RUN
こんにちは
こんばんは
Ok
5 PRINT "おはよう" ← 5行を追加
LIST ← LIST命令を入力
5 PRINT "おはよう" ← 5行が追加されている
10 PRINT "こんにちは"
20 PRINT "こんばんは"
Ok
実行例35、5ぎょう追加ついかしたあとLISTリスト命令めいれいでプログラムを表示ひょうじした様子ようす

実行じっこうれい35のようると、5ぎょうが10ぎょうまえ追加ついかされているのがかります。

参考さんこう:実行じっこうれい35をると、Synシン BASICベーシック起動きどうしたとき表示ひょうじされるSynシン BASICベーシック Versionバージョンという表示ひょうじえていることかります。Synシン BASICベーシック画面がめんぎょうすうは、デフォルトで20ぎょうになっています。ユーザーがSynシン BASICベーシック入力にゅうりょくした文字もじや、Synシン BASICベーシック表示ひょうじしたメッセージとう合計ごうけいで20ぎょうえると、画面がめん上部じょうぶふる情報じょうほうからえていきます。

ここで画面がめん21RUNランENTERエンター入力にゅうりょくすると、実行じっこうれい36にしめように、ちゃんとおはようこんにちはこんばんはじゅん表示ひょうじされます。

LIST
10 PRINT "こんにちは"
20 PRINT "こんばんは"
Ok
RUN
こんにちは
こんばんは
Ok
5 PRINT "おはよう"
LIST
5 PRINT "おはよう"
10 PRINT "こんにちは"
20 PRINT "こんばんは"
Ok
RUN ← RUN命令を入力
おはよう ← 5行の実行結果
こんにちは ← 10行の実行結果
こんばんは ← 20行の実行結果
Ok
実行例36、5ぎょう追加ついかしたプログラムを実行じっこうした様子ようす

プログラムちゅうのあるぎょう(たとえば10ぎょう)とそのつぎぎょう(たとえば20ぎょう)のあいだに、あたらしいぎょう挿入そうにゅうしたい場合ばあい、それらのぎょう行番号ぎょうばんごう(10と20)のあいだかず(たとえば15)を行番号ぎょうばんごうにして、あたらしいぎょう入力にゅうりょくすればいいのは、もうおかりだとおもいます。このように、あとからプログラムのぎょうあいだ挿入そうにゅうする可能性かのうせいがある場合ばあい行番号ぎょうばんごうを0、1、2、3、…とじゅんけてしまっていては、あたらしいぎょう挿入そうにゅうしようがなくなります。こういう理由りゆうで、行番号ぎょうばんごうは10、20、30、40、…という具合ぐあいに、10からはじまって、10ごとにけていく習慣しゅうかんがあります。

【コラム】プログラムのぎょうについて

プログラムは、いくつかのぎょうあつまってできています。ここでぎょうぶのは、行番号ぎょうばんごうはじまって、入力にゅうりょくさいENTERエンター入力にゅうりょくする直前ちょくぜんまでに入力にゅうりょくした内容ないようすべてのことです。画面がめんうえで1ぎょう表示ひょうじされているかどうかは関係かんけいありません。

こういう説明せつめいいても、意味いみ理解りかいしにくいとおもいますので、具体ぐたいてきれいげて説明せつめいします。

Synシン BASICベーシック画面がめんは、デフォルトの状態じょうたいでは、よこ方向ほうこう半角はんかく文字もじが40文字もじ(全角ぜんかく文字もじなら20文字もじ)おさまるサイズに設定せっていされています。そのため、なが文字列もじれつ表示ひょうじするPRINTプリントぶんとう入力にゅうりょくすると、画面がめんよこはばおさまらないことがあります。

れいとして、てんひとうえひとつくらず、ひとしたひとつくらずという、全角ぜんかく文字もじで21文字もじ文字列もじれつPRINTプリントぶん表示ひょうじすることかんがえます。この文字列もじれつは、画面がめんよこはばおさまらないので、この文字列もじれつ表示ひょうじするプログラム(10 PRINTプリント "てんひとうえひとつくらず、ひとしたひとつくらず")も画面がめんよこはばおさまらず、Synシン BASICベーシック入力にゅうりょくすると、実行じっこうれい37にしめように、画面がめんうえで2ぎょうにわたってしまいます。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "天は人の上に人を造らず、人の下
に人を造らず"
実行例37、なが文字列もじれつ表示ひょうじするプログラムを入力にゅうりょくした様子ようす

このように、画面がめんうえでは2ぎょうにわたって表示ひょうじされているものの、プログラムのぎょうとしては、10 PRINTプリント "てんひとうえひとつくらず、ひとしたひとつくらず"で1ぎょうです。

ところで、プログラムを構成こうせいするぎょうかずぎょう(〇には数字すうじはいる)と表現ひょうげんすることがあります。たとえば、実行じっこうれい37で入力にゅうりょくしたのは、1ぎょうのプログラムです。

一方いっぽうで、プログラムちゅう特定とくていぎょう話題わだいにするときに、そのぎょう行番号ぎょうばんごう使つかってぎょう(〇には行番号ぎょうばんごうはいる)とことがあります。たとえば、実行じっこうれい37のれいだと、てんひとうえに…表示ひょうじしているぎょうは10ぎょうです。

このように、数字すうじ+ぎょうあらわされているのは、プログラムのぎょうすう場合ばあいと、その行番号ぎょうばんごういた特定とくていぎょう場合ばあいがありますが、どちらをあらわしているかは文脈ぶんみゃく判断はんだんする必要ひつようがあります。

次回じかいは、プログラムを間違まちがって入力にゅうりょくしてしまった場合ばあいに、訂正ていせいしたり、特定とくていぎょう消去しょうきょしたりする方法ほうほうについて説明せつめいする予定よていです。

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

このページで使われている用語の解説

関連ページ

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