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

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

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

前のページでは、プログラムモードでプログラムの行ぎょうを入力にゅうりょくする方法ほうほうについて説明せつめいしましたので、今回こんかいは、入力にゅうりょくした行ぎょうに間違まちがいがあった場合ばあいの訂正ていせいの仕方しかたや、不要ふような行ぎょうの削除さくじょの仕方しかたについて説明せつめいします。

2-3.入力にゅうりょくした行ぎょうに間違まちがいがあった場合ばあいの訂正ていせいの方法ほうほう

10 PRINTプリント "こんにちは"ENTERエンターと入力にゅうりょくするつもりだったのに、間違まちがって10 PRINTプリント "こんばんは"ENTERエンターと入力にゅうりょくしてしまった場合ばあいを想定そうていして、間違まちがいを訂正ていせいする方法ほうほうを説明せつめいします。

まず、下したの画面がめん22で、10 PRINTプリント "こんばんは"ENTERエンターと入力にゅうりょくした後あとで、LISTリストENTERエンターと入力にゅうりょくしてください。

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

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

そうすると、実行じっこう例れい38の様ような画面がめんになっているはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんばんは" ← 10行を入力
LIST ← LIST命令を入力
10 PRINT "こんばんは" ← リストの表示
Ok
実行例38、10 PRINTプリント "こんばんは"を入力にゅうりょくした後あとでリスト表示ひょうじした様子ようす

ここで、間違まちがって入力にゅうりょくした10行ぎょうを訂正ていせいしてみます。

間違まちがった行ぎょうを訂正ていせいするには、間違まちがった行ぎょうと同おなじ行番号ぎょうばんごうで、正ただしい行ぎょうを入力にゅうりょくし直なおします。

画面がめん22で、10 PRINTプリント "こんにちは"ENTERエンターと入力にゅうりょくして10行ぎょうを訂正ていせいした後あとに、LISTリストENTERエンターと入力にゅうりょくして、リストを表示ひょうじしてください。そうすると、実行じっこう例れい39に示しめす様ように、10行ぎょうが訂正ていせいされているのが分わかると思おもいます。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんばんは" ← 誤った10行の入力
LIST ← LIST命令
10 PRINT "こんばんは" ← 訂正前のリスト
Ok
10 PRINT "こんにちは" ← 正しい10行を入力
LIST ← LIST命令を入力
10 PRINT "こんにちは" ← 訂正後のリストの表示
Ok
実行例39、10行ぎょうを訂正ていせいした後あとにリスト表示ひょうじした様子ようす

今いま説明せつめいした方法ほうほうでは、間違まちがった行ぎょうを全すべて入力にゅうりょくする必要ひつようがありました。これでは、長ながい行ぎょうを訂正ていせいするのが大変たいへんです。

しかし、行ぎょうの中なかの間違まちがった部分ぶぶんだけを訂正ていせいする方法ほうほうがありますので、これから説明せつめいします。

実行じっこう例れい39の状態じょうたいで、さらに10行ぎょうを10 PRINTプリント "おはよう"に変更へんこうします。

そのためには、画面がめん22で、訂正ていせい後ごのリストの、 こんにちはのこの字じの前まえにカーソルを移動いどうしてください。マウスカーソルをその部分ぶぶんに移動いどうしてクリックする(スマホなどの場合ばあいはその部分ぶぶんをタップする)か、カーソルキーを使つかってカーソルを移動いどうします。

そうすると、実行じっこう例れい40の様ようになります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんばんは"
LIST
10 PRINT "こんばんは" 
Ok
10 PRINT "こんにちは"
LIST
10 PRINT "こんにちは" ← カーソルを「こ」の前に移動
Ok
実行例40、リストのこんにちはのこの前まえにカーソルを移動いどうした様子ようす

その状態じょうたいでDELキーを5回かい押おすと、こんにちはの文字もじが消きえて、実行じっこう例れい41の様ようになります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんばんは"
LIST
10 PRINT "こんばんは" 
Ok
10 PRINT "こんにちは"
LIST
10 PRINT "" ← 「こんにちは」が消えた
Ok
実行例41、DELキーを5回かい押おしてこんにちはを消けした様子ようす

ここでおはようENTERエンターと入力にゅうりょくすると、10行ぎょうが10 PRINTプリント "おはよう"に変更へんこうされ、実行じっこう例れい42に示しめす状態じょうたいになります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんばんは"
LIST
10 PRINT "こんばんは" 
Ok
10 PRINT "こんにちは"
LIST
10 PRINT "おはよう" ← 「おはよう」に変更
Ok ← カーソルがOkの前に来る
実行例42、おはようENTERエンターと入力にゅうりょくして10行ぎょうを変更へんこうした様子ようす

