Syn BASIC (オンラインBASICインタプリタ)(4)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) 次のページへ
2021年03月28日 公開。

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

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

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

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

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

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

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

画面14、練習れんしゅうよう画面がめん(PRINTプリント 3*アスタ4[ENT]エンター入力にゅうりょくしてください)

入力にゅうりょくはじめるまえに、くろ画面がめんをクリックしてください。

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

Synシン BASICベーシック Versionバージョン 0.21αアルファ ©2021 Hiroshiひろし Tanigawaたにがわ(Synapseしなぷす)
Okオーケー
PRINTプリント 3*アスタ4 入力にゅうりょくしたPRINTプリントぶん
12 計算けいさん結果けっか
Okオーケー
実行例16、PRINTプリント 3*アスタ4[ENT]エンター入力にゅうりょくした直後ちょくご状態じょうたい

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

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

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

画面15、練習れんしゅうよう画面がめん(PRINTプリント 5/スラッシュ2[ENT]エンター入力にゅうりょくしてください)

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

Synシン BASICベーシック Versionバージョン 0.21αアルファ ©2021 Hiroshiひろし Tanigawaたにがわ(Synapseしなぷす)
Okオーケー
PRINTプリント 5/スラッシュ2 入力にゅうりょくしたPRINTプリントぶん
2.5 計算けいさん結果けっか
Okオーケー
実行例17、PRINTプリント 5/スラッシュ2[ENT]エンター入力にゅうりょくした直後ちょくご状態じょうたい

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

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

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

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

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

画面16、練習れんしゅうよう画面がめん(PRINTプリント 1+2*アスタ3[ENT]エンター入力にゅうりょくしてください)
Synシン BASICベーシック Versionバージョン 0.21αアルファ ©2021 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ベーシック計算けいさんさせてみましょう。画面がめん17で、PRINTプリント 10-4/スラッシュ2*アスタ3+10/スラッシュ5[ENT]エンター入力にゅうりょくしてください。実行じっこうれい19しめように、計算けいさん結果けっかは6になるはずです。

画面17、練習れんしゅうよう画面がめん(PRINTプリント 10-4/スラッシュ2*アスタ3+10/スラッシュ5[ENT]エンター入力にゅうりょくしてください)
Synシン BASICベーシック Versionバージョン 0.21αアルファ ©2021 Hiroshiひろし Tanigawaたにがわ(Synapseしなぷす)
Okオーケー
PRINTプリント 10-4/スラッシュ2*アスタ3+10/スラッシュ5 入力にゅうりょくしたPRINTプリントぶん
6 計算けいさん結果けっか
Okオーケー
実行例19、PRINTプリント 10-4/スラッシュ2*アスタ3+10/スラッシュ5実行じっこう結果けっか

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

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

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

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

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

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

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

画面18、練習れんしゅうよう画面がめん(PRINTプリント (1+2)*アスタ3[ENT]エンター入力にゅうりょくしてください)
Synシン BASICベーシック Versionバージョン 0.21αアルファ ©2021 Hiroshiひろし Tanigawaたにがわ(Synapseしなぷす)
Okオーケー
PRINTプリント (1+2)*アスタ3 入力にゅうりょくしたPRINTプリントぶん
9 計算けいさん結果けっか
Okオーケー
実行例20、PRINTプリント (1+2)*アスタ3実行じっこう結果けっか

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

画面19、練習れんしゅうよう画面がめん(PRINTプリント (2*アスタ((1+5)/スラッシュ3+2)+6)/スラッシュ7[ENT]エンター入力にゅうりょくしてください)
Synシン BASICベーシック Versionバージョン 0.21αアルファ ©2021 Hiroshiひろし Tanigawaたにがわ(Synapseしなぷす)
Okオーケー
PRINTプリント (2*アスタ((1+5)/スラッシュ3+2)+6)/スラッシュ7 入力にゅうりょくしたPRINTプリントぶん
2 計算けいさん結果けっか
Okオーケー
実行例21、PRINTプリント (2*アスタ((1+5)/スラッシュ3+2)+6)/スラッシュ7実行じっこう結果けっか

2-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を計算けいさんすると、どういう結果けっかになるでしょうか?

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

画面20、練習れんしゅうよう画面がめん(PRINTプリント 10/スラッシュ9[ENT]エンター入力にゅうりょくしてください)
Synシン BASICベーシック Versionバージョン 0.21αアルファ ©2021 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) 次のページへ
Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
こちらのページもおすすめです。