「変数って何?」

 コンピューターの特長の一つに、「大量のデータを扱うことができること」があげられます。

 電気の状態変化を利用してデータを記憶させることができる「メモリー(記憶装置)」という部品が組み込まれていて、大量のデータを扱うことができます。micro:bitでも、数十万文字分のデータを扱うことができるメモリーが、プロセッサー内に組み込まれています。

 プログラムから、このメモリーを使って、データを扱う仕組みのことを「変数(variable:『変化するもの』という意味)」と呼びます。

 変数は、数や文字といったデータを入れるような「容器」のような感じで使うことができ、変数を上手に扱うと、より便利なプログラムを作成することができます。このページでは、変数の役割・機能と、micro:bitでの扱い方をまとめてみました。

(本ページ作成 2021.04.29)

変数の役割と機能

 コンピュータープログラムでの変数の役割と機能をまとめてみました。

わかりやすい名前でデータを管理できる

 メモリーは「XXXX番地」とデータを格納吸う場所を指定するのでわかりにくく不便です。
 変数をつかうと、「hensu」などのようにわかりやすい名前をつけることができるので、プログラムの中でどんな役割のデータを納めた変数か、わかりやすくなります。

 新しく名前をつけた変数をつくることを、「変数の宣言」といいます。

変数に値を納めることができる

 変数に値を納めることを「代入」といいます。変数は1つの値だけを納めることができ、代入をすると前の値が消え、新しい値に上書きされます。

納められている値を参照し、表示したり処理できる

 変数に納められた値を参照し、その値を表示したり、計算などの処理をすることができます。参照しただけでは値は変わりません。

MakeCodeエディターでの変数の扱い方

 micro:bitの開発環境「MakeCodeエディター」での変数の取り扱い方をまとめてみました。

新しく変数をつくる

 MakeCodeエディターの「道具箱>変数」をクリックすると、次のような画面が表示されます。

 中央の「変数を追加する」をクリックすると、「作成する変数の名前:」ダイアログが開くので、名前を入力してください。

 「OK」をクリックすると、変数を示す「○○」ブロックと、「変数○○を(0)にする」「変数○○を(1)だけ増やす」のブロックがあらわれます。

変数に値を代入する

 「道具箱>変数」の中にある「変数○○を(0)にする」ブロックをつかうと、変数に値を代入することができます。
 micro:bitでは、数や文字の他に、画像・真偽値・音階・などのデータを代入することができます。

呼び出す

 変数に納めた値を呼び出して使用する例です。変数の型に合わせたブロックを利用するコード例を下記に示します。

 コードをシミュレーターで実行するとこのようになります。

 コードのリンク先はこちらです(https://makecode.microbit.org/_DF01k0PV6VEs)。タイトル横の「Edit Code」をクリックするとコード編集できます(音もでるようになります)。

変数の型について

 「変数」という名前ですが、MakeCodeエディターの変数は数以外にも様々な型のデータを扱うことができます。

数(数値)型

加減乗除など計算の対象となる量としての「数(数値)」です。整数の他小数も扱えます。

文字列型

 英数字や一部の記号を扱うことができます。

※漢字やかな文字なども扱うことができるようですが、表示することができません。

真偽型(ブーリアン型)

 「真(true)」と「偽(false)」のいずれかの値をとる型です。条件分岐式などで使われます。

画像

 MakeCodeエディターでは、変数にアイコンや矢印のほか、5×5のパターンを納めることができます。

音階

 音の高さを表す音階(ド・レ・ミ・ファ・ソ・ラ・シ)を変数に代入することができます。ただし内部では各音階の周波数として扱われています。

変数の型は、最初に値を代入したときに決まる

 MakeCodeエディターでは、変数に名前をつけて追加した段階では「数値型」となっています。実際にコードの中で使用し、最初に値を代入したときに型が決まります。一度型が決まったら、違う型の値を代入しようとすると、エラーになります。

ブロックと変数の型の組み合わせに注意

 ブロックと変数の型の組み合わせによってはエラーとなる場合があります。例えば、文字列として代入された「”123”」(両端を引用符で囲むと文字列として扱われます)を、「数を表示」ブロックを使ってディスプレイに表示しようとするとエラーになります。

 一方、数値変数の場合、「文字列を表示」ブロックを使うと、自動的に文字列に変換されて表示されます。

名前のつけ方

 MakeCodeエディターの日本語版では、変数につける名前に関して、漢字やかな文字など全角文字も使用できます。

 ただし現行バージョン(2021年4月現在。makecode.microbit.orgのバージョン: 3.0.68)では、デバッグモードの「変数チェック」で、全角文字の変数は表示されません。デバッグやメンテナンスなどを考えると、英単語やローマ字をつかった変数名が適切かもしれません。

 

【 ページTopに戻る 】