Syn BASICのプログラムの作り方(3)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) (5) 次のページへ
2022年11月24日 公開。以前はSyn BASIC(オンラインBASICインタプリタ)のページのコンテンツであったSyn BASICの使い方の説明を、独立させて当ページにした。

記事きじにふりがなをけたいときは、つぎのチェックボックスをクリックしてください。

1-1-4.ざんざんをやってみる

PRINTプリントぶんもちいて、ざんざん計算けいさんをしてみましょう。

まずざんをしてみます。Synシン BASICベーシックでは、ざん記号きごう×ではなく、*アスタ(アスタリスク)を使つかいます。これは、×ざん記号きごう使つかうと、アルファベットのxX混同こんどうしやすいからです。

参考さんこう:Synシン BASICベーシックだけではなく、ほとんどのプログラミング言語げんごで、ざん記号きごうには*アスタ使つかいます。ひょう計算けいさんソフトのExcelエクセルでも、ざん記号きごう*アスタ使つかいます。

3×4の計算けいさんをするには、PRINTプリント 3*アスタ4ENTERエンター入力にゅうりょくします。画面がめん8で、実際じっさい入力にゅうりょくしてください。

ちゅう:この記事きじでは、ENTERエンターキーをことENTERエンター表記ひょうきします。

画面8、練習れんしゅうよう画面がめん

PRINTプリント 3*アスタ4ENTERエンター入力にゅうりょくしてください。

ただしくPRINTプリント 3*アスタ4ENTERエンター入力にゅうりょくできれば、実行じっこうれい16のよう画面がめん表示ひょうじになっているはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
PRINT 3*4 ← 入力したPRINT文
12 ← 計算結果
Ok
実行例16、PRINTプリント 3*アスタ4ENTERエンター入力にゅうりょくした直後ちょくご状態じょうたい

つぎざんをしてみます。Synシン BASICベーシックざん記号きごうには÷とも/スラッシュ(スラッシュ)がもちいられます。どちらの記号きごう使つかっても、ざんができますので、このみでえらんでください。日本語にほんご変換へんかんソフトを使つかわなくてもいいてんかんがえると、/スラッシュほう入力にゅうりょくしやすくていいかもれません。

参考さんこう:ほとんどのプログラミング言語げんごでは、ざん記号きごうとして÷使つかえず、/スラッシュ使つかいます。そもそも、ざん記号きごう÷使つか日本にほんは、世界せかいなかでは少数派しょうすうはであるようです。

5÷2の計算けいさんをするには、PRINTプリント 5/スラッシュ2ENTERエンター入力にゅうりょくします。(PRINTプリント 5÷2ENTERエンターでもかまいません) 画面がめん9で、実際じっさい入力にゅうりょくしてください。

画面9、練習れんしゅうよう画面がめん

PRINTプリント 5/スラッシュ2ENTERエンター入力にゅうりょくしてください。

ただしくPRINTプリント 5/スラッシュ2ENTERエンター入力にゅうりょくできれば、実行じっこうれい17のよう画面がめん表示ひょうじになっているはずです。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
PRINT 5/2 ← 入力したPRINT文
2.5 ← 計算結果
Ok
実行例17、PRINTプリント 5/スラッシュ2ENTERエンター入力にゅうりょくした直後ちょくご状態じょうたい

1-1-5.ざんざんざんざん優先ゆうせんされる

突然とつぜんですが質問しつもんです。1+2×3を計算けいさんすると、いくらになるでしょうか?

こたえは、9ではなく7ですね。ざんざんざっている計算けいさんをする場合ばあいは、ざんよりざん優先ゆうせんして計算けいさんするのでした。ですから1+2×3 = 1+(2×3) = 1+6 = 7という具合ぐあい計算けいさんします。学校がっこうならいましたね。

Synシン BASICベーシックでも、ざんざんと、ざんざんざった計算けいさんをする場合ばあいは、ざんざんよりも、ざんざん優先ゆうせんします。

それでは、実際じっさいに、Synシン BASICベーシックで1+2×3の計算けいさんをしてみましょう。画面がめん10でPRINTプリント 1+2*アスタ3ENTERエンター入力にゅうりょくしてみましょう。計算けいさん結果けっか実行じっこうれい18しめすように、ちゃんと7になるはずです。

画面10、練習れんしゅうよう画面がめん

PRINTプリント 1+2*アスタ3ENTERエンター入力にゅうりょくしてください。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
PRINT 1+2*3 ← 入力したPRINT文
7 ← 計算結果
Ok
実行例18、PRINTプリント 1+2*アスタ3実行じっこう結果けっか

つぎざんざんざったしき計算けいさんしてみましょう。

れいとして、10-4÷2×3+10÷5を計算けいさんしてみます。BASICベーシック計算けいさんしてみるまえに、自分じぶんあたま計算けいさんしてみると、10-4÷2×3+10÷5 = 10-(4÷2)×3+(10÷5) = 10-2×3+2 = 10-(2×3)+2 = 10-6+2 = 6となります。

