この講座では、もしもをつかった「分岐」を学びます。ぶんきは、「えだわかれすること」です。くりかえしとぶんきは、スクリプトをいろんなかたちに動かすためにつかう、とても大切なテクニックです。
もしネコなら
入力したなまえをしらべて、それをしゃべるスクリプトを作ります。スペックは以下です。プロジェクト名は「もしネコなら」です。
- スクリプトをはじめると、「なまえはなーに?」ときかれます。
- 「ねこ」と入力して、右の青いチェックマークをクリックすると「ねこだニャ-」といいます。
スクリプトを動かしたときに質問するには、「調べる」にある「~ と聞いて待つ」をつかいます。まずは、自分で考えて、スクリプトをつくってみましょう。
変数「なまえ」には「ねこ」をいれておきます。そして、なまえを質問するために、「調べる」にある「~と聞いて待つ」をつかいます。ここで質問した内容は、「答え」のなかにはいります。
よって、「もし~ なら」のなかに「答え = なまえ」をおけば、答えが「ねこ」だったときという意味になります。この「答え = なまえ」を「ぶんきの条件」といいます。条件によって、コマンドのすすむ道がかわるのが「ぶんき」です。
ここで、「なまえ」を変数にした意味を考えてみましょう。変数をつかわずに、「答え = ねこ」としていると、「答えを”いぬ”にしたいなぁ」とおもったときに、2かしょなおさなければなりません。でも、変数をつかっているなら、「なまえ を ねこ にする」だけでいいのです。
あとでなおしやすいプログラムをつくるのは、プログラミングのたいせつな技のひとつなのです。
「もしネコなら」と「もしそうでなければ」
つぎに「そうでないとき」をプログラミングしてみましょう。さきほどとスペックは同じですが、「ねこ」以外の文字が入力されたときは、「答え じゃないニャー」と言うようにします。スペックは以下です。プロジェクト名は「もしネコならと、もしそうでなければ」です。
- スクリプトをはじめると、「なまえはなーに?」ときかれます。
- 「ねこ」と入力して、右の青いチェックマークをクリックすると「□ だニャ-」といいます。□にはなまえがはいります。
- 「いぬ」のように「ねこ」以外の文字が入力されると、「□ じゃないニャー」といいます。
そうでないときのために「もし~ なら、 でなければ」があります。まずは、自分で考えて、スクリプトをつくってみましょう。
「制御」にある「もし~ なら、 でなければ」をつかえば、「~だったとき」と「~ではなかったとき」のぶんきをつくることができます。
「もし」をつかって数字をチェックする
ここでは、ネコが数字によって、ちがったことをいうスクリプトをつくります。スペックは以下です。プロジェクト名は「もしをつかった数字チェック」です。
- 1~10のどれかの数字を変数にいれておいて、その数字をチェックしてください。
- 数字が5よりちいさいときは「□は5よりちいさいね!」といいます。□にはなまえをつかいます。
- 数字が5のときは「5がでました!」といいます。
- 数字が5よりおおきいときは「□は5よりおおきいね!」といいます。
ぶんきをたくさんつかいますが、やることはかんたんです。数字が5より小さいかどうかは「演算」にある「□ < □」をおいて「数字 < 5」をつくり、もしもの条件につかいます。まずは、自分で考えて、スクリプトをつくってみましょう。
ぶんきが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よりおおきい」とわかりますので、「でなければ」にすすみます。
ぶんきのなかのぶんきは、ちょっとむずかしいですが、おちついてコマンドがすすむ道のりをかんがえましょう。
「かつ」と「または」と「ではない」
さて、さいごにちょっとふくざつなぶんきをつくってみましょう。スペックは以下です。プロジェクト名は「かつとまたはとではない」です。
- 0から30までのねんれいをチェックして、ネコがねんれいごとにちがったことをしゃべります。
- ねんれいは乱数でつくってください。
- ねんれいが、0よりおおきくて、20よりちいさいときは、「□ さいはおさけをのめないよ!」といいます。□にはねんれいがはいります。
- ねんれいが0、または20のときは、0なら「□ さいはおぎゃーだね!」といいます。20なら「□ さいははたちだよ!」といいます。
- それいがいのときは、「□ さいはおとなだね!」といいます。
「~であり~でもある」という条件をつくるためは「演算」の「□ かつ □」をつかいます。「~または~」ならば、「演算」の「□ または □」をつかいます。「~ではない」ならば、「演算」の「□ ではない」をつかいます。まずは、自分で考えて、スクリプトをつくってみましょう。
ぶんきを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」、「2」、「3」・・・とかずをかぞえていきます。
- 5のばいすうになったときに、「ニャニャンがニャーン!」といいます。
「わりきれる数」は「演算」にある「□ を □ で割った余り」をつかいます。このあまりが0であれば、わりきれるということです。
答えは ↓ にあるけど、まずはみないで自分でつくってみよう!
↓
↓
↓
↓
↓
↓
↓
れんしゅうもんだい1: 答え
条件に「演算」にある「□ を □ で割った余り」をつかえば、ばいすうがよくわかります。このあまりが0ならば、5のばいすうであるといえます。
れんしゅうもんだい2: しゅっせきをとります!
名前を入力すると「しゅっせきぼ」にあるデータをしらべて、名前があれば「おはよう!」といい、名前がなければ「きょうしつまちがえているよ!」というスクリプトをつくってください。
スペックは以下です。プロジェクト名は「しゅっせきをとります!」です。
- ネコが名前をきいてきます。名前にこたえると、ネコは「しゅっせきぼ」をチェックします。
- 名前があれば「□くん。おはよう!」といいます。□には入力した名前がはいります。
- 名前がなければ「□くん。きょうしつまちがえているよ!」とおしえてあげます。
「しゅっせきぼ」はリストでつくってください。
答えは ↓ にあるけど、まずはみないで自分でつくってみよう!
↓
↓
↓
↓
↓
↓
↓
れんしゅうもんだい2: 答え
まず、リスト「しゅっせきぼ」を初期化します。データはすきな名前をいくつかいれておきましょう。
つぎに、「調べる」にある「□ と聞いて待つ」をつかって、入力をうけとります。
ポイントは入力チェックです。リストなので変数「いまいるばしょ」をつかって、じゅんばんにループしてチェックする方法もありますが、「データ」にある「リストに □が含まれる」をつかえば(□には変数や文字をいれることができます)、もっとかんたんにプログラミングできます。ここでは「もし しゅっせきぼ に 答え が含まれる なら」だけでチェックはおわりです!
とくべつもんだい1: うるう年をさがせ!
うるう年とは、4年にいちどおとずれるオリンピックのある年のことです。でも、うるう年は「4年にいちど」いがいにも条件があります。このとくべつもんだいでは、うるうどしをさがすスクリプトをつくります。プロジェクト名は「うるう年をさがせ!」です。スペックは、以下になります。
- うるう年のときに「□年はうるう年だよ!」というスクリプトをつくってください。□には年の数字がはいります。
- しらべる年は、1700、2000、2016、2017の4つです。
- うるう年かどうかの条件は3つあります。
- 年が4でわりきれる年は、うるう年です。
- ただし、年が100でわりきれる年は、うるう年ではありません。
- ただし、年が400でわりきれる年は、うるう年です。
とくべつもんだいの答えは「とくべつもんだい1: うるうどしをさがせ!」で100円で販売しています。ページの下にある「購入して続きをみる」へすすんでください。購入方法はこちらを参考にどうぞ。答えには、とくべつじょうほう(あたらしいコマンドや、ちょっとした技など)も書いています。
この講座で学んだこと
- 「もし~なら」を「ぶんき」といいます。「ぶんき」は、えだわかれすることです。
- 「もし~なら」の「~」を「ぶんきの条件」といいます。この条件によって、コマンドのすすむ道がかわるのがぶんきです。
- あとでなおしやすいプログラムをつくりましょう。変数をつかうとあとでなおしやすくなります。
- 「<」や「=」や「>」だけでなく「~かつ~」や「~または~」「~ではない」をつかえば、いろんな条件をつくることができます。
こんかいは条件をつくっていろんなぶんきをまなびました。これで、いろんな道のりをすすむスクリプトとをつくることができるようになりました!
- 今回つくったプロジェクトは以下にあります。
- いろいろもしも: https://scratch.mit.edu/projects/119231006/
- 5のばいすうのとき: https://scratch.mit.edu/projects/119247116/
- しゅっせきをとります!: https://scratch.mit.edu/projects/119306131/
- つぎの講座は「演算してみよう」です。
- まえの講座は「コマンドをくりかえしてみよう」でした。
- トップページにもどる