LISTリスト命令めいれいを使つかって、プログラムが変更へんこうされたのを確認かくにんしてみましょう。下した向むきのカーソルキーを1回かい押おして、カーソルが一番いちばん下かのOkオーケーの次つぎの行ぎょうに来くるようにした後あとに、LISTリストENTERエンターと入力にゅうりょくしてください。実行じっこう例れい43に示しめす様ように、10行ぎょうが10 PRINTプリント "おはよう"に変更へんこうされている事ことが確認かくにんできます。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "こんばんは"
LIST
10 PRINT "こんばんは" 
Ok
10 PRINT "こんにちは"
LIST
10 PRINT "おはよう"
Ok
LIST ← リスト命令を入力
10 PRINT "おはよう" ← 変更後のリスト
Ok
実行例43、変更へんこう後ごのリストを確認かくにんした様子ようす

この様ように、10 PRINTプリント "こんにちは"を10 PRINTプリント "おはよう"に変更へんこうする時ときに、行ぎょう全体ぜんたいを入力にゅうりょくし直なおす必要ひつようはなく、変更へんこうのあるこんにちはの部分ぶぶんをおはように入力にゅうりょくし直なおすだけで、変更へんこう作業さぎょうができます。

2-4.不要ふような行ぎょうを削除さくじょする方法ほうほう

不要ふような行ぎょうを削除さくじょする方法ほうほうについて説明せつめいします。

例れいとして、リスト1に示しめす様ような、3行ぎょうのプログラムを考かんがえます。

リスト1、行ぎょうの削除さくじょ方法ほうほうを説明せつめいするためサンプルプログラムCOPY
10 PRINT "おはよう"
20 PRINT "こんにちは"
30 PRINT "こんばんは"

今いま、このプログラムから20行ぎょうを削除さくじょして、リスト2に示しめすプログラムにしたいとします。

リスト2、20行ぎょうを削除さくじょして得えられるプログラムCOPY
10 PRINT "おはよう"
30 PRINT "こんばんは"

この作業さぎょうを、下したの画面がめん23で行いいます。画面がめん23には、あらかじめリスト1のプログラムが入力にゅうりょくしてあります。

10 PRINT "おはよう"
20 PRINT "こんにちは"
30 PRINT "こんばんは"
画面23、練習れんしゅう用よう画面がめん

画面がめん23の30行ぎょうが表示ひょうじされている行ぎょうの次つぎの行ぎょうで、LISTリストENTERエンターと入力にゅうりょくして、入力にゅうりょくされているプログラムのリストを表示ひょうじしてください。(実行じっこう例れい44参照さんしょう)

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "おはよう"
20 PRINT "こんにちは" 
30 PRINT "こんばんは"
LIST ← リスト命令を入力
10 PRINT "おはよう"← リストの先頭行
20 PRINT "こんにちは" 
30 PRINT "こんばんは"← リストの最終行
Ok
実行例44、LISTリストENTERエンターと入力にゅうりょくして、プログラムリストを確認かくにんした様子ようす

実行じっこう例れい44に示しめす様ように、確たしかに10行ぎょう、20行ぎょう、および30行ぎょうからなる、3行ぎょうのプログラムが入力にゅうりょくされています。

ここで、20行ぎょうだけを消けしたいのですが、実じつは、特定とくていの行ぎょうだけ消去しょうきょするには、消去しょうきょしたい行ぎょうの行番号ぎょうばんごう(この場合ばあいは20)を入力にゅうりょくして、その後あとにENTERエンターキーを押おせばいいのです。

画面がめん23で、20ENTERエンターと入力にゅうりょくしてください。実行じっこう例れい45の様ようになります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "おはよう"
20 PRINT "こんにちは" 
30 PRINT "こんばんは"
LIST
10 PRINT "おはよう"
20 PRINT "こんにちは" 
30 PRINT "こんばんは"
Ok
20 ← 消したい行の行番号を入力
実行例45、20ENTERエンターと入力にゅうりょくして、20行ぎょうを削除さくじょした様子ようす

この状態じょうたいで、既すでに20行ぎょうが削除さくじょされているのですが、はっきりとは分わからないので、LISTリスト命令めいれいで確認かくにんしてみましょう。

