

おっす!
オラはみんなにスクラッチ(Scratch)を教えるためにやってきた「きんた・まりす」だぞ。
「まりす」って呼んでくれたらうれしいぞ。
今回は「条件分岐」について説明するぞ。
できるだけ簡単に説明するから最後までちゃんと読んで理解するんだぞ。
レッツ・スクラッチだぞ!
この記事の目次
1.条件分岐とは
さっそく「条件分岐」について説明していくぞ。
「スクラッチ」でいう「条件分岐」とは、”ある条件”によって、プログラムの動きを分けること、だぞ。
「分岐」という言葉は、分けるって意味があるんだぞ。
「条件」によって「分ける」から「条件分岐」と覚えるといいぞ。
また、「ある条件」のことを「条件文」と言って、大きく分けて2つあるんだぞ。
今から1つずつ説明していくぞ。
1.「もし○○という条件なら、××をやる」
1つめの条件文は、「もし○○という条件なら××をやる」というふうに、
もし○○という条件に当てはまれば、××をやる、という条件文だぞ。
説明すると少し難しく感じると思うけど、オラたちは日常的に条件文を使っているんだぞ。
例えば、体育の授業の時だぞ。
「もし雨がふっていなければ、サッカーをやる」
というのは、よくあることだと思うけど、
実は、条件文になっているんだぞ。
これは、「雨がふっていなければ」という条件に当てはまれば、「サッカーをやる」という条件文になっているんだぞ。
ちゃんと「もし○○という条件なら、××をやる」という条件文になっているな。
他にも「もし日曜日なら、学校に行かない」や、
「もし授業中におしゃべりをしたら、先生が怒る」なども条件文として考えることができるぞ。
2.「もし○○という条件なら、××をやる、でなければ□□をやる」
次は2つめの条件文の説明だぞ。
2つめの条件文は、「もし○○という条件なら、××をやる、でなければ□□をやる」という条件文だぞ。
1つめの条件文と似ているけど、1つめの条件文では、
条件に当てはまらなかった場合、特に決められたやることは無いので、何もしないんだぞ。
よって、1つめの条件文との違いは、
「条件に当てはまらなかった場合でも、決められた”やること”がある」ことだぞ。
そして、2つめの条件文もオラたちは日常的に使っているぞ。
例えば、テストの採点をしている先生だと、
「もし答えが当たっていれば、○をつける、でなければ×をつける」
と思うけど、これは「答えがあたっているか?」という条件に当てはまれば、
「○をつける」、当てはまらなければ「×をつける」というふうに、
ちゃんと2つめの条件文「もし○○という条件なら、××をやる、でなければ□□をやる」の形になっているぞ。
他にも「もし横断歩道を渡るときに信号が青ならば、渡る、でなければ渡らない」
なども2つめの条件文の形になっているぞ。
みんなも、いろいろと条件文を考えてみてほしいぞ。
2.条件分岐を使ったプログラムの例
次は、「スクラッチ」で「条件分岐」を使ったプログラムの例を紹介するぞ。
1.「もし○○という条件なら、××をやる」の例
最初は、「もし○○という条件なら、××をやる」のプログラムの例だぞ。
プログラムで、「もし○○という条件なら、××をやる」という条件分岐を行うには、
「制御」の「もし~なら」ブロックを使う必要があるぞ。
具体的な使い方としては、「もし~なら」ブロックの、六角形部分(↓画像の赤枠部分)に、
「条件に当てはまっているか」を調べることができる「真偽ブロック」をはめ込み、
口みたいになっている部分には、条件に当てはまっているときに実行するブロックを組み合わせるんだぞ。
(真偽ブロックについての詳しい説明は↓のリンクをクリックしてほしいぞ)
真偽ブロックの説明はココをクリックだぞ!
例えば、「もしスペースキーが押されたら、次のコスチュームにする」という条件文をプログラムで表現すると、
こうなるぞ。
このプログラムは、もし「スペースキーが押された」という条件に当てはまると、
「次のコスチュームにする」ブロックを実行し、スプライトのコスチュームを変える、というプログラムだぞ。
1つめの条件文「もし○○という条件なら、××をやる」に当てはめて考えてみると、
「もし○○という条件なら」の部分が、「もしスペースキーが押されたなら」で、
「××をやる」の部分が「次のコスチュームにする」だぞ。
また、1つめの条件文は「もし○○という条件なら、、××をやる」だから、
「スペースキーが押された」という条件に当てはまらなかった場合、何もしない、ということも大切だぞ。
そして、「0.3秒待つ」ブロックは、連続で「もしスペースキーが押されたら」の部分が実行されないようにしているブロックだぞ。
↓の画像をクリックすると、実際にプログラムを実行している様子が見れるぞ。
2.「もし○○という条件なら、××をやる、でなければ□□をやる」の例
次は、「もし○○という条件なら、××をやる、でなければ□□をやる」のプログラムの例だぞ。
プログラムで、「もし○○という条件なら、××をやる、でなければ□□をやる」という条件分岐を行うには、
「制御」の「もし~なら、でなければ」ブロックを使う必要があるぞ。
具体的な使い方としては、「もし~なら、でなければ」ブロックの、六角形の部分(↓画像の赤枠部分)に、
「条件に当てはまっているか」を調べることができる「真偽ブロック」をはめ込み、
条件に当てはまっているときに実行したいブロックを、上の口みたいな部分に組み合わせ、
条件に当てはまっていないときに実行したいブロックを、下の口みたいな部分に組み合わせるんだぞ。
例えば、「もしスペースキーが押されたら、こんにちはと2秒言う、でなければ、うーん...と考える」という条件文をプログラムで表現すると、
こうなるぞ。
このプログラムは、もし「スペースキーが押された」という条件に当てはまると、
「こんにちは!と2秒言う」ブロックを実行し、
条件に当てはまらない場合、
「うーん...と考える」ブロックを実行する、というプログラムになるぞ。
2つめの条件文「もし○○という条件なら、××をやる、でなければ□□をやる」に当てはめて考えてみると、
「もし○○という条件なら」の部分が、「もしスペースキーが押されたなら」で、
「××をやる」の部分が「こんにちは!と2秒言う」で、
「でなければ□□をやる」の部分が「うーん...と考える」だぞ。
↓の画像をクリックすると、実際にプログラムを実行している様子が見れるぞ。
3.まとめ
最後にまとめだぞ。
これで、「条件分岐」についてはバッチリだぞ!
それじゃまたな!
↓スクラッチ3.0はこちらをクリック