Syn BASICのサンプルプログラム(1)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) (5) 次のページへ
2022年11月24日 公開。以前はSyn BASIC(オンラインBASICインタプリタ)のページのコンテンツであったSyn BASICで作ったプログラムの例を、独立させて当ページにした。
2022年12月03日 「READ文とDATA文を使ってデータを読み出すプログラム」の節を追加。タイトルを「Syn Basicで作ったプログラムの例」から「Syn Basicのサンプルプログラム」に変更。

この記事では、Syn BASICで作ったプログラムの例を、いくつか紹介します。これらのサンプルプログラムは、実際にページ内で実行できる様になっているため、プログラムリストと実行結果を比較しながら理解できる様になっています。

目次

1. 簡単なプログラム … 1ページ
1-1. 2つの数の和を求めるプログラム … 1ページ
1-2. 1から100までの数の合計を計算するプログラム … 1ページ
1-3. 入力した複数の数の最大値、最小値、合計、および平均値を求めるプログラム … 1ページ
1-4. READ文とDATA文を使ってデータを読み出すプログラム … 1ページ
2. 算数や数学に関するプログラム … 2ページ
2-1. 筆算風に掛け算をするプログラム … 2ページ
2-2. 筆算風に割り算をするプログラム … 2ページ
2-3. 素数を見つけるプログラム(1) … 3ページ
2-4. 素数を見つけるプログラム(2) … 3ページ
2-5. 素数を見つけるプログラム(3) … 3ページ
2-6. 円周率を求めるプログラム(1) … 4ページ
2-7. 円周率を求めるプログラム(2) … 4ページ
3. ゲームのプログラム … 5ページ
3-1. じゃんけんをするプログラム … 5ページ
3-2. サイコロの目をあてるゲーム … 5ページ
3-3. シューティングゲーム … 5ページ

1.簡単なプログラム

1-1.2つの数の和を求めるプログラム

リスト1は、INPUT文でaとbの二つの数を入力して、aとbの和(a+b)を計算し、結果を画面に表示するプログラムです。

リスト1、2つの数の和を求めるプログラムCOPY
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ボタン(青い三角形のボタン)をクリックすると、実際に実行できます。

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
CLS:LIST
画面1、2つの数の和を求めるプログラム

1-2.1から100までの数の合計を計算するプログラム

リスト2は、1から100までの数の合計を計算して表示するプログラムです。

リスト2、1から100までの数の合計を計算して表示するプログラムCOPY
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=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、1から100までの数の合計を計算するプログラム

プログラムの10行の変数Sの値は、合計する最初の数を表しています。また20行のEの値は、合計する最後の数を表しています。SとEの値を書き換えると、好きな範囲の数の合計を計算できます。

また、10行と20行を、リスト3に示す様にINPUT文にして、変数の値を尋ねる様にすると、プログラムを変更しなくても、好きな範囲の数の合計を計算できる様になります。

リスト3、合計する数の範囲を尋ねる様にする場合の変更点COPY
10 INPUT "最初の数:",S
20 INPUT "最後の数:",E

1-3.入力した複数の数の最大値、最小値、合計、および平均値を求めるプログラム

リスト4は、いくつかの数を入力すると、それらの最大値、最小値、合計、および平均値を求めるプログラムです。0または正の数をいくつか入力した後に負の数を入力すると、入力した数の個数、最大値、最小値、合計、および平均値を表示した後に、再び数の入力に戻ります。

リスト4、最大値、最小値、合計、および平均値を求めるプログラムCOPY
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ボタン(青い三角形のボタン)をクリックすると、実際に実行できます。

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
CLS:LIST
画面3、最大値、最小値、合計、および平均値を求めるプログラム

1-4.READ文とDATA文を使ってデータを読み出すプログラム

リスト5は、DATA文に書き込んである果物の名前と、その果物1個の値段を、READ文で読み取り、果物を2個づつ買った場合に、それぞれいくらになるかを表示するプログラムです。

リスト5、果物を2個買った場合の値段を計算するプログラムCOPY
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ボタン(青い三角形のボタン)をクリックすると、実際に実行できます。

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
CLS:LIST
画面4、果物を2個買った場合の値段を計算するプログラム

次のページでは、算数や数学に関するプログラムを紹介します。

目次へ  前のページへ (1) (2) (3) (4) (5) 次のページへ

関連ページ

Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。