micro:bit実習(3) 変数と繰返し

 

一気に難しくなってごめんなさい。

 

プログラムを作るためには何種類かの必須機能があります。

今からその内の

1 変数

2 繰り返し処理

について実習します。

 

その過程で、

・カウントアップ・プログラム

・カウントダウン・プログラム

を作ります。

 

 

【1 変数】

変数(名)とは、数値などを入れる「箱」の名称

欲しいと思った時点で勝手な名前を付けて

「使用するぞ」と宣言します。

 

ここでは「count」という数字を入れる「箱」を作ります。

「変数」ブロック群をクリックし

「変数を追加する」をクリック

表示された「作成する変数の名前」ダイアログに「count」と入力し、「OK」をクリックします。

 

「最初だけ」ブロックの中に

「変数」群から「変数countを0にする」をドロップ

 

「入力」群「Aボタンが押されたとき」の中に

「基本」群「数を表示」を入れ

更に「0」の位置に変数名「count」を入れます。

 

 

【2 繰り返し処理】

繰り返し処理とは、同じような処理の反復をコンピュータにさせてしまう機能です。

 

数字を1,2,3,4と表示することを考えます。

今までは「順処理」と言ってコンピュータにさせる処理を1個づつ全てブロックで記述してました。

単純に考えると左のように書けばいいですね。

 

でも、表示する数値が1~1000だったらどうでしょうか?

プログラムがものすごく長くなって面倒ですよね。

 

 

先のプログラムは「数を表示」というブロックが4個縦に並んでます。

この部分は単純な「繰り返し処理」ですよね?

なのでここを「繰り返し4回」というブロックでまとめることができます。

 だけど、毎回表示する数値を1 ->4と変化させないといけなくなります。

一見面倒ですけど、表示する数字が1000までだった場合でも、繰り返し回数を 4 -> 1000と書き換えるだけで済みます!

 

 一番初めに「変数 count を(0)にする」をセットします。(「初期化処理」と言います。)

これが無い場合ボタンを押すたびに数字が加算されてしまいます。

 

「ループ」群から「繰り返し4回」を持ってきて、

その中に「数を表示 (count)」を入れます。

実行しても、変数「count」の値が「0」のまま増えてくれません。

そこで「変数」群から「変数 count を(1)だけ増やす」を追加します。

 --------------

このプログラムを実行すると、緑色のコの中を4回通ることになります。

1 Aボタンを押すとcountの中身が「0」に初期化されます。

2 緑色のコの中身を4回繰り返します。

 [ 1回目の通過時 ]

  countの内容を1加算します。なのでcountの内容は1になります

  「1」が表示されます。

 [ 2回目の通過時 ]

  countの内容を1加算します。なのでcountの内容は2になります

  「2」が表示されます。

 [ 3回目の通過時 ]

  countの内容を1加算します。なのでcountの内容は3になります

  「3」が表示されます。

 [ 4回目の通過時 ]

  countの内容を1加算します。なのでcountの内容は4になります

  「4」が表示されます。

3 最終的に画面に「4」が表示されたままで実行は終わり コンピュータは次のAボタンが押されるまで待機します。

【参考】

先にあげたプログラム例では「1」「2」・・「4」と数字を直接コーディングして表示の指令をしましたが、

変数を使うとプログラマはいちいち中に入っている値が何であるかを認識する必要はありません。

その「場所(変数)」を「表示しろ」とコンピュータに指令しておけばいいのです。

(もちろん、プログラマは別の場所で、箱の中の数値を書き換えておかないといけないのですけど。)


今度は逆にカウントダウン・プログラムにしてみます。

どうしたらいいか、まずは考えてみてください。


 

 

 

回答例として

 

・countの初期値を「5」に設定

・毎回値を減らす、すなわち「-1 加算」させます。

 

を掲示します。

 

 

お疲れさまでした!