名前に「計算機」とつくぐらいだから、計算もできるということになりそうですね。いう訳で、実際に計算をさせてみよう。やって計算させるの?マイクロビットに計算をさせるには、どうすればいいか分かるかい?うーん、分かった!お願いする!マイクロビットさん、どうか計算してください。いやいや、相手はコンピューターだぞ。コンピューターに仕事をさせるには、プログラムを作ればよいのだ。計算させるプログラムを作ればよい、ということですね。プログラムを作れない、ただのトマトの僕には、どうすることもできない。それをこれから覚えようとしているのだ。下のリンクをクリックして、パイソンエディターを開いてくれたまえ。Community.python.microbit.org計算の答えを入れる場所を用意しよう。計算の答えを入れる場所が必要となる。これには、変数と呼ばれるものを使う。へんすうですか?変な数?お、調子が出てきたな。「変な数」ではなく、「変わる数」だ。中身が変わる数字の入れ物のようなものだ。今回は、「a」という名前の変数を用意する。変数「a」に0が格納されている。親しみがわいてきましたね。「a」さん、よろしくね。名前には、半角を用いる。大文字と小文字は区別されるから要注意だ。「a」さんと「A」さんは別の人ってことですか?その通りだ。名前は1文字でなくてもよいぞ。「Kotae」でもよいし、「tomato」でもよい。「tomaTo」と「tomato」は別の変数になるから気を付けてくれたまえ。名前の途中に大文字が入ってもいいんだ。「toMato」さんとか、「ToMaTo」さんとか。全て大文字の「TOMATO」さんでもいいぞ。ふえぇ、「TOMATO」さん!トマトの親分って感じですね。変数「a」をサンプルプログラムに追加してみるぞ。sleep(2000)4行目に「a=0」というのが追加されましたね。これで「a」という変数が用意された。「=0」としているのは、「a」の中に0を入れる、ということだ。「=0」としないとどうなるのですか?試してみたら、エラーとなってしまった。defined」と表示された後、何も表示されなくなってしまったぞ。箱を用意したら、ちゃんと中身を入れておかないといけない、ということですね。パイソンでは、そういうルールになっているようだな。実際に「a」に0が入っていることを確認してみよう。プログラムのハートを表示する部分を次のように修正してくれたまえ。sleep(2000)「Image.HEART」を「a」に変更するのだ。これをマイクロビットにFlashすると、ハートの代わりに0が表示されるようになる。了解です!・・・0が表示されました!いよいよ計算の部分を作ろう。変数を用意できたので、次は計算を行う部分を作ろう。10行目に次の行を追加するのだ。a=a+1あれ、なんか変ですよ。「a=a+1」って書いてありますよ。おかしくないですか?良いところに気が付いたね。数学ではおかしな式だが、プログラミングでは、これで良いのだ。プログラミングでは、「=」は等号ではなく、代入という意味なのだ。代入ですか?つまり、「a」の中に「a+1」を入れる、ということなのだ。いいますと?例えば「a」に5が入っていたとして、「a+1」は6なので、「a=a+1」が実行されると、「a」の中身は6になるのだ。1」のイメージつまり、「a」の中身を1増やす、ということで良いでしょうか?その通り!分かってきたようだね。試してみてくれたまえ。インデントの入れ忘れにご注意やってみました。あれ、0のままですよ。どれどれ、見せてごらん。a=a+1なるほど、インデントを入れ忘れたのだね。インデント?なんすか、それ?例えば9行目の「sleep」を見てごらん。書き始めが少し後ろに下がっているだろう。6行目の「while」より後の行はみんな少し後ろから書かれていますね。日本語では、字下げともいうぞ。値下げだったらうれしいですけど。残念ながら値下げではない。6行目の「while」により、7行目以降が繰り返し実行される、ということを以前説明したが、覚えているね?ィエース。この「while」の効果が及ぶのが、「while」以降のインデントされている行で、インデントされない行が現れると、それ以降は「while」の効果が及ばず、繰り返し実行されなくなるのだ。いつ実行されるのですか?今回のプログラムでは、「while」は無限ループとなる。サンプルプログラムの説明の回で言ってたやつですね。無限ループからは出ることができないので、そのあとに書かれた行は永久に実行されることはないのだ。うーん、恐ろしいですね。2度と出てこれないアリジゴクみたいですね。インデントをどうやって入力するのか?インデントはどうやって入れればよいのですか?インデントの入力方法はいくつかある。キーボードの左側にある「Tab」と書かれたキーを押すと入力することができる。フムフムただ、この方法ではうまくインデントが機能しない場合がある。それは困りますね!いろいろ試した結果、一つのインデントにつきスペースを四つ入力するのが確実のようだ。分かりました!インデントはスペース四つですね!インデントを二つ、三つと入力する場合は、スペースを八つ、12個というように入力するのだ。それと、今回は「Hello,World!」の表示は不要なので、7行目の先頭に「#」を入れると表示されなくなるぞ。a=a+1やってみました。数字が増えていきますね!「a=a+1」を「a=a+2」にしてみたり、「a=a-1」にしてみたりすると、いろんな計算をさせられることがわかると思うぞ。掛け算、割り算はどうすればよい?足し算、引き算は分かったのですが、掛け算、割り算はどうすればよいのですか?掛け算は「*」、割り算は「/」を使えばよい。10行目を「a=a*2」とか、「a=a/5」とかにしてみてくれたまえ。「a=a*100」っと。なんか、0がずーっと表示されてしまいますね。いう時は、8行目を「display.scroll(a)」のようにすればよいぞ。a=a*100100とか、10000とか、数字が流れて表示されるので、分かりやすくなりました。計算をするための記号「+」とか「-」とかは、演算子と呼ばれている。「=」も演算子の一種で、代入演算子という。コンピューターって、計算機だったんですね。今回のまとめ今回の内容をまとめておくぞ。変数は数値や計算結果などを入れておく箱のようなものwhileなどの効果が及ぶのは、インデントされている行インデント一つにつきスペースを四つ入力する。計算には演算子を使う。変数に値や計算結果を格納する。