人生一度はやってみよう MSX Basic 入門
6.INPUT と GOTO
みなさん、説明中のプログラムを入力してますか?
「説明を読んでいるだけ」という人は、是非、入力して実行してみましょう。
私の持論は「プログラミングは指先から覚える」です。
面倒臭がらず沢山のプログラムを入力していきましょう。
INPUT で入力をしよう
INPUT命令を使うと、実行中にキーボードから入力することができます。
作業の前に、前回のプログラムが残っているならnewで消しましょう。
入力した数を2倍にして表示するプログラムを作りました。
入力したらrunで実行しましょう。
実行すると?の横にカーソルが表示されます。
これは入力を待っている状態です。
5を入力してみます。[エンターキー]を忘れずに押しましょう。
10と表示されました。
変数Aを2倍した結果がちゃんと出力されてます。
入力した値が変数Aに入ったことが分かりますね。
何度かrunして試してみましょう。
マイナスの数もテストしてみてください。
INPUT 命令の使い方
INPUTの使い方をいくつか紹介します。
セミコロン;とカンマ,を使うので、キーボードの位置を確認しましょう。
変数AとBに数を入力して足し算をするプログラムです。
INPUT 文字列;変数とすれば、入力の前に文字列が表示されます。
何を入力するか分かるので、このように使うことが多いです。
複数の入力を同時に設定することもできます。
変数をカンマで区切って並べます。
PRINTではセミコロンを使っている点に注意してください。
並べた変数の分だけ、入力要求があります。
文字列の入力にも対応できます。
このときの変数は文字列用を使います。
20行目を見てください。+記号を使って文字列の連結をしています。
連結は今後もどんどん使いますよ。
GOTO で流れを変えよう
指定した行番号へ処理をジャンプさせるのがGOTO命令です。
これを使って簡単なループ処理をしてみます。
次のプログラムを入力しましょう。
入力した数を5倍にして表示します。
実行すると、入力と計算結果の表示が繰り返されます。
GOTOを使うことで、30行目から10行目へ処理がジャンプしています。
さて、このプログラムは永遠に繰り返します。
中断するには Ctrl キーを押しながら c キーを押します。(windowsの場合)
(Macでは control + c です)
中断してみます。
Break in 10のあとにOKと表示されました。
プログラムが10行目で中断し、コンピュータが次の指示を待っている状態になりました。
プログラミングをしていると、意図せず処理がループしてしまうことがあります。
そのときは Ctrl+c で中断しましょう。
また、Ctrl+c では中断できないときもあります。
そのときは Ctrl+Fn+F9 で中断できます。(Windowsの場合)
(ファンクションキーがちゃんとあり Fn キーが必要ないときは Ctrl+F9)
(Mac では control+fn+F9)
キーボードは様々なタイプがあります。
図と違う場合はよく探してみましょう。
GOTO のエラー
存在しない行番号を GOTO で指定するとエラーになります。
30行目の GOTO で 5行目にジャンプしようとしました。
そのためUndefined line number「指定した行番号がない」というエラーになりました。