コマンドをくりかえしてみよう

この講座こうざでは「制御せいぎょ」にあるコマンドをおぼえていきます。スクリプトをいろいろなうごきにするためには、「制御せいぎょ」をうまくつかう必要ひつようがあるのです。

コマンドをくりかえすことを「ループるーぷする」ともいいます。

きめた数だけくりかえす

スクラッチ Scratch

スペックは以下いかです。プロジェクト名は「きめたかずだけくりかえす」です。

  1. 変数へんすうびょうすう」をつくります。はじめの「びょうすう」は1です。
  2. かいくりかえすループをつくってください。
  3. ループのなかで、「びょうすう」をネコがかんがえます。
  4. ループのなかで、「びょうすう」を1ずつふやしてください。

まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

これまでにもループはつくってきたので、かんたんですね。「制御せいぎょ」にある「5 回かえ」コマンドをつかえば、かんたんにできます。

変数がある数字になるまでくりかえす

スクラッチ Scratch

スペックは以下いかです。プロジェクトめいは「変数へんすうがある数字すうじになるまでくりかえす」です。

  1. 変数へんすうびょうすう」をつくります。はじめの「びょうすう」は1です。
  2. びょうすう」が「」になるまでくりかえすループをつくってください。
  3. ループのなかで、「びょうすう」をネコがかんがえます。
  4. ループのなかで、「びょうすう」を1ずつふやしてください。

まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

ここでは、とある変数へんすう が、とある数字すうじになるまでくりかえすループをつくります。こういうときは、「制御せいぎょ」にある「  までかえ」コマンドをつかいます。そして、「演算えんざん」にある「」に「びょうすう」をはめこんで、「びょうすう = 5 」をつくり「びょうすう = 5 までかえ」をつくります。

このように、「 までかえ」をつかえば、「変数へんすうがある数字すうじになったとき」のような、とある条件じょうけんまでループすることができます。

スクラッチ Scratch

では、実行じっこうしてみましょう。ネコはさいごになんというでしょうか? そして、「びょうすう」はなにになっているでしょうか? 

あれあれ? さっきの「5回かえ」ループでは、ネコはさいごに「」といいました。しかし、今回こんかいは「びょうすう = 5 までかえ」ので、「びょうすう」が「」になると、ループをおわります。よって、ネコは「」までしかいいません。

このように、ループをつかうときは、「何回動なんかいうごかしたいか?」をかんがえてつかう必要ひつようがあります。そうしないと、「ほんとうは5回動かいうごかしたいのに、4かいしかうごいてくれない」といったバグをつくってしまいます。

リストの長さだけくりかえす

スクラッチ Scratch

スペックは以下いかです。プロジェクトめいは「リストのながさだけくりかえす」です。

  1. リスト「いっしゅうかん」をつくります。このリストには「げつようび」から「にちようび」までの文字もじデータがはいっています。
  2. 変数へんすういまのばしょ」をつくります。はじめのは「1」です。
  3. いっしゅうかん」のせんとうからさいごまでくりかえすループをつくってください。
  4. ループのなかで、「いっしゅうかん」の「いまのばしょ番目ばんめのデータをネコが考えます。
  5. ループのなかで、「いまのばしょ」を1ずつふやしてください。

まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

まず、リストと変数へんすう初期化しょきかします。

そして、「制御せいぎょ」にある「 回繰かいくかえ」コマンドをつかいます。リストのながさは「いっしゅうかんのなが」でわかるので、それをはめこみ「いっしゅうかんのなが回繰かいくかえ」ループをつくります。

リストをせんとうからさいごまで順番じゅんばんにたどっていくときは、「リストのなが」をつかい、「いまいるばしょ」をインデックスしてつかうと便利べんりです。

ずっとくりかえす

スクラッチ Scratch

スペックは以下いかです。プロジェクト名は「ずっとくりかえす」です。

  1. 変数へんすうびょうすう」をつくります。はじめの「びょうすう」は1です。
  2. ずっとくりかえすループをつくってください。
  3. ループのなかで、「びょうすう」をネコがかんがえます。
  4. ループのなかで、「びょうすう」を1ずつふやしてください。

まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

これもかんたんですね。「制御せいぎょ」のなかにある「ずっと」コマンドをつかうだけです。

変数がある数字になったらくりかえしをおわる

スクラッチ Scratch

スペックは以下いかです。プロジェクトめいは「変数へんすうがある数字すうじになったらくりかえしをおわる」です。

  1. 変数へんすうびょうすう」をつくります。はじめの「びょうすう」は1です。
  2. ずっとくりかえすループをつくってください。
  3. ループのなかで、「びょうすう」をネコがかんがえます。
  4. ループのかなで、「びょうすう」を1ずつふやしてください。
  5. ループのなかで、「びょうすう」が5になったら、ネコが「おわり」といいます。おわりになったらループをとめます。

まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

