プログラミングの定番「変数」。変数とは何か、MakeCodeでの変数の活用例について紹介します。
変数とは
プログラムを実行している間だけデータを保存することができ、プログラム実行中はいつでもデータを読み取り/上書きすることができる仕組みがあります。この、保存しているデータのことを「変数」といいます。
例えば、スポーツの得点を記録するスコアボードがあります。
試合開始時は、両チームとも0点なので赤・青ともに0です。
赤のチームが3点とったとすると、スコアボードは左図のようになります。
そのあと、さらに赤のチームが1点とると、スコアボードは左図のようになります。
このように、得点が入るとボードの数字が上書きされていき、試合中いつでも各チームの得点を確認することができます。
変数はスコアボードと同じ役割をおこなうことができます。スコアボードは数字(得点)しか記録できませんが、変数は数字だけでなく、文字などさまざまな種類のデータを保存することができます。
MakeCodeに用意されている変数
MakeCodeには、すでに変数がいくつも用意されています。こちらは、用意されている変数ブロックの一例です。
ブロックの形 | 変数の名前 | 保存しているデータの種類 | 保存しているデータの中身 |
明るさ | 数値 | 光センサーで計測した「明るさの度合い」 | |
方角 | 数値 | 地磁気センサーで計測した「方角」 | |
稼働時間(ミリ秒) | 数値 | micro:bitの電源が入ってからの時間。もしくは、リセットボタンが押されてからの時間(ミリ秒単位) | |
receivedString | 文字列 | 無線通信で受信した文字列 |
新しい変数の作り方
MakeCodeでは、自分で新しく変数を作ることができます。
「変数を追加する…」を選択します。
変数の名前を入力し、「OK」ボタンをクリック
変数の名前には、半角の英数字(大文字も小文字も使えます)や記号だけでなく、ひらがなやカタカナ、漢字も使うことができます。何のデータを保存しているかがわかりやすい名前を付けましょう。
ツールボックス「変数」を選択してみてください。追加した変数のブロックと、その変数に関連した2つのブロックが作られていることを確認しましょう。
変数を2つ以上作った場合、関連したブロックは「▼」部分を選択して使いたい変数名を選びましょう。
作った変数の名前は変えることができます。また、削除することもできます。
名前を変えたい/削除したい変数ブロックの上で右クリックして、行いたい作業を選びましょう。
変数を使ったプログラムの例
カウンター:ボタンを押した回数を表示する機械です。変数「ボタンAが押された回数」を追加してプログラムを作り、micro:bitにダウンロードしてみましょう。
プログラムURL:https://makecode.microbit.org/_dCHY3setx97M
プログラムの流れはこちらのようになっています。
左のように、「変数ブロック」と「数を表示ブロック」の実行順番を逆にすると
LED画面には、1だけ増やす前の変数の中身が表示されてしまうので、ブロックの順番に注意しましょう。