もしもをつかってみよう

感想おまちしてます!

Scratch Logo

この講座こうざでは、もしもをつかった「分岐ぶんき」を学びます。ぶんきは、「えだわかれすること」です。くりかえしとぶんきは、スクリプトをいろんなかたちにうごかすためにつかう、とても大切たいせつなテクニックです。

スポンサーリンク

もしネコなら

スクラッチ Scratch

入力にゅうりょくしたなまえをしらべて、それをしゃべるスクリプトをつくります。スペックは以下いかです。プロジェクトめいは「もしネコなら」です。

  1. スクリプトをはじめると、「なまえはなーに?」ときかれます。
  2. ねこ」と入力して、みぎあおいチェックマークをクリックすると「ねこだニャ-」といいます。

スクリプトをうごかしたときに質問しつもんするには、「調しらべる」にある「~ といて」をつかいます。まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

変数へんすうなまえ」には「ねこ」をいれておきます。そして、なまえを質問しつもんするために、「調しらべる」にある「~といて」をつかいます。ここで質問しつもんした内容ないようは、「こた」のなかにはいります。

よって、「もし~ なら」のなかに「こたえ = なまえ」をおけば、こたえが「ねこ」だったときという意味いみになります。この「こたえ = なまえ」を「ぶんきの条件じょうけん」といいます。条件じょうけんによって、コマンドのすすむみちがかわるのが「ぶんき」です。

スクラッチ Scratch

ここで、「なまえ」を変数へんすうにした意味いみかんがえてみましょう。変数へんすうをつかわずに、「こたえ = ねこ」としていると、「こたえを”いぬ”にしたいなぁ」とおもったときに、2かしょなおさなければなりません。でも、変数へんすうをつかっているなら、「なまえ を ねこ にする」だけでいいのです。

あとでなおしやすいプログラムをつくるのは、プログラミングのたいせつなわざのひとつなのです。

「もしネコなら」と「もしそうでなければ」

スクラッチ Scratch

つぎに「そうでないとき」をプログラミングしてみましょう。さきほどとスペックはおなじですが、「ねこ」以外いがい文字もじ入力にゅうりょくされたときは、「こたえ じゃないニャー」とうようにします。スペックは以下いかです。プロジェクトめいは「もしネコならと、もしそうでなければ」です。

  1. スクリプトをはじめると、「なまえはなーに?」ときかれます。
  2. ねこ」と入力して、みぎあおいチェックマークをクリックすると「□ だニャ-」といいます。□にはなまえがはいります。
  3. いぬ」のように「ねこ以外いがい文字もじ入力にゅうりょくされると、「□  じゃないニャー」といいます。

そうでないときのために「もし~ なら、 でなければ」があります。まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

制御せいぎょ」にある「もし~ なら、 でなければ」をつかえば、「~だったとき」と「~ではなかったとき」のぶんきをつくることができます。

「もし」をつかって数字をチェックする

スクラッチ Scratch

ここでは、ネコが数字すうじによって、ちがったことをいうスクリプトをつくります。スペックは以下いかです。プロジェクトめいは「もしをつかった数字すうじチェック」です。

  1. 1~10のどれかの数字すうじ変数へんすうにいれておいて、その数字すうじをチェックしてください。
  2. 数字すうじが5よりちいさいときは「□は5よりちいさいね!」といいます。□にはなまえをつかいます。
  3. 数字すうじが5のときは「5がでました!」といいます。
  4. 数字すうじが5よりおおきいときは「□は5よりおおきいね!」といいます。

ぶんきをたくさんつかいますが、やることはかんたんです。数字すうじが5よりちいさいかどうかは「演算えんざん」にある「□ < □」をおいて「数字すうじ < 5」をつくり、もしもの条件じょうけんにつかいます。まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

ぶんきが2つあるスクリプトです。

ひとつめのぶんきは「数字すうじが5よりちいさいか?」をチェックするぶんきです。「制御せいぎょ」にある「□ < □」をつかいます。「」のぶぶんは、「」や「」にもなります。

  • A < B ・・・ AがBより小さいという意味いみです。「<」は「しょうなり」とよむので、「A しょうなり B」となります。
  • A = B ・・・  AがBとおなじという意味いみです。「=」は「イコールいこーる」とよむので「A イコール B」となります。
  • A > B ・・・ AがBより大きいという意味いみです。「>」は「だいなり」とよむので、「A だいなり B」となります。

スペックにあわせて「いまのすうじ < 5」をつくります。これをぶんきの条件じょうけんにおけば、「もし いまのすうじ < 5 なら」というぶんきができます。数字すうじが5か、5よりおおきいときは、「でなければ」にはいり、つぎのぶんきにすすみます。

つぎのぶんきでは、「数字すうじが5とおなじか?」をチェックしています。こういうときは「□ = □」をつかって「いまのすうじ = 5」を条件じょうけんにします。数字すうじが5でなければ、「数字すうじは5よりもちいさくない。そして、5でもない」ので、「5よりおおきい」とわかりますので、「でなければ」にすすみます。

ぶんきのなかのぶんきは、ちょっとむずかしいですが、おちついてコマンドがすすむみちのりをかんがえましょう。

「かつ」と「または」と「ではない」

スクラッチ Scratch

