2024年09月18日 | 公開 |
2024年10月01日 | NEW命令の説明を追加した。 |
記事にふりがなを付けたいときは、次のチェックボックスをクリックしてください。
前のページでは、プログラムモードでプログラムの行を入力する方法について説明しましたので、今回は、入力した行に間違いがあった場合の訂正の仕方や、不要な行の削除の仕方について説明します。
10 PRINT "こんにちは"ENTERと入力するつもりだったのに、間違って10 PRINT "こんばんは"ENTERと入力してしまった場合を想定して、間違いを訂正する方法を説明します。
まず、下の画面22で、10 PRINT "こんばんは"ENTERと入力した後で、LISTENTERと入力してください。
10 PRINT "こんばんは"ENTERと入力した後で、LISTENTERを入力してください。
そうすると、実行例38の様な画面になっているはずです。
Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse) Ok 10 PRINT "こんばんは" ← 10行を入力 LIST ← LIST命令を入力 10 PRINT "こんばんは" ← リストの表示 Ok
10 PRINT "こんばんは"
を入力した後でリスト表示した様子ここで、間違って入力した10行を訂正してみます。
間違った行を訂正するには、間違った行と同じ行番号で、正しい行を入力し直します。
画面22で、10 PRINT "こんにちは"ENTERと入力して10行を訂正した後に、LISTENTERと入力して、リストを表示してください。そうすると、実行例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行を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
その状態で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
ここでおはよう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の前に来る
LIST命令を使って、プログラムが変更されたのを確認してみましょう。下向きのカーソルキーを1回押して、カーソルが一番下のOkの次の行に来るようにした後に、LISTENTERと入力してください。実行例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
この様に、10 PRINT "こんにちは"
を10 PRINT "おはよう"
に変更する時に、行全体を入力し直す必要はなく、変更のあるこんにちは
の部分をおはよう
に入力し直すだけで、変更作業ができます。
不要な行を削除する方法について説明します。
例として、リスト1に示す様な、3行のプログラムを考えます。
10 PRINT "おはよう"
20 PRINT "こんにちは"
30 PRINT "こんばんは"
今、このプログラムから20行を削除して、リスト2に示すプログラムにしたいとします。
10 PRINT "おはよう"
30 PRINT "こんばんは"
この作業を、下の画面23で行います。画面23には、あらかじめリスト1のプログラムが入力してあります。
画面23の30行が表示されている行の次の行で、LISTENTERと入力して、入力されているプログラムのリストを表示してください。(実行例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に示す様に、確かに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 ← 消したい行の行番号を入力
この状態で、既に20行が削除されているのですが、はっきりとは分からないので、LIST命令で確認してみましょう。
画面23で、さらにLISTENTERと入力して、プログラムリストを表示してください。実行例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
行番号を入力した後に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 ← 選択状態になっている
存在しない行番号を入力してENTERキーを押すと、存在しない行は削除できませんから、Undefined line numberというエラーが出ます。このエラーは、存在しない行番号を指定して、何らかの操作(この場合は削除)をしようとした時に出るエラーです。
入力したプログラム全てを削除したい場合は、NEW命令を使います。
下の画面24には、既にリスト3に示すプログラムが入力されています。LISTENTERと入力して、プログラムが入力されている事を確認し、次にNEWENTERと入力してプログラム全体を消去し、最後にもう一度LISTENTERと入力してプログラムが消えている事を確認してください。
10 PRINT "A"
20 PRINT "B"
30 PRINT "C"
LISTENTER、NEWENTER、LISTENTERと、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が出る
最初にLIST
を実行する時は、リスト3のプログラムが表示されます。
次にNEW
を実行すると、入力されているプログラムが全部消えます。
最後にもう一度LIST
を実行すると、プログラムが全て消去されたため、プログラムを表示する事なく、Okのメッセージが出ます。
以前に、行番号は10で始まり、10ずつ増えていくように、数字を振っていく習慣がある事を説明しました。しかし、行と行の間に新たな行を追加したり、不要になった行を削除したりしている内に、行番号の増え方が一定ではなくなります。この様な時に、10、20、30、···と、綺麗に行番号を振り直すための命令がRENUM命令です。
参考:RENUMは、"renumber"という英単語を省略した物です。renumberは、「番号を付け直す」という意味です。
例として、リスト4に示すプログラムを、RENUM命令で行番号を付け直して、リスト5の様に書き換えてみましょう。
5 PRINT "a"
10 PRINT "b"
25 PRINT "c"
28 PRINT "d"
10 PRINT "a"
20 PRINT "b"
30 PRINT "c"
40 PRINT "d"
下の画面25で、作業してください。この画面には、あらかじめリスト4のプログラムが入力されています。
必要ならLISTENTERと入力した後で、RENUMENTERを入力してください。
必要ならLISTENTERと入力して、プログラムリストを表示させてから、次に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
このままでは行番号が付け直された様子が分からないので、さらにLISTENTERと入力して、プログラムリストを確認すると、実行例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
さらに、ここで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
RENUM命令では、さらに複雑な行番号の振り方もできるのですが、詳しくは、Syn BASIC (オンラインBASICインタプリタ)(2)のページのRENUM命令の説明をご覧ください。
次のページでは、変数の使い方について説明します。