もしもをつかってみよう

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

もしネコなら

スクラッチ 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. 「<」や「=」や「>」だけでなく「~かつ~」や「~または~」「~ではない」をつかえば、いろんな条件じょうけんをつくることができます。

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

コメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。