これを、BASICベーシック計算けいさんさせてみましょう。画面がめん11で、PRINTプリント 10-4/スラッシュ2*アスタ3+10/スラッシュ5ENTERエンター入力にゅうりょくしてください。実行じっこうれい19しめように、計算けいさん結果けっかは6になるはずです。

画面11、練習れんしゅうよう画面がめん

PRINTプリント 10-4/スラッシュ2*アスタ3+10/スラッシュ5ENTERエンター入力にゅうりょくしてください。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
PRINT 10-4/2*3+10/5 ← 入力したPRINT文
6 ← 計算結果
Ok
実行例19、PRINTプリント 10-4/スラッシュ2*アスタ3+10/スラッシュ5実行じっこう結果けっか

1-1-6.計算けいさん優先順位ゆうせんじゅんいえたいときまる括弧かっこ使つか

前項ぜんこう説明せつめいで、「1+2×3計算けいさんをするときは、ざんよりもざん優先ゆうせんする」といいましたが、ざん優先ゆうせんするにはどうしたらいいのでしょうか?

学校がっこうでもならったとおもいますが、括弧かっこ使つかえばいいのです。具体ぐたいてきには、(1+2)×3けば、ざんよりもざん優先ゆうせんして計算けいさんします。

参考さんこう:(1+2)×3 = 3×3 = 9になります。

括弧かっこには色々いろいろ種類しゅるいがあるのですが、()まる括弧かっこといいます。数式すうしきなか使つか場合ばあいは、しょう括弧かっこともいいます。

Synシン BASICベーシック計算けいさん優先順位ゆうせんじゅんいえたい場合ばあいには、優先順位ゆうせんじゅんいたか計算けいさんを、このまる括弧かっこかこみます。

それではSynシン BASICベーシックPRINTプリントぶんで、(1+2)×3計算けいさんをしてみましょう。画面がめん12で、PRINTプリント (1+2)*アスタ3[ENT]入力にゅうりょくしてください。実行じっこうれい20しめように、計算けいさん結果けっかは9になるはずです。

画面12、練習れんしゅうよう画面がめん

PRINTプリント (1+2)*アスタ3ENTERエンター入力にゅうりょくしてください。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
PRINT (1+2)*3 ← 入力したPRINT文
9 ← 計算結果
Ok
実行例20、PRINTプリント (1+2)*アスタ3実行じっこう結果けっか

1-1-7.Synシン BASICベーシック使つか括弧かっこまる括弧かっこだけ

複雑ふくざつ計算けいさんになると、括弧かっこかこまれた計算けいさんなかに、さらに括弧かっこかこまれた計算けいさんてくる場合ばあいがあります。たとえば、[2×{(1+5)÷3+2}+6]÷7は、複数ふくすう括弧かっこてくるしきれいです。

参考さんこう:[2×{(1+5)÷3+2}+6]÷7 = [2×{(6÷3)+2}+6]÷7 = {2×(2+2)+6}÷7 = {(2×4)+6}÷7 = (8+6)÷7 = 14÷7 = 2となります。

このように、括弧かっこしきなか括弧かっこしきがあることを、「括弧かっこになっている」とか、「括弧かっこがネスティングしている」とかいいます。

算数さんすう数学すうがく場合ばあい一番いちばん内側うちがわ括弧かっこ()(まる括弧かっこあるいはしょう括弧かっこ)を使つかい、中間ちゅうかん括弧かっこ{}(なみ括弧かっこあるいはなか括弧かっこ)を使つかい、一番いちばんがいがわ括弧かっこ[](かく括弧かっこあるいはだい括弧かっこ)を使つかことおおいのですが、Synシン BASICベーシック使つか括弧かっこは、まる括弧かっこだけです。

参考さんこう:算数さんすう数学すうがくでも、まる括弧かっこだけでしきくのは間違まちがいではありません。括弧かっこ種類しゅるい使つかけるのは、数式すうしきやすくするためです。

Synシン BASICベーシックでは、[2×{(1+5)÷3+2}+6]÷7は、(2*アスタ((1+5)/スラッシュ3+2)+6)/スラッシュ7きます。まる括弧かっこだけでしきくと、ちょっと理解りかいしにくくなりますが、れてしまいましょう。

れいによって、[2×{(1+5)÷3+2}+6]÷7をPRINTプリントぶん計算けいさんしてみましょう。画面がめん13に、PRINTプリント (2*アスタ((1+5)/スラッシュ3+2)+6)/スラッシュ7ENTERエンター入力にゅうりょくしてください。実行じっこうれい21しめように、計算けいさん結果けっかは2になるはずです。

画面13、練習れんしゅうよう画面がめん

PRINTプリント (2*アスタ((1+5)/スラッシュ3+2)+6)/スラッシュ7ENTERエンター入力にゅうりょくしてください。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
PRINT (2*((1+5)/3+2)+6)/7 ← 入力したPRINT文
2 ← 計算結果
Ok
実行例21、PRINTプリント (2*アスタ((1+5)/スラッシュ3+2)+6)/スラッシュ7実行じっこう結果けっか

1-1-8.計算けいさん精度せいどについて