これも「制御せいぎょ」にある「ずっと」コマンドをつかいます。ポイントは、「変数へんすうびょうすうが5になったら~」ですね。こういうときは、おなじく「制御せいぎょ」にある「もし ~ なら」をつかいます。この「もし~なら」コマンドをつかうと、「変数へんすうがある数字すうじになったとき」を、スクリプトがわかるようになります。この「もし~なら」コマンドはつぎの講座こうざでくわしく勉強べんきょうします。

今回こんかいは、うえでもつくったように「演算えんざん」にある「 」をつかって、「もし びょうすう = 5 なら」をつくっています。これで、「びょうすう」が「」になったら「おわり と 1秒言びょうい」になり、「制御せいぎょ」にある「すべてを止める」で、スクリプトがとまります。

このように、ずっとうごいているループからぬけだすことを「ループをぬける」といいます。

れんしゅうもんだい1: 10びょうチャレンジ

このれんしゅうもんだいでは、スタートして10びょうたったら、ネコが「10びょうだよ!」というスクリプトをつくります。みんなは、ちょうど10びょうをかぞえられるかな?

スペックは以下いかです。プロジェクトめいは「10びょうチャレンジちゃれんじ」です。

  1. はじめに、ネコが「3」、「2」、「1」、「スタート!」とじゅんばんにいいます。
  2. ループと変数へんすう「びょうすう」をつかって、10びょうかぞえます。
  3. 10びょうになると、ネコが「10びょうだよ!」といって、スクリプトがとまります。

こたえは ↓ にあるけど、まずはみないで自分じぶんでつくってみよう!

れんしゅうもんだい1: 答え

スクラッチ Scratch

まず、「ずっと」をつかってつくってみましょう。「3」「2」「1」「スタート!」とカウントダウンしてから、「ずっと」ループの中で、「秒待びょうま」と「びょうすう を 1 ずつえる」をつかって、10かぞえましょう。

つぎに、10びょうたったときの処理しょりをつくります。「もし びょうすう = 10 なら」をおいて、そのなかに、「10びょうだよ! と 5 秒言びょうい」と「すべてをめる」をおきます。10びょうになったことがよくわかるように、ここでは「10びょうだよ!」を「びょう」いっています。

スクラッチ Scratch

つぎに、ちがったループをつかって、おなじスペックをプログラミングしてみましょう。うえでは、「10 回繰かいくかえ」をつかっていますね。10かいちょうどでループがおわるので、「すべてをめる」がいりません。ちょっとループがみじかくなって、みやすくなりましたね。

スクラッチ Scratch

さらに、「~ までかえ」をつかうとこうなります。「10回繰かいくかえ」ときとおなじながさのスクリプトができました。どちらも「もし ~ なら」をつかわないので、シンプルでわかりやすいですね。

れんしゅうもんだい2: ~までまつ さくせいちゅう

れんしゅうもんだい2: 答え さくせいちゅう

とくべつもんだい1: ラッキーセブンをさがせ!

スクラッチ Scratch

数字すうじがリストに100こならんでいます。数字すうじは「0~9」のどれかです。なにがどこにあるかはわかりません。ならんだ数字すうじのリストから、ネコはラッキーセブンをみつけます。スペックは以下いかになります。プロジェクトめいは「ラッキーセブンをさがせ!」です。

  1. リスト「たくさんの数字すうじ」をつくります。「たくさんの数字すうじ」のなかには、100この「0~9」のどれかの数字すうじをいれて初期化しょきかしてください。
  2. 「たくさんの数字すうじ」がじゅんびできたら、ネコは「ラッキーセブンをさがせ!」といます。
  3. 「たくさんの数字すうじ」を、じゅんばんにしらべて、「7」があったら、ネコが「ラッキーセブン!」といいます。そして、ネコはつぎのコスチュームにきがえます。
  4. しらべおわったら、さいごにみつけた7のかずいます。4つみつけたときは、「ラッキーセブンは 4 つあったよ!」といます。

ヒント: みつけた7のかずをおぼえる変数へんすう「7のかず」がひつようです。

とくべつもんだいのこたえは「とくべつもんだい1: ラッキーセブンをさがせ!」で100えん販売はんばいしています。ページのしたにある「購入こうにゅうしてつづきをみる」へすすんでください。購入方法こうにゅうほうほうはこちらを参考さんこうにどうぞ。答えには、とくべつじょうほう(あたらしいコマンドや、ちょっとしたわざなど)もいています。

この講座で学んだこと

  1. コマンドをくりかえすことを「ループする」といいます。
  2. ずっと動いているループをとちゅうでぬけだすことを「ループをぬける」といいます。
  3. くふうすれば、スクリプトはみじかくなります。みじかいスクリプトはよみやすいので、かっこいいプログラムです。

くりかえしはコンピューターが得意とくい仕事しごとです。くりかえす回数かいすう注意ちゅういしてつかいましょう。