BASICのプログラムの作り方(9)このページをスマートフォンなどでご覧になる場合は、画面を横長にする方が読みやすくなる事があります。記事きじにふりがなを付つけたいときは、次つぎのチェックボックスをクリックしてください。ふりがなをつける3-9.INPUTインプット文ぶんについてさらに詳くわしく前のページで、プログラム実行じっこう時じにユーザーが入力にゅうりょくした値あたいを変数へんすうに代入だいにゅうできるINPUTインプット文ぶんについて紹介しょうかいしましたが、この節せつでは、INPUTインプット文ぶんのさらに詳くわしい使つかい方かたについて説明せつめいします。3-9-1.数値すうち変数へんすうのINPUTインプット文ぶんで数値すうち以外いがいの値あたいを入力にゅうりょくしたら既すでに説明せつめいした通とおり、INPUTインプットの後あとに変数へんすう名めいを付つけると、ユーザーが入力にゅうりょくした値あたいを、指定していした変数へんすうに代入だいにゅうする事ことができます。Aなら、ユーザーが入力にゅうりょくした値あたいを、Aという数値すうち変数へんすうに代入だいにゅうします。AというINPUTインプット文ぶんで、数値すうちの入力にゅうりょくをユーザーに求もとめている場合ばあいに、ユーザーが、数値すうちとは解釈かいしゃくできない文字もじ列れつ(例たとえばabc)を入力にゅうりょくすると、どうなるでしょうか?実際じっさいに試ためしてみましょう。ENTERエンターと入力にゅうりょくし、次つぎにabcENTERエンターと入力にゅうりょくしてください。AENTERエンターと入力にゅうりょくし、次つぎにabcENTERエンターと入力にゅうりょくしてください。startスタートと表示ひょうじされるはずです。startスタートというメッセージは、「最初さいしょから(入力にゅうりょくを)し直なおしてください」という意味いみです。このメッセージが出でたら、もう一度いちど入力にゅうりょくし直なおす必要ひつようがあります。それでは、実際じっさいに入力にゅうりょくし直なおしてみましょう。実行じっこう例れい67の状態じょうたいで、画面がめん39で123ENTERエンターと入力にゅうりょくしてください。startスタートというメッセージは表示ひょうじされずに、今度こんどはOKオーケーが表示ひょうじされます。これで、数値すうち変数へんすうAに、123が代入だいにゅうされます。AENTERエンターと入力にゅうりょくして、Aの値あたいを表示ひょうじしてください。3-9-2.1つのINPUTインプット文ぶんで複数ふくすうの変数へんすうに代入だいにゅう複数ふくすうの変数へんすうをカンマ(,)で区切くぎって並ならべると、1つのINPUTインプット文ぶんで、複数ふくすうの変数へんすうに、ユーザーが入力にゅうりょくした値あたいを代入だいにゅうできます。X,Yなら、XとYの2つの変数へんすうに、ユーザーが入力にゅうりょくした数値すうちを代入だいにゅうします。X,Y,Zという具合ぐあいに、3つの変数へんすうを指定していする事こともできます。NAME$ドル,AGEの様ように、数値すうち変数へんすうと文字もじ列れつ変数へんすうを混まぜる事こともできます。2つの数値すうち変数へんすうXとYの値あたいを、INPUTインプット文ぶんで入力にゅうりょくする場合ばあいついて、実際じっさいに試ためしてみましょう。X,YENTERエンターと、順じゅんに入力にゅうりょくしてください。X,YENTERエンターと、順じゅんに入力にゅうりょくしてください。すると、実行じっこう例れい69に示しめす表示ひょうじになるはずです。X,YENTERエンターと、順じゅんに入力にゅうりょくした例れいこの例れいで示しめす様ように、1つのINPUTインプット文ぶんで2つの変数へんすうの値あたいを入力にゅうりょくする場合ばあいは、カンマで区切くぎって、複数ふくすうの変数へんすうの値あたいを入力にゅうりょくします。ユーザーは、INPUTインプット文ぶんで指定していした変数へんすうの数かずだけ、値あたいを入力にゅうりょくする必要ひつようがあります。startスタートのメッセージが出でて、入力にゅうりょくし直なおす必要ひつようがあります。3-9-3.INPUTインプット文ぶんでメッセージを表示ひょうじする方法ほうほう前のページで少すこし説明せつめいしたのですが、INPUTインプット文ぶんでユーザーに入力にゅうりょくを求もとめる際さいに、メッセージを表示ひょうじさせることができます。いうメッセージを表示ひょうじする事ことができます。実際じっさいに試ためしてみましょう。",AENTERエンターと入力にゅうりょくしてください。",AENTERエンターと入力にゅうりょくしてください。いうメッセージを表示ひょうじしてから、入力にゅうりょく状態じょうたいになります。",AENTERエンターと入力にゅうりょくした例れい先程さきほどは、メッセージの文字もじ列れつと変数へんすうの間あいだをカンマ(,)で区切くぎりましたが、セミコロン(;)で区切くぎる事こともできます。セミコロンを使つかうと、メッセージに続つづいてクエスチョンマーク(?)が表示ひょうじされます。実際じっさいに試ためしてみましょう。"Xの値あたいは";XENTERエンターと入力にゅうりょくしてください。"Xの値あたいは";XENTERエンターと入力にゅうりょくしてください。すると、実行じっこう例れい71に示しめす様ように、Xの値あたいはというメッセージの後あとに、さらに?を表示ひょうじしてから、入力にゅうりょく状態じょうたいになります。A$ドルを実行じっこうすると、ユーザーが入力にゅうりょくした文字もじ列れつを、文字もじ列れつ変数へんすうA$ドルに代入だいにゅうします。この際さい、ユーザーが入力にゅうりょくした文字もじ列れつの中なかに、カンマ(,)が含ふくまれていると、正常せいじょうに処理しょりされません。実際じっさいに試ためしてみましょう。A$ドルENTERエンター、abc,defENTERエンターと、順じゅんに入力にゅうりょくしてください。A$ドルENTERエンター、abc,defENTERエンターと、順じゅんに入力にゅうりょくしてください。すると、実行じっこう例れい72に示しめす表示ひょうじになります。startスタートのエラー表示ひょうじが出でて、文字もじ列れつの再さい入力にゅうりょくが求もとめられます。これは、入力にゅうりょくした文字もじ列れつが、abc,defという1つの文字もじ列れつではなく、abcとdefの2つの文字もじ列れつがカンマで区切くぎられていると解釈かいしゃくされるからです。startスタートのメッセージが表示ひょうじされたのです。すればカンマを含ふくんだ文字もじ列れつを入力にゅうりょくできるかというと、ダブルクオーテーションマーク(")で囲かこめばいいのです。startスタートのエラーメッセージは出でずに、INPUTインプット文ぶんの実行じっこうが終了しゅうりょうします。A$ドルENTERエンターと入力にゅうりょくして文字もじ列れつ変数へんすうA$ドルの値あたいを調しらべると、ちゃんとabc,defが表示ひょうじされます。A$ドルENTERエンターと順じゅんに入力にゅうりょくした例れいこの様ように、入力にゅうりょくする文字もじ列れつの中なかにカンマが含ふくまれると、ダブルクオーテーションマークで囲かこって入力にゅうりょくしないと正常せいじょうに入力にゅうりょくできないのですが、入力にゅうりょくする文字もじ列れつの先頭せんとうや末尾まつびにスペースが含ふくまれる文字もじ列れつを入力にゅうりょくする場合ばあいにも、問題もんだいが発生はっせいします。ENTERエンター(abcの前後ぜんごにスペースを1つずつ)と入力にゅうりょくしてください。ENTERエンター(abcの前後ぜんごにスペースを1つずつ)と入力にゅうりょくしてください。すると、実行じっこう例れい74の様ような表示ひょうじになります。(abcの前後ぜんごにスペース)という文字もじ列れつが代入だいにゅうされたように思おもえます。ここで、変数へんすうA$ドルの値あたいを表示ひょうじして確認かくにんしてみましょう。A$ドルを実行じっこうするのですが、それでは、A$ドルの末尾まつびにスペースが入はいっている事ことが分わかりません。"#";A$ドル;"#"を実行じっこうする事ことにします。A$ドルに代入だいにゅうされている文字もじ列れつの前後ぜんごに、#を表示ひょうじさせるのです。#と、#、スペース、abc、スペース、#という文字もじ列れつが表示ひょうじされるはずです。#となり、スペースが抜ぬけている事ことがはっきりと分わかります。"#";A$ドル;"#"ENTERエンターと入力にゅうりょくしてください。すると、実行じっこう例れい75の様ような表示ひょうじになります。"#";A$ドル;"#"ENTERエンターと入力にゅうりょくした例れいこの様ように、#abc#と表示ひょうじされるので、A$ドルの値あたいは、前後ぜんごにスペースがないabcだった事ことになります。この例れいで示しめす様ように、INPUTインプット文ぶんで文字もじ列れつを入力にゅうりょくする際さいは、先頭せんとうのスペースと末尾まつびのスペースは、削除さくじょされてしまいます。先頭せんとうと末尾まつびのスペースが削除さくじょされないようにするためには、文字もじ列れつの前後ぜんごを"で囲かこみます。"という具合ぐあいに、文字もじ列れつの前後ぜんごに"を付つけてください。それでは、実際じっさいに試ためしてみましょう。"#";A$ドル;"#"ENTERエンターと、順じゅんに入力にゅうりょくしてください。"#";A$ドル;"#"ENTERエンターと、順じゅんに入力にゅうりょくしてください。#と、abcの前後ぜんごにスペースが表示ひょうじされるはずです。この様ように、"で文字もじ列れつを囲かこむ事ことで、先頭せんとうや末尾まつびのスペースを正ただしく入力にゅうりょくできる事ことが、確認かくにんできました。"#";A$ドル;"#"ENTERエンターと順じゅんに入力にゅうりょくした例れい3-10.RUNラン命令めいれいやNEWニュー命令めいれいを実行じっこうすると変数へんすうが消きえるリスト9に示しめす、変数へんすうXの値あたいを画面がめんに表示ひょうじするプログラムが入力にゅうりょくしてある状態じょうたいで、X=1ENTERエンター、RUNランENTERエンターと順じゅんに入力にゅうりょくすると、何なにが表示ひょうじされるでしょうか?ちょっと、考かんがえてみてください。X=1で、変数へんすうXに1を代入だいにゅうしてからRUNランでプログラムを実行じっこうしているので、画面がめんには1が表示ひょうじされそうな気きもするのですが···。Xそれでは、実際じっさいに試ためしてみましょう。XENTERエンター、X=1ENTERエンター、RUNランENTERエンターと、順じゅんに入力にゅうりょくしてください。XENTERエンター、X=1ENTERエンター、RUNランENTERエンターと、順じゅんに入力にゅうりょくしてください。すると、実行じっこう例れい77に示しめす様ように、1ではなく0が表示ひょうじされます。Xの値は0だったOk実行例77、Xに1を代入だいにゅうした後あとにリスト9のプログラムを実行じっこうした例れいこれは、RUNラン命令めいれいでプログラムを実行じっこうする際さいに、プログラムの実行じっこうに先立さきだって、全すべての変数へんすうを消去しょうきょするからです。リスト9のプログラムを実行じっこうし始はじめる時ときには、変数へんすうXは、消去しょうきょされてなくなっています。Xで、0が表示ひょうじされたのです。ちなみに、一度いちども代入だいにゅうされていない文字もじ列れつ変数へんすうを読よむと、空から文字もじ列れつ(文字数もじすうが0文字もじの文字もじ列れつ)が読よみだされます。参考さんこう:RUNラン命令めいれいは、プログラムを実行じっこうする前まえに、全すべての変数へんすうを消去しょうきょして、変数へんすうが全まったくない状態じょうたいでプログラムを実行じっこうするのですが、これを、「全すべての数値すうち変数へんすうに0を代入だいにゅうし、全すべての文字もじ列れつ変数へんすうに空から文字もじ列れつを代入だいにゅうしてからプログラムを実行じっこうする」と考かんがえても、プログラムの実行じっこう結果けっかに違ちがいはありません。RUNラン命令めいれいでプログラムを実行じっこうする時とき以外いがいに、NEWニュー命令めいれいでプログラムを消去しょうきょする際さいにも、全すべての変数へんすうが消去しょうきょされます。次回じかいから、プログラムの流ながれの制御せいぎょに関かんして説明せつめいする予定よていです。BASICのプログラミングができます。BASICで作ったプログラムのサンプル集です。円周率を求めるプログラムや、シューティングゲームのプログラムもあります。電子工作ISBN:978-4-7775-1941-5→工学社の書籍の内容の紹介ページ本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。このサイトの中の人が書いた本です。本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。