変数ってなんだ?プログラミング初心者が調べてみた【ミワ ムラタのRobo Blocks奮闘記】
こんにちは!Robo Blocksチームのムラタ ミワです。プログラミング初心者ながら、プログラミングツールRobo Blocksを担当しています。わたしがRobo Blocksを使い始めて、最初につまずいたポイント、それが今回のテーマ「変数」でした。
Robo Blocksの画面、左側にずらっと並ぶブロック。他のブロックのタイトルは、読めばわかる言葉で書いてあるのですが、「変数」だけはさっぱりわかりませんでした。「変数」という言葉は、日常生活では聞き慣れない言葉です。
変数って何?
早速、「変数」が何なのか調べてみました。
・変数は、値を入れる箱、またはラベルのようなもの
・変数(箱、またはラベル)には、名前をつけられる
・変数(箱、またはラベル)は、値を入れたり取り出したりできる
はぁ、、、意味がわかりません。さらに調べてみましょう。
調べていくうちに、中学校で習った数学でも「変数」という言葉が出てきたのを思い出しました。文系に進んだわたしはすっかり忘れていました。
x+y=5
みたいな計算式があったとき、xとyは変数です。なんとなく思い出してきました。
xとyには、値を代入できます。「代入」という言葉も、今回調べながら思い出しました。xが決まると、yの値も決まります。このxとyも値を入れる箱(またはラベル)と言えそうです。
ただ、数学で出てきた変数との違いは、数字以外、文字列も入れられるということです。
「今日の天気は、x」の x に「晴れ」を代入すると、「今日の天気は、晴れ」になります。x に「曇り時々雨」を代入すると、「今日の天気は、曇り時々雨」になります。
x は、その日の天気によって値が変わります。x は、変数(箱、またはラベル)なので、次のように名前をつけられます。
「今日の天気は、【今日の天気】」
変数に名前をつけることで、変数に入る値の意味がわかり、内容を理解しやすくなりました。
変数を使うとうれしいこと
変数が何なのか、フワッとわかっても、なぜ使うのかわかりません。変数を使うとうれしいことも調べてみました。
修正しやすくなる
例えば、「Pepperの声の高さ」という変数を考えます。プログラム内のPepperが喋べる箇所全てで、声の高さの値に「Pepperの声の高さ」変数を設定しておきます。こうすることで、変数に値を代入する箇所のみ変更することで、Pepperの喋べる箇所全ての声の高さを一律変更することができます。
変数ではなく、直接値を入力していた場合は、1つ1つ手作業で変更する必要があります。
値を覚えておける
Pepperが頭をさわられた回数をカウントし、その回数をしゃべるプログラムを考えます。
「頭タッチ回数」という変数を使うことで、頭をさわられた回数を覚えておき、さわられる度に回数を1ずつ増やすことができます。これができるようになると、頭を触った回数によってPepperがしゃべる内容を変えられるので、おしゃべりしてほしい時にタイミングをコントロールしてPepperをしゃべらせることができるようになったりします。
ロジックが読み解きやすくなる
例えば、数字しか書いてないと、後で見た時に、それが何の数字なのかわからなくなってしまいます。自分で書いたプログラムでさえ、時間が経って見ると、何の処理をしているのかわからなくなることがあります。わかりやすい変数名にしておくことで、ロジックを読み解く手助けになります。
Robo Blocksで変数を使うには
では、最後に、Robo Blocksでの変数の使い方をご紹介。
変数を作る
1.画面左のブロックパレットを下にスクロールすると、変数についての項目があります。「変数を作る」をクリック
2.変数名を入力し、「確認」をクリック
3.作成した変数を使うためのブロックが作成されます
変数名を変更する
作ったプログラムを理解しやすくするため、変数名は重要です。変数名の変更方法はちょっとトリッキーなので覚えておいてください。
1.「[変数名]を○にする」または「変数[変数名]を1ずつ変える」ブロックの[変数名]の右側の▼をクリック。リストから変更したい変数を選択し、変数名の左にチェックが入った状態で、「変数名を変更」をクリック
2.変数名を入力し、「確認」をクリック
変数を削除する
変数を削除する方法は2つあります。
・1つ目は、削除したい変数の楕円のブロックを右クリック。「変数「[変数名]」を削除」をクリック。これで削除できます
・2つ目は、「[変数名]を○にする」または「変数[変数名]を1ずつ変える」ブロックの[変数名]の右側の▼をクリック。リストから削除したい変数を選択し、変数名の左にチェックが入った状態で、「変数「[変数名]」を削除」をクリック。この方法でも削除できます
変数を使ったプログラムを作る
変数のブロックの使い方をご紹介すべく、簡単なプログラムを作ってみました。
Pepperの頭がさわられた回数をカウントし、その回数をしゃべるプログラムです。
・「頭タッチ回数」という変数を作成
・「頭タッチ回数」を0にし、初期化(誤って変な値が入っていると、後続の処理が正しく動かないため)
・頭がさわられる度に「頭タッチ回数」を1ずつ変えます。つまり、1ずつ増やします
・「頭タッチ回数」(X)を、「X回」と発話します
最後に
今回は、Robo Blocksを使い始めた当初にわからなかった「変数」について、わたしなりに調べたことや、Robo Blocksでの変数の使い方をご紹介しました。
いろいろご紹介しましたが、わたしが変数について腑に落ちたのは、結局、実際に使ってみたときでした。初めは、変数ってよくわからんと思われるかもしれませんが、プログラムを作って、変数を使ってみてください。使ってみるうちに、プログラム作成には無くてはならないものになっていくと思います。あくまでプログラミング初心者の体験談ですが、ご参考まで!
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ソフトバンクロボティクス株式会社 ホームページ
https://www.softbankrobotics.com/jp/
Pepper for Education
https://www.softbankrobotics.com/jp/product/education/
STREAMチャレンジ
https://www.softbankrobotics.com/jp/product/academy/stream/
━━━━━━━━━━━━━━━━━━━━Pepperブログ編集部━┛