2022年11月24日 | 公開。以前はSyn BASIC(オンラインBASICインタプリタ)のページのコンテンツであったSyn BASICで作ったプログラムの例を、独立させて当ページにした。 |
2022年12月03日 | 「READ文とDATA文を使ってデータを読み出すプログラム」の節を追加。タイトルを「Syn Basicで作ったプログラムの例」から「Syn Basicのサンプルプログラム」に変更。 |
この記事では、Syn BASICで作ったプログラムの例を、いくつか紹介します。これらのサンプルプログラムは、実際にページ内で実行できる様になっているため、プログラムリストと実行結果を比較しながら理解できる様になっています。
リスト1は、INPUT文でaとbの二つの数を入力して、aとbの和(a+b)を計算し、結果を画面に表示するプログラムです。
10 PRINT "二つの数aとbを入力すると、それらの和a+bを計算して表示します。"
20 INPUT "a:",A
30 INPUT "b:",B
40 PRINT "a+bの計算結果:";a+b
50 PRINT
60 GOTO 10
リスト1のプログラムは、画面1のRUNボタン(青い三角形のボタン)をクリックすると、実際に実行できます。
リスト2は、1から100までの数の合計を計算して表示するプログラムです。
10 S=1 :'最初の数
20 E=100 :'最後の数
30 SUM=0 :'合計
40 FOR I=S TO E :'SからEまで繰り返し
50 SUM=SUM+I :'SUMにIを足す
60 NEXT
70 PRINT S;"から";E;"までの合計は";SUM;"です。" :'合計を表示する
リスト2のプログラムは、画面2のRUNボタン(青い三角形のボタン)をクリックすると、実際に実行できます。実行すると、1から100までの数の合計の5050が表示されるのが分かると思います。
プログラムの10行の変数Sの値は、合計する最初の数を表しています。また20行のEの値は、合計する最後の数を表しています。SとEの値を書き換えると、好きな範囲の数の合計を計算できます。
また、10行と20行を、リスト3に示す様にINPUT文にして、変数の値を尋ねる様にすると、プログラムを変更しなくても、好きな範囲の数の合計を計算できる様になります。
10 INPUT "最初の数:",S
20 INPUT "最後の数:",E
リスト4は、いくつかの数を入力すると、それらの最大値、最小値、合計、および平均値を求めるプログラムです。0または正の数をいくつか入力した後に負の数を入力すると、入力した数の個数、最大値、最小値、合計、および平均値を表示した後に、再び数の入力に戻ります。
10 PRINT "0または正の数をいくつか入力すると、それらの最大値、最小値、合計、平均値を求めます。入力を終了する時は、負の数を入力してください。"
20 N=0 :'入力済みの数の個数
30 SUM=0 :'合計
40 PRINT N+1;"番目の数を入力してください"
50 INPUT R :'数を入力
60 IF R<0 THEN 130 :'負の数が入力されたら入力終了
70 IF N=0 THEN MIN=R:MAX=R :'最初の数が入力されたら、最小値と最大値を入力された数にする
80 IF R<MIN THEN MIN=R :'今までの最小値よりも小さい数が入力されたら、最小値を更新
90 IF R>MAX THEN MAX=R :'今までの最大値よりも大きい数が入力されたら、最大値を更新
100 SUM=SUM+R :'合計を更新
110 N=N+1 :'入力済みの数の個数を更新
120 GOTO 40 :'次の数を入力するためジャンプ
130 IF N=0 THEN PRINT "数を入力していません。":GOTO 10 :'いきなり負の数を入力した場合の対策
140 PRINT "入力した数の個数:";N
150 PRINT "最大値:";MAX
160 PRINT "最小値:";MIN
170 PRINT "合計:";SUM
180 PRINT "平均値:";SUM/N
190 PRINT
200 GOTO 10
リスト4のプログラムは、画面3のRUNボタン(青い三角形のボタン)をクリックすると、実際に実行できます。
リスト5は、DATA文に書き込んである果物の名前と、その果物1個の値段を、READ文で読み取り、果物を2個づつ買った場合に、それぞれいくらになるかを表示するプログラムです。
10 READ N:'DATA文から果物の種類の数を読み取る
20 DIM NAME$(N):'果物の名称を記録するNAME$という配列を宣言
30 DIM PRICE(N):'果物の単価を記録するPRICEという配列を宣言
40 FOR I=1 TO N
50 READ NAME$(I),PRICE(I):'DATA文から果物の名前と単価を読み取る
60 NEXT
70 FOR I=1 TO N
80 PRINT NAME$(I);"を2個買うと";PRICE(I)*2;"円です。"
90 NEXT
100 END
110 DATA 4:'果物の種類
120 DATA "りんご",80
130 DATA "栗",50
140 DATA "みかん",60
150 DATA "ぶどう",120
リスト5のプログラムは、画面4のRUNボタン(青い三角形のボタン)をクリックすると、実際に実行できます。
次のページでは、算数や数学に関するプログラムを紹介します。