さて、さいごにちょっとふくざつなぶんきをつくってみましょう。スペックは以下いかです。プロジェクトめいは「かつとまたはとではない」です。

  1. 0から30までのねんれいをチェックして、ネコがねんれいごとにちがったことをしゃべります。
  2. ねんれいは乱数らんすうでつくってください。
  3. ねんれいが、0よりおおきくて、20よりちいさいときは、「□ さいはおさけをのめないよ!」といいます。□にはねんれいがはいります。
  4. ねんれいが0、または20のときは、0なら「□ さいはおぎゃーだね!」といいます。20なら「□ さいははたちだよ!」といいます。
  5. それいがいのときは、「□ さいはおとなだね!」といいます。

~であり~でもある」という条件じょうけんをつくるためは「演算えんざん」の「□ かつ □」をつかいます。「~または~」ならば、「演算えんざん」の「□ または □」をつかいます。「~ではない」ならば、「演算えんざん」の「□ ではない」をつかいます。まずは、自分じぶんかんがえて、スクリプトをつくってみましょう。

スクラッチ Scratch

ぶんきを3つつかってちょっとふくざつですが、じゅんばんに条件じょうけんをしらべればわかるはずです。

まず、「0 < ねんれい かつ ねんれい < 20」は、ねんれいが「1から19」のときです。

そして、「ねんれい = 0 または ねんれい = 20」は、ねんれいが「0か20」のときです。

さいごに、「0 = ねんれい ではない」は、ここにきたときは、ねんれいが「0か20」なので、0でなければ20になります。よって、「20 = ねんれい」とおなじ意味いみになりますね。

ここまで、いろんなぶんきといろんな条件じょうけんをれんしゅうしました。いろんなぶんきや条件じょうけんをつくれますが、ふくざつになるとバグがうまれてしまいます。きをつけましょう。

れんしゅうもんだい1: 5のばいすう

5のばいすうとは、5、10、15・・・といった5でわりきれるかずをいいます。このれんしゅうもんだいでは、ネコがかずをかぞえていき、5のばいすうのときに「ニャニャンがニャーン!」というスクリプトをつくります。

スペックは以下いかです。プロジェクトめいは「5のばいすう」です。

  1. スクリプトをはじめると、ネコが「1」、「2」、「3」・・・とかずをかぞえていきます。
  2. 5のばいすうになったときに、「ニャニャンがニャーン!」といいます。

「わりきれるかず」は「演算えんざん」にある「□ を □ でったあま」をつかいます。このあまりが0であれば、わりきれるということです。

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

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

スクラッチ Scratch

条件じょうけんに「演算えんざん」にある「□ を □ でったあま」をつかえば、ばいすうがよくわかります。このあまりが0ならば、5のばいすうであるといえます。

れんしゅうもんだい2: しゅっせきをとります!

名前なまえを入力すると「しゅっせきぼ」にあるデータをしらべて、名前なまえがあれば「おはよう!」といい、名前なまえがなければ「きょうしつまちがえているよ!」というスクリプトをつくってください。

スペックは以下いかです。プロジェクトめいは「しゅっせきをとります!」です。

  1. ネコが名前なまえをきいてきます。名前なまえにこたえると、ネコは「しゅっせきぼ」をチェックします。
  2. 名前なまえがあれば「□くん。おはよう!」といいます。□には入力にゅうりょくした名前なまえがはいります。
  3. 名前なまえがなければ「□くん。きょうしつまちがえているよ!」とおしえてあげます。

「しゅっせきぼ」はリストでつくってください。

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

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

スクラッチ Scratch

まず、リスト「しゅっせきぼ」を初期化しょきかします。データはすきな名前なまえをいくつかいれておきましょう。

つぎに、「調しらべる」にある「□ といて」をつかって、入力にゅうりょくをうけとります。

スクラッチ Scratch

ポイントは入力にゅうりょくチェックです。リストなので変数へんすう「いまいるばしょ」をつかって、じゅんばんにループしてチェックする方法ほうほうもありますが、「データ」にある「リストに □がふくまれる」をつかえば(□には変数へんすう文字もじをいれることができます)、もっとかんたんにプログラミングできます。ここでは「もし しゅっせきぼ に こたえ がふくまれる なら」だけでチェックはおわりです!

とくべつもんだい1: うるう年をさがせ!

スクラッチ Scratch

うるうどしとは、4ねんにいちどおとずれるオリンピックのあるとしのことです。でも、うるうどしは「4年にいちど」いがいにも条件じょうけんがあります。このとくべつもんだいでは、うるうどしをさがすスクリプトをつくります。プロジェクトめいは「うるうどしをさがせ!」です。スペックは、以下いかになります。

  1. うるうどしのときに「□ねんはうるうどしだよ!」というスクリプトをつくってください。□にはねん数字すうじがはいります。
  2. しらべるねんは、1700、2000、2016、2017の4つです。
  3. うるうどしかどうかの条件じょうけんは3つあります。
    1. ねんが4でわりきれるとしは、うるうどしです。
    2. ただし、ねんが100でわりきれるとしは、うるうどしではありません。
    3. ただし、ねんが400でわりきれるとしは、うるうどしです。

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

この講座で学んだこと

  1. 「もし~なら」を「ぶんき」といいます。「ぶんき」は、えだわかれすることです。
  2. 「もし~なら」の「~」を「ぶんきの条件じょうけん」といいます。この条件じょうけんによって、コマンドのすすむ道がかわるのがぶんきです。
  3. あとでなおしやすいプログラムをつくりましょう。変数をつかうとあとでなおしやすくなります。
  4. 「<」や「=」や「>」だけでなく「~かつ~」や「~または~」「~ではない」をつかえば、いろんな条件じょうけんをつくることができます。

こんかいは条件じょうけんをつくっていろんなぶんきをまなびました。これで、いろんなっみちのりをすすむスクリプトとをつくることができるようになりました!