はじめに
プログラムが役立つためには、情報を表示したり、ユーザーから情報を受け取ったりする必要があります。BASICでは、この基本的な「入出力」を担うのが PRINT
文と INPUT
文です。これらは、あなたが作るプログラムとユーザーをつなぐ、とても大切な命令なんですよ!🤝
このステップでは、画面に文字や計算結果を表示する PRINT
文と、キーボードから文字や数値を受け取る INPUT
文の使い方を学びます。さっそく見ていきましょう!🚀
画面に表示する:PRINT文
PRINT
文は、指定した文字(文字列)や変数の中身、計算結果などを画面に表示するための命令です。一番基本的な使い方を見てみましょう。
PRINT "Hello, BASIC World!"
これを実行すると、画面に Hello, BASIC World!
と表示されます。簡単ですね!😊 文字列を表示したい場合は、" "
(ダブルクォーテーション)で囲むのを忘れないでください。
数値や計算結果も表示できます。
PRINT 123
PRINT 10 + 5
上から順に 123
と 15
が表示されます。数値の場合は " "
で囲む必要はありません。
変数の中身を表示することももちろん可能です。
A = 100
B$ = "テスト"
PRINT A
PRINT B$
実行すると、100
と テスト
がそれぞれ改行されて表示されます。
PRINT文の区切り文字:`,` と `;`
PRINT
文では、カンマ ,
やセミコロン ;
を使って、複数の項目を続けて表示させることができます。これらの区切り文字には、表示するときの間隔(タブ位置)に違いがあります。
区切り文字 | 動作 | 例 | 表示結果 (イメージ) |
---|---|---|---|
, (カンマ) |
次の項目を、あらかじめ決められた「タブ位置」(通常は10~16文字ごとなど、処理系によります)まで移動して表示します。 |
|
Apple Banana Cherry |
; (セミコロン) |
次の項目を、直前の項目のすぐ後ろに続けて表示します。(数値の場合は、符号用のスペースが自動で入ることがあります) |
|
AppleBananaCherry |
(なし) | PRINT文の最後に区切り文字がない場合、表示後に自動的に改行します。 |
|
Line 1 Line 2
|
行末の ; |
PRINT文の最後にセミコロンを付けると、表示後に改行しません。次のPRINT文の表示が同じ行に続きます。 |
|
続けるよ! |
これらの区切り文字をうまく使うことで、表示のレイアウトを調整することができます✨
キーボードから入力:INPUT文
INPUT
文は、プログラムの実行中にユーザーからのキーボード入力を待ち、入力された値を指定した変数に格納するための命令です。これにより、プログラムが対話的になります🗣️。
基本的な使い方は次の通りです。
INPUT A
これを実行すると、プログラムは一時停止し、画面に ?
マークが表示されて入力待ちの状態になります。ユーザーが何か数値を入力して Enter キーを押すと、その値が変数 A
に格納され、プログラムの続きが実行されます。
文字列を入力してもらいたい場合は、文字列変数(通常は $
が付く変数名)を指定します。
INPUT N$
実行すると同様に ?
が表示され、ユーザーが入力した文字列が変数 N$
に格納されます。
プロンプトメッセージの表示
ただ ?
が表示されるだけだと、ユーザーは何を入力すればいいか分かりにくいですよね🤔。INPUT
文では、入力待ちの前にメッセージ(プロンプト)を表示させることができます。
INPUT "お名前を入力してください: "; N$
PRINT "こんにちは、"; N$; "さん!"
これを実行すると、まず画面に お名前を入力してください:
と表示され、その隣に入力待ちカーソルが表示されます。ユーザーが名前を入力して Enter を押すと、その名前を使って挨拶が表示されます。
プロンプト文字列の後に ;
(セミコロン)を付けると、?
マークは表示されず、カーソルがメッセージの直後に表示されます。,
(カンマ)を付けると、メッセージの後に ?
が表示されます(処理系によって挙動が異なる場合があります)。多くの場合、;
を使う方が自然でしょう。
複数の入力
INPUT
文では、カンマ ,
で区切ることで、一度に複数の変数への入力を求めることもできます。
INPUT "カンマ区切りで数値と名前を入力: ", A, N$
PRINT "数値:"; A
PRINT "名前:"; N$
実行するとプロンプトが表示され、ユーザーは 123,Taro
のようにカンマで区切って入力する必要があります。入力された値が、それぞれ変数 A
と N$
に格納されます。
INPUT
文で数値を期待しているところに文字列を入力したり、その逆を行うとエラーになることがあります。また、複数の入力を求める際に、指定された数の値を正しくカンマ区切りで入力しない場合もエラーや予期せぬ動作の原因となります。
実践!PRINTとINPUTを使った簡単な対話プログラム
それでは、PRINT
と INPUT
を使って、簡単な対話プログラムを作ってみましょう。年齢を尋ねて、簡単なメッセージを返すプログラムです。
PRINT "*** かんたん年齢応答プログラム ***"
PRINT
INPUT "あなたの名前を教えてください: "; Namae$
INPUT "あなたの年齢を教えてください: "; Nenrei
PRINT
PRINT "こんにちは、"; Namae$; "さん!"
PRINT Nenrei; "歳なんですね。"
IF Nenrei < 20 THEN
PRINT "若いですね!未来が楽しみです!✨"
ELSEIF Nenrei >= 20 AND Nenrei < 60 THEN
PRINT "働き盛りですね!頑張ってください!💪"
ELSE
PRINT "人生のベテランですね!ゆっくり楽しんでください🍵"
END IF
PRINT
PRINT "プログラムを終了します。"
このプログラムは、まず名前と年齢をユーザーに尋ねます(INPUT
)。そして、入力された名前と年齢を使って挨拶し(PRINT
)、年齢に応じて異なるメッセージを表示します(IF...THEN...ELSEIF...ELSE
と PRINT
)。
ぜひ、これをあなたの環境で入力して実行してみてください!実際に動かしてみるのが一番の勉強になりますよ😉
まとめ
今回は、BASICの基本的な入出力命令である PRINT
文と INPUT
文について学びました。
PRINT
: 文字列や数値、変数の中身を画面に表示する。,
や;
で表示位置を調整できる。INPUT
: ユーザーからのキーボード入力を変数に格納する。プロンプトメッセージを表示できる。
これらの命令は、ほとんどのプログラムで使うことになる、非常に重要な基本要素です。使い方をしっかりマスターして、対話的なプログラム作りに挑戦していきましょう!🎉 次は文字列操作について学んでいきます。
参考情報
BASICの命令は、処理系(QBasic, FreeBASIC, etc.)によって細かい動作や使える機能が異なる場合があります。もし特定の処理系について詳しく知りたい場合は、その処理系のドキュメントを参照することをお勧めします。
- FreeBASIC Documentation: FreeBASICに関する詳細な情報(英語)。PRINTやINPUTについても解説されています。 https://www.freebasic.net/wiki/wikka.php?wakka=DocToc
- QB64 Wiki: QBasic/QuickBASIC互換の処理系であるQB64のWiki(英語)。PRINTやINPUTの使い方が載っています。 https://qb64.com/wiki/Category:Keywords (PRINTやINPUTのページを探してください)