このこうではむずかしいはなしてくるのと、プログラミングにはかならずしも必要ひつようのないはなしてくるので、み飛ばしてかまいません。

10÷9はいくらになりますか?Synシン BASICベーシック計算けいさんするまえに、筆算ひっさんしてみてください。2のように、1.111111…と、1が永遠えいえんつづかずになりますね。

図2、10÷9を計算すると1が永遠に出てくる
↑ 画像をクリックすると拡大
図2、10÷9を計算けいさんすると1が永遠えいえんてくる

このように、10÷9のこたえを小数しょうすうあらわすと、1を無限むげんかなければいけないので、電卓でんたくやコンピュータで計算けいさんしても、完全かんぜんには正確せいかくこたえがこたえられません。

10÷9を電卓でんたく計算けいさんすると、電卓でんたく種類しゅるいにもよりますが、一般いっぱんてき電卓でんたくでは1.1111111と8けた結果けっか表示ひょうじするものおおいとおもいます。興味きょうみがあるひとは、ぜひ実際じっさい計算けいさんしてみてください。

それでは、Synシン BASICベーシックで10÷9を計算けいさんすると、どういう結果けっかになるでしょうか?

実際じっさいにやってみましょう。画面がめん14でPRINTプリント 10/スラッシュ9ENTERエンター入力にゅうりょくしてください。

画面14、練習れんしゅうよう画面がめん

PRINTプリント 10/スラッシュ9ENTERエンター入力にゅうりょくしてください。

Syn BASIC Version 0.31α ©2021-2022 Hiroshi Tanigawa(Synapse)
Ok
PRINT 10/9 ← 入力したPRINT文
1.11111111111 ← 計算結果
Ok
実行例22、PRINTプリント 10/スラッシュ9実行じっこう結果けっか

こたえは、実行じっこうれい22にしめように、1.11111111111と、12けた表示ひょうじされたはずです。Synシン BASICベーシックは、一般いっぱんてきな8けた電卓でんたくよりおおくの桁数けたすう計算けいさんしているんですね。興味きょうみがあるひとは、10÷3や、10÷7や、100÷11など、ほかれないざんも、Synシン BASICベーシック計算けいさんさせてみましょう。

ちゅう:後述こうじゅつするように、Synシン BASICベーシック内部ないぶでは、実際じっさいには12けたではなく15~16けた計算けいさんをしています。

コンピュータが計算けいさんをするときに、なんけた計算けいさんするのかを、計算けいさん精度せいどといいます。むずかしいはなしになりますが、Synシン BASICベーシック計算けいさん精度せいど倍精度ばいせいど浮動ふどう小数点しょうすうてん演算えんざんです。

人間にんげん10進数しんすう計算けいさんするのにたいし、コンピュータはたいていの場合ばあい2進数しんすう計算けいさんします。倍精度ばいせいど浮動ふどう小数点しょうすうてん演算えんざんでは、2進数しんすうで53けた数字すうじ計算けいさんができるのですが、これを10進数しんすう換算かんさんすると、16けたじゃくになります。つまり、Synシン BASICベーシックは、計算けいさんを、10進数しんすう換算かんさんで16けたじゃく計算けいさん精度せいどおこなっているのです。

コンピュータが2進数しんすう計算けいさんする場合ばあい計算けいさんするまえに、人間にんげんんだ10進数しんすうを2進数しんすう変換へんかんします。また、計算けいさん結果けっか画面がめん表示ひょうじするときに、2進数しんすうを、人間にんげん理解りかいできる10進数しんすう変換へんかんします。じつはそれらの変換へんかんさいに、わずかな変換へんかん誤差ごさ発生はっせいします。この変換へんかん誤差ごさ発生はっせい仕組しくみが、コンピュータ(というか2進数しんすう)にくわしくないひとには理解りかいしにくいので、Synシン BASICベーシックでは、実際じっさい計算けいさんした桁数けたすうよりけたすくなめに表示ひょうじして、誤差ごさ目立めだたないようにしています。

結構けっこうむずかしいはなしになりましたが、10進数しんすうと2進数しんすう変換へんかん誤差ごさ計算けいさん精度せいどはなしは、十分じゅうぶん理解りかいできていなくても、当面とうめん問題もんだいなくプログラムができます。

参考さんこう:べつSynシン BASICベーシックなどのプログラム言語げんごあつかわなくても、10進数しんすうと2進数しんすうあいだ変換へんかん誤差ごさはなし関係かんけいではありません。2進数しんすう知識ちしきまったくないひと給与きゅうよ計算けいさんなどに使つかっているExcelエクセルなどのひょう計算けいさんソフトにおいても、同様どうよう誤差ごさ発生はっせいします。Excelエクセルにおける誤差ごさはなしは、たとえばつぎ紹介しょうかいするページに解説かいせつされています。非常ひじょう正確せいかく計算けいさんする必要ひつようのある分野ぶんやにコンピュータを利用りようする場合ばあいは、この知識ちしき必要ひつようになります。

次のページでは文字列もじれつについて説明せつめいします。

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

関連ページ

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