ぼくのデジタルライフ

ただのガジェット好きがダラダラ書いていくブログ

そうだ、BASICでプログラムを作ろう。

f:id:computer-life:20150620164944j:plain

最近IchigoJamなどで「BASIC」は再び人気になってきてます。今回は、そんな「BASIC」をWindowsで実行する方法と、プログラムの例を紹介していきます。なんとなくつけた解説もあるので良かったら参考にしてください。

BASICについてのおさらい

BASICの名前は「Beginner's All-purpose Symbolic Instruction Code」(和訳:初心者向け汎用記号命令コード)からきています。

詳しく知りたい方は、Wikipediaが参考になります。

BASIC - Wikipedia

BASICの歴史は、誕生から50年以上立っているらしいです。

歴史あるプログラミング言語ですね。

gigazine.net

まずは準備から

PC上でBASICを実行するには、実行するソフトが必要になります。

今回、BASICを実行するのに使ったソフトは、「N88互換BASIC for Windows95」です。Windows95時代から使っているので、個人的にこれが一番使いやすいです。古めのソフトですが、Windows10でもきちんと作動してくれます。

追記 2018/4/8

MBASIC」で動作確認しました。こちらもおすすめです。

MS Small BasicやTBasicでは、プログラムの一部が動作しませんでした。

BASICのサンプルプログラム

僕が、昔作ったプログラムを交えながらサンプルを載せておきます。僕が分かる範囲で、簡単に解説を入れておきます。間違っていたらごめんなさい。

ここで紹介するプログラムは、「N88互換BASIC for Windows95」で作動確認済みのものです。

Hello World!を表示させてみる

f:id:computer-life:20180408161900p:plain

まずは、定番のやつから。

10 PRINT "Hello World"
20 END

  • PRINTは、画面に文字を表示するときに使います。

名前を尋ねてくるプログラム

f:id:computer-life:20180408161913p:plain

名前をたずねて、ようこそ◯◯さんと表示するプログラムです。

10 INPUT "お名前は";NAMAE$
20 PRINT "ようこそ ";NAMAE$;"さん"
30 END

  • INPUTは、入力を求めるときに使います。このプログラムでは、変数NAMAE$に入力した文字列を記憶させます。
  • PRINTは、画面に文字を表示するときに使います。先程記憶した変数NAMAE$を呼び出して表示させています。

ラインアート

f:id:computer-life:20180408161926p:plain

青と緑色のラインアート的なやつです。

10 SCREEN 3
20 CLS 3
30 FOR A=0 TO 639 STEP 10
40 LINE(0,0)-(A,399),1
50 NEXT A
60 FOR A=0 TO 399 STEP -10
70 LINE(0,399)-(639,A),2
80 NEXT A
90 FOR A=639 TO 0 STEP -10
100 LINE(639,399)-(A,0),4
110 NEXT A
120 END

  • LINEは、線を引く時に使います。色の指定については次のプログラムで触れます。例:LINE(座標)-(座標),色
  • CLS 3は、画面上にある文字と絵を消すときに使います。
  • FORNEXTは、FORからNEXTまで指定された回数繰り返すときに使います。

FOR、NEXTの使い方

「FOR A=0 TO 639」「NEXT A」について知りたいって友人に言われたので書いときます。この2つの文字列は選択した範囲のプログラムを指定した回数繰り返し実行するものです。セットで覚えておくと良いでしょう。

簡単に説明するとこんな感じ。

FOR A=0 TO 639」は、Aが0から639になるまで繰り返す。
NEXT A」は「A」に1を加算して先程の「FOR」に戻る。

文字が下にダーッって流れてくるやつ

f:id:computer-life:20180408161937p:plain

文字が下にダーッって流れていくやつです。

10 CONSOLE ,,,1
20 CLS
30 X=INT(RND(1)*70)
40 Y=INT(RND(1)*22)
50 C=INT(RNT(1)*6) +5
70 LOCATE X
80 COLOR 5
90 PRINT " 好きな文字 "
100 GOTO 30
110 END

  • CONSOLEは、画面の初期設定(表示モード等)をするときに使います。
  • PRINTは、画面に文字を表示するときに使います。
  • GOTOは、指定された行までジャンプするときに使います。
  • COLORはディスプレイに表示される文字色を指定するときに使います。ここでは、「COLOR 5」と宣言しているので水色で文字が出力されます。数字を他のものに変更することで他の色にできます。

 COLORの使い方

ここでは、はじめに「CONSOLE ,,,1」と宣言しているのでカラーモードで利用できます。指定できるカラーはこんな感じです。

  • 0(黒色)
  • 1(青色)
  • 2(赤色)
  • 3(紫色)
  • 4(緑色)
  • 5(水色)
  • 6(黄色)
  • 7(白色)

割り算プログラム

f:id:computer-life:20180408161947p:plain

割り算をするプログラムです。

10 INPUT "割り算をします。割られる数を入力してください";TAMA
20 INPUT "割る数を入力してください。";MIKE
30 WARI=TAMA/MIKE
40 SHOU=TAMAMIKE
50 AMARI=TAMA MOD MIKE
60 PRINT"割り算の答えは";WARI
70 PRINT"整数で表すと";SHOU;"あまり";AMARI
80 GOTO 10
90 LEST
100 END

  • INPUTは、入力を求めるときに使います。プログラムの二行目では、INPUTで入力した文字を変数ORANGEに記憶させています。
  • APPLEORANGEWARISHOUAMARIはそれぞれ入力したデータを記憶している変数名です。他のものに変更してもOKです。
  • PRINTは、画面に文字を表示するときに使います。プログラムでは変数WARISHOUAMARIに記憶されたデータを読み出して表示させています。

三角形の面積計算プログラム

f:id:computer-life:20180408162000p:plain

三角形の面積を計算するプログラムです。

10 CLS
20 LOCATE 0,0
30 PRINT "三角形の面積を計算します"
40 LOCATE 35,9
50 INPUT"底辺は";TEHEN
60 LOCATE 35,11
70 INPUT"高さは";TAKASA
80 LOCATE 25,15
90 PRINT"その三角形の面積は";TEHEN*TAKASA/2;"です"
100 END

  • INPUTは、入力を求めるときに使います。TEHENやTAKASAは変数で入力した値を記憶させています
  • LOCATEは、PRINT文の位置を指定するときに使います。わかりやすいように作ったのでなくてもOKです。例: LOCATE (X座標),(Y座標)
  • PRINTは、画面に文字を表示するときに使います。プログラムでは変数TEHENやTAKASAに記憶された値を呼び出して表示しています。

最後に

BASICの「直感的にプログラムが打てる」良さを改めて感じられました。やっぱり、触ってみると面白いですねBASIC。記事が参考になれば幸いです。

もし、他のBASIC実行環境で「これ動いたよ!」ってプログラムがあったらコメントで教えてください。

広告を非表示にする