画面がめん23で、さらにLISTリストENTERエンターと入力にゅうりょくして、プログラムリストを表示ひょうじしてください。実行じっこう例れい46の状態じょうたいになり、確たしかに20行ぎょうが消去しょうきょされている事ことが分わかります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "おはよう"
20 PRINT "こんにちは" 
30 PRINT "こんばんは"
LIST
10 PRINT "おはよう"
20 PRINT "こんにちは" 
30 PRINT "こんばんは"
Ok
20
LIST ← LIST命令を入力
10 PRINT "おはよう"
30 PRINT "こんばんは" ← 10行の次が30行
Ok
実行例46、LISTリスト命令めいれいを実行じっこうして20行ぎょうが削除さくじょされた事ことを確認かくにんした様子ようす

行番号ぎょうばんごうを入力にゅうりょくした後あとにENTERエンターキーを押おせば、指定していした行番号ぎょうばんごうの行ぎょうが削除さくじょできる事ことは説明せつめいしましたが、それでは、プログラム中なかに存在そんざいしない行番号ぎょうばんごうを入力にゅうりょくした後あとにENTERエンターキーを押おせば、どうなるのでしょうか?実際じっさいにやってみましょう。

画面がめん23で、さらに、40ENTERエンターと入力にゅうりょくして、元々もともと存在そんざいしない40行ぎょうを消去しょうきょしようとしてください。実行じっこう例れい47に示しめす状態じょうたいになります。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "おはよう"
20 PRINT "こんにちは" 
30 PRINT "こんばんは"
LIST
10 PRINT "おはよう"
20 PRINT "こんにちは" 
30 PRINT "こんばんは"
Ok
20
LIST
10 PRINT "おはよう"
30 PRINT "こんばんは"
Ok
40 ← 存在しない40行を消去
Undefined line number(40). ← エラー
40 ← 選択状態になっている
実行例47、40ENTERエンターと入力にゅうりょくして、存在そんざいしない40行ぎょうを削除さくじょしようとした様子ようす

存在そんざいしない行番号ぎょうばんごうを入力にゅうりょくしてENTERエンターキーを押おすと、存在そんざいしない行ぎょうは削除さくじょできませんから、Undefinedアンデファインド lineライン numberナンバーというエラーが出でます。このエラーは、存在そんざいしない行番号ぎょうばんごうを指定していして、何なにらかの操作そうさ(この場合ばあいは削除さくじょ)をしようとした時ときに出でるエラーです。

2-5.全すべての行ぎょうを削除さくじょするNEWニュー命令めいれい

入力にゅうりょくしたプログラム全すべてを削除さくじょしたい場合ばあいは、NEWニュー命令めいれいを使つかいます。

下したの画面がめん24には、既すでにリスト3に示しめすプログラムが入力にゅうりょくされています。LISTリストENTERエンターと入力にゅうりょくして、プログラムが入力にゅうりょくされている事ことを確認かくにんし、次つぎにNEWニューENTERエンターと入力にゅうりょくしてプログラム全体ぜんたいを消去しょうきょし、最後さいごにもう一度いちどLISTリストENTERエンターと入力にゅうりょくしてプログラムが消きえている事ことを確認かくにんしてください。

リスト3、画面がめん24にあらかじめ入力にゅうりょくされているプログラムCOPY
10 PRINT "A"
20 PRINT "B"
30 PRINT "C"
10 PRINT "A"
20 PRINT "B"
30 PRINT "C"
画面24、練習れんしゅう用よう画面がめん

LISTリストENTERエンター、NEWニューENTERエンター、LISTリストENTERエンターと、3つの命令めいれいを順じゅんに入力にゅうりょくしてください。

そうすると、実行じっこう例れい48の様ような画面がめんになっているはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
10 PRINT "A"
20 PRINT "B"
30 PRINT "C"
LIST ← LIST命令でプログラムを表示させる
10 PRINT "A" ← プログラムが表示される
20 PRINT "B"
30 PRINT "C"
Ok
NEW ← NEW命令でプログラムを全部消す
Ok
LIST ← もう一度プログラムを表示させる
Ok ← プログラムが表示される事なくOkが出る

実行例48、NEWニュー命令めいれいでプログラムを全部ぜんぶ消けした様子ようす

最初さいしょにLISTリストを実行じっこうする時ときは、リスト3のプログラムが表示ひょうじされます。

次つぎにNEWニューを実行じっこうすると、入力にゅうりょくされているプログラムが全部ぜんぶ消きえます。

最後さいごにもう一度いちどLISTリストを実行じっこうすると、プログラムが全すべて消去しょうきょされたため、プログラムを表示ひょうじする事ことなく、Okオーケーのメッセージが出でます。

2-6.行番号ぎょうばんごうを振ふり直なおすRENUM命令めいれい

