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

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

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

きめた数だけくりかえす

スクラッチ Scratch

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

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

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

スクラッチ Scratch

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

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

スクラッチ Scratch

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

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

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

スクラッチ Scratch

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

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

スクラッチ Scratch

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

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

このように、ループをつかうときは、「何回動なんかいうごかしたいか?」を考かんがえてつかう必要ひつようがあります。そうしないと、「ほんとうは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 なら」をつくっています。これで、「びょうすう」が「5」になったら「おわり と 1秒言びょういう」になり、「制御せいぎょ」にある「すべてを止める」で、スクリプトがとまります。

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

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

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

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

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

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

↓

↓

↓

↓

↓

↓

↓

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

スクラッチ Scratch

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

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

スクラッチ 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. くふうすれば、スクリプトはみじかくなります。みじかいスクリプトはよみやすいので、かっこいいプログラムです。

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