こんにちは、ナナです。
プログラムを構成する要素として欠かせないのが「ループ」です。
プログラムでは「ループ」を操ることで、何度も同じことをする必要のあるプログラムを簡単に作ることができるようになります。
この記事では、次のことを学習できます。
では、makecodeを使った、「ループ」の使い方を学んでいきましょう。
「ループ」って、いったい何なの?
![](https://monozukuri-c.com/wp-content/uploads/2019/07/ba72754203794e9b44dd47acd4b4effe.png)
師よ!プログラムを修行する中で「ループ」という言葉がよく出てくるんですよ。何なのですか、この「ループ」とは?
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
プログラミングの世界では「ループ」という言葉はよく使われるんですよ。
「ループ」は「繰り返す」処理のことなんだよ。「反復処理」なんて呼び方もするからね。
「ループ」とは輪のことであり、プログラミングの世界では「繰り返す」ことを意味しています。
![ループ](https://monozukuri-c.com/wp-content/uploads/2019/08/0b32df9bb7485ae6ab1468364c3d10d7.png)
生活の中で出てくる繰り返されること
みんなが普段生活している中においても、「繰り返す」ことで実現されているものはたくさんあります。
![生活の中のくりかえし](https://monozukuri-c.com/wp-content/uploads/2019/08/12c33198345308f03eaee6116788a62b.png)
プログラミングにおいても、「繰り返す」ことによってできることはたくさんあるんです。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
みんなの普段の行動の中で、繰り返されているものってどんなものがあるかな? 考えてみよう!それが「ループ」なんだよ。
「ずっと」ブロックはループだった!
ここまで利用してきた「ずっと」ブロックは、実は「ループ」を行うためのブロックなのです。
![ずっとはループブロック](https://monozukuri-c.com/wp-content/uploads/2019/08/3ec2e85e79d8390cf05c9aba7a2e0e3e-1.png)
このプログラムを動かすと、「カメ」と「キリン」が1秒毎に繰り返しLEDに表示されます。
「ずっと」ブロックの中に、含まれるブロックは上から下に向かって順番に実行され、最後のブロックの実行が終わると最初のブロックに戻ります。
これが「ループ」によるプログラムです。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
「ずっと」という意味は「ずっと、ループで繰り返す!」という意味なんですよ。
「くりかえし」ブロックを使ったループの扱い方を知ろう!
![](https://monozukuri-c.com/wp-content/uploads/2019/07/ba72754203794e9b44dd47acd4b4effe.png)
確かに言われてみれば「何かを繰り返している」という行動を僕もしていますね。毎日、修行を繰り返してますし、手裏剣を何度も投げて練習しています。
でも、プログラムの中で「ループ」を使うと、どんなことができるのでしょうか?
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
プログラムというのは、みんながコンピュータにして欲しいことを「ブロック」として組み合わせることで作りますね。
して欲しいことの中には、同じことを「何度も繰り返してほしい」ということだってあるんですよ。そんなときに「ループ」を使ってプログラミングをしますよ!
「くりかえし」ブロックを使うことで、プログラムの中にループを作ることができます。
「くりかえし」ブロックの使い方
「くりかえし」ブロックはループブロック一覧の中にあります。
![くりかえしブロック](https://monozukuri-c.com/wp-content/uploads/2019/08/3b85d44fde95dddd99a660717e45923b.png)
「ずっと」ブロックでは繰り返す回数は無限ですが、「くりかえし」ブロックには見てわかる通り回数を指定する必要があります。
回数として指定した数だけ、プログラムが繰り返されることになります。
「ループ」による繰り返しには、繰り返す限度が設定されるのが普通なんです。みんなも、キャッチボールを数十回投げたら終わりますよね。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
「ずっと」ブロックは繰り返し回数の制限がない、特別なブロックなんですよ。
「くりかえし」ブロックを使ったループ方法
では、さっそく「くりかえし」ブロックを使ってみましょう!
プログラムを動かし始めたときに、3回だけ「ハート」のアイコンをLEDに点滅して表示させてみますよ!
![くりかえしブロックで点灯](https://monozukuri-c.com/wp-content/uploads/2019/08/71f8b1013464ee22feb9ccfc31aedbb6.png)
「最初だけ」ブロックに、各ブロックを同じように追加してみましょう。くりかえし回数やアイコンを、別のものに変えてもよいですよ。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
シミュレータ画面の下にある「再起動」ボタンを押すことで、最初からプログラムを動かしなおすことができます。
「くりかえし」ブロックを使うことによるプログラムの便利なところ
「くりかえし」ブロックを使った場合と使わない場合で、プログラムの作り方がどのように変わるかを見てみましょう。
![くりかえしのメリット](https://monozukuri-c.com/wp-content/uploads/2019/08/3c786f6a8a25655295750bfe94bfac4a.png)
「ループ」を使わないプログラムは、同じブロックを何度も作らないといけません。「ループ」にすると、1度だけ作って「繰り返し回数」を指定するだけで作ることができます。
これがループの便利さです。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
この例は3回だけですが、10回だったらすごく大変なのがわかりますよね。ループを使うと簡単に作ることができます!
「カウンター付きのくりかえし」ブロックを使ってみよう
![](https://monozukuri-c.com/wp-content/uploads/2019/07/ba72754203794e9b44dd47acd4b4effe.png)
師よ!ループブロックの一覧の中には「変数カウンターを0~4に変えてくりかえす」というブロックがあります。
「くりかえし」ブロックとは、どのような違いがあるのですか?
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
「カウンター付きのくりかえし」ブロックのことだね。これはループを使ったプログラムではよく利用されるものなんですよ。
カウンターという「変数」を利用したループの方法です。
「カウンター付きのくりかえし」ブロックは、次のブロックのことです。
![カウンター付き繰り返しブロック](https://monozukuri-c.com/wp-content/uploads/2019/08/394a83b3cb92ae29132cb3b4703e1f68.png)
「カウンター」って何なの?
「カウンター付きくりかえし」ブロックをプログラミングエリアに配置すると、自動的に「カウンター」という名前の変数が作られたことになります。
![ループカウンター](https://monozukuri-c.com/wp-content/uploads/2019/08/a983b9f2a77b0129863f0534891bf206.png)
「カウンター」とは、プログラミングの世界では通称「ループカウンター」と呼ばれる変数のことです。
「カウンター」変数には、繰り返している最中の数が管理されています。
![ループカウンターの役割](https://monozukuri-c.com/wp-content/uploads/2019/08/61a11767ea253d46347bf50580fa2b88.png)
注意が必要なのはカウンターは、最初に「0」から始まり、繰り返す度に1つずつ増えていきます。
そのため、このプログラムは「0」「1」「2」「3」「4」の合計5回、繰り返されることになります。
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
ループカウンターは「0」から始まるんですよ!「1」じゃないんです。注意しましょうねっ!
やってみようコーナー:「ループ」を使ったプログラミングの巻
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
それじゃあ「くりかえす」ブロックを使ったプログラムを作ってみようね!
修行その1:「くりかえす」ブロックを使ったプログラム
彼は毎日、戦いの中でレベル上げを行っているのであった…。
![レベル上げ](https://monozukuri-c.com/wp-content/uploads/2019/09/26ce764a15f6610904f6146fb1ecd398.png)
![](https://monozukuri-c.com/wp-content/uploads/2019/07/ba72754203794e9b44dd47acd4b4effe.png)
師よ!僕は日々の戦いの中で自分のレベルが上がっていくのです。そんなレベルアップしたときには、レベルが上がったっぽい『効果音』が欲しいんですよ! だって、『やったぜ』ってなりたいじゃないですかっ‼
しかも、敵の強さによっては倒したときに、一気に3レベルも上がるときだってあるんです!そんなときは『うぉっしゃー』ってなるんですよ。
みんな、またお願いです。彼の願いを叶えてあげてください。
このプログラムを作って、彼に素敵な効果音を鳴らしてあげてください。
![](https://monozukuri-c.com/wp-content/uploads/2019/07/ba72754203794e9b44dd47acd4b4effe.png)
みんな、僕に力を貸してくれ!『効果音』があればもっと強くなれる気がするんだよ!
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/274ac86909c1a78190c701cdec501e0d-1.png)
プログラムができたみんなは、答え合わせをしてみようね。
レベルアップの効果音プログラム
![効果音](https://monozukuri-c.com/wp-content/uploads/2019/09/913bc7564b2b2cf74d1284a053818dff.png)
![](https://monozukuri-c.com/wp-content/uploads/2019/07/ba72754203794e9b44dd47acd4b4effe.png)
みんな、これでやる気が上がってきたよー。今日も修行するぞっ!
![ナナ](https://monozukuri-c.com/wp-content/uploads/2019/06/bfc1cf65d1130f875793b49176917183-1.png)
micro:bitのプログラムを最初から学びたい子は、ここから始めよう!