以前いぜんに、行番号ぎょうばんごうは10で始はじまり、10ずつ増ふえていくように、数字すうじを振ふっていく習慣しゅうかんがある事ことを説明せつめいしました。しかし、行ぎょうと行ぎょうの間あいだに新あらたな行ぎょうを追加ついかしたり、不要ふようになった行ぎょうを削除さくじょしたりしている内うちに、行番号ぎょうばんごうの増ふえ方かたが一定いっていではなくなります。この様ような時ときに、10、20、30、···と、綺麗きれいに行番号ぎょうばんごうを振ふり直なおすための命令めいれいがRENUM命令めいれいです。

参考さんこう:RENUMは、"renumberリナンバー"という英えい単語たんごを省略しょうりゃくした物ものです。renumberリナンバーは、「番号ばんごうを付つけ直なおす」という意味いみです。

例れいとして、リスト4に示しめすプログラムを、RENUM命令めいれいで行番号ぎょうばんごうを付つけ直なおして、リスト5の様ように書かき換かえてみましょう。

リスト4、行番号ぎょうばんごうを付つけ直なおす前まえのプログラムCOPY
5 PRINT "a"
10 PRINT "b"
25 PRINT "c"
28 PRINT "d"
リスト5、行番号ぎょうばんごうを付つけ直なおした後あとのプログラムCOPY
10 PRINT "a"
20 PRINT "b"
30 PRINT "c"
40 PRINT "d"

下したの画面がめん25で、作業さぎょうしてください。この画面がめんには、あらかじめリスト4のプログラムが入力にゅうりょくされています。

5 PRINT "a"
10 PRINT "b"
25 PRINT "c"
28 PRINT "d"
画面25、練習れんしゅう用よう画面がめん

必要ひつようならLISTリストENTERエンターと入力にゅうりょくした後あとで、RENUMENTERエンターを入力にゅうりょくしてください。

必要ひつようならLISTリストENTERエンターと入力にゅうりょくして、プログラムリストを表示ひょうじさせてから、次つぎにRENUMENTERエンターと入力にゅうりょくすると、リスト5のプログラムになります。実行じっこう例れい49には、LISTリスト命令めいれいは省略しょうりゃくして、いきなりRENUMENTERエンターと入力にゅうりょくした場合ばあいの実行じっこう例れいを示しめします。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
5 PRINT "a"
10 PRINT "b"
25 PRINT "c"
28 PRINT "d"
RENUM ← RENUM命令を入力
Ok

実行例49、RENUM命令めいれいで行番号ぎょうばんごうを付つけ直なおした様子ようす

このままでは行番号ぎょうばんごうが付つけ直なおされた様子ようすが分わからないので、さらにLISTリストENTERエンターと入力にゅうりょくして、プログラムリストを確認かくにんすると、実行じっこう例れい50に示しめす様ように、ちゃんと行番号ぎょうばんごうが10から始はじまって、10ずつ増ふえていく状態じょうたいになっている事ことが確認かくにんできます。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
5 PRINT "a"
10 PRINT "b"
25 PRINT "c"
28 PRINT "d"
RENUM
Ok
LIST ← LIST命令を入力
10 PRINT "a" ← 行番号が付け直されている
20 PRINT "b"
30 PRINT "c"
40 PRINT "d"
Ok

実行例50、行番号ぎょうばんごうが付つけ直なおされている事ことを確認かくにんした様子ようす

さらに、ここでRENUM 1000ENTERエンターと入力にゅうりょくしてから、LISTリスト命令めいれいでプログラムリストを表示ひょうじすると、実行じっこう例れい51の様ように、1000行ぎょう、1010行ぎょう、1020行ぎょう、1030行ぎょうと、行番号ぎょうばんごうが、1000から始はじまって、10ずつ増ふえていく様ように付つけ直なおされた事ことが分わかります。

10 PRINT "b"
25 PRINT "c"
28 PRINT "d"
RENUM
Ok
LIST
10 PRINT "a"
20 PRINT "b"
30 PRINT "c"
40 PRINT "d"
Ok
RENUM 1000 ← 1000行から始まる様に付け直す
Ok
LIST ← LIST命令を入力
1000 PRINT "a"
1010 PRINT "b"
1020 PRINT "c"
1030 PRINT "d"
Ok
実行例51、1000行ぎょうから始はじまる様ように行番号ぎょうばんごうを付つけ直なおした様子ようす

RENUM命令めいれいでは、さらに複雑ふくざつな行番号ぎょうばんごうの振ふり方かたもできるのですが、詳くわしくは、Syn BASIC (オンラインBASICインタプリタ)(2)のページのRENUM命令めいれいの説明せつめいをご覧らんください。

次のページでは、変数へんすうの使つかい方かたについて説明せつめいします。

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

関連ページ

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