SCRATCH(スクラッチ)の魅力は、直感的にブロックをつなげていくだけで簡単にプログラミングが作れてしまうことですよね!
なぜ簡単にプログラミングできるのか?というと、SCRATCH(スクラッチ)が、はじめてプログラミングする子供でも扱えるよう『教育用に開発されたプログラミング言語』だからです。
ここで重要なポイントは、SCRATCH(スクラッチ)には、実は一般的に使われている他のプログラミング言語にも共通する『プログラミングの基本』がしっかりと盛り込まれているということです。
プログラミングの基本として代表的なものが今回紹介する『もし()なら』と『ずっと』という制御ブロックです。『もし()なら』と『ずっと』の2つを押さえておけば、他のプログラミング言語を学ぶ際にも役立ちますよ!
そこで、今回は『もし()なら』と『ずっと』の使い方を解説したいと思います。また、他のプログラミング言語(Googleが開発に用いているGoogle三大言語(Python、C++、JAVA))との関係もあわせて紹介したいと思います。
SCRATCH(スクラッチ)の『もし()なら』とは
では、まずSCRATCH(スクラッチ)の『もし()なら』ブロックから解説していきます。
『もし()なら』は、制御のコード
『もし()なら』は制御の中にあるコードです。
SCRATCH(スクラッチ)を触ってみたりプログラムを書いたことがある方は見覚えがないでしょうか??
これまでに投稿している【スクラッチのはじめ方】親子で簡単にプログラミングを学ぶコツ!という記事でもとっても簡単なプログラムを紹介していますが、その中にも『もし()なら』を使っていますのでぜひ確認してみてください。
『もし()なら』は条件分岐のこと
『もし()なら』は、一連のプログラムの流れの中で、条件に一致するときに処理をするかしないかを判断して制御するもので、一般的には『条件分岐』と呼びます。
SCRATCH(スクラッチ)に限らず、基本的にプログラムは書かれた命令が上から下に向かって順番に実行されるのですが、この条件分岐を使うことで、条件により処理をするのかしないのかを選択できるようになります。
条件分岐『もし()なら』の使い方とは
先ほど説明した通り、プログラムは命令を順番に実行していくだけ、なので、条件分岐がないと全く同じ処理しかできません。逆に言うと、条件分岐はあらゆるところで使うことになります。
簡単な使い方の例としては、下の動画のプログラムでは動き回るボールが壁(画面の枠)やバー(緑色の棒)に当たったかどうかを判断して、次のボールの動きを制御しています。
『もし()なら』は、他のプログラミング言語の『if文』と同じ
SCRATCH(スクラッチ)の『もし()なら』は、他の多くの一般的なプログラミング言語でも基本的な構文として存在しています。この『もし()なら』といった条件分岐のことを通称「if 文」と呼びます。
参考までに、他のプログラミング言語(C++、python、JAVA、・・・)で使われる条件分岐を紹介します。(それぞれの言語の違いや特徴については別途紹介したいと思います。)
pythonの条件分岐(if文)の書き方
Pythonは人気のプログラミング言語です。人気の理由は、最近流行りの人工知能(AI)なんかによく使われているということもありますが、プログラミング初学者にとっても比較的とっつきやすい言語であることも理由の一つです。
参考記事>>>プログラミングを始めるなら『Python』から勉強しよう! 独学だって大丈夫!
例えば、エクセルで処理していたような作業をPythonのプログラムに置き換えるなんてことができます。個人的な見解としては、身近な作業を実用的に効率化しつつスキルアップも図れるということで次に身につけるプログラミング言語として最適だと思います。
Pythonのif文の基本的な形式はこんな感じです。
if 条件式:
条件式が真のときに行う処理
C++の条件分岐(if文)の書き方
C++やC言語は比較的難しい言語という位置付けになりますが、歴史も古く様々なところで使われている実用的なプログラミング言語です。他のプログラミング言語でも高速な処理が必要な場合に用いられていたり、プログラミング言語の開発そのものに使われていたりします。難解な分、一段深い知識を身につけることができます。
そんなC++ですが、if文を見てみればpythonと大差ないことがわかると思います。
if (条件式) {
条件式が真のときに行う処理;
}
JAVAのの条件分岐(if文)の書き方
JAVAも人気のプログラミング言語です。こちらも割と敷居が高いのですが、人気の理由は基本的にどんな環境でも使える言語というのが大きいです。システム開発、Web開発、アプリケーション開発と、使える場面が多岐にわたり、さまざまな開発に利用されているからです。特に、大企業での大規模システム開発やAndroidアプリの開発なんかにも使われています。
JAVAのif文の書き方はこちらです。
if(条件式){
条件式が真のときに行う処理
}
紹介しましたif文の例を見て『なんだ。全部一緒じゃん!』と思ったあなた。その通りです!これが『もし()なら』が基本だということが理解できるのではないでしょうか。
SCRATCH(スクラッチ)の『ずっと』とは
次に解説するSCRATCH(スクラッチ)の基本構文が『ずっと』です。
『ずっと』は、制御のコード
『ずっと』も『もしなら』と同じ制御にあるコードブロックです。
『ずっと』は繰り返し処理のこと
SCRATCH(スクラッチ)の『ずっと』は繰り返し処理をしてくれるものです。もし、この繰り返し処理がなければ、単純に同じ処理を繰り返したくてもその分だけプログラムを書かなければなりません。
『ずっと』を使えば何度も同じ処理を書く必要が無くなります。
繰り返し処理『ずっと』の使い方とは
当然、同じことを繰り返したい時に使います。また、先ほど紹介した『もし()なら』と組み合わせて使うことが多いですね。
具体的な回数を決めて繰り返す場合もありますし、『もし()なら』と組み合わせれば、『終了ボタンが押されるまで』永遠にループさせることができます。
さきほど紹介した『ゲーム』や身近な電化製品なども、中身は『OFFされるまでずっと』という条件で無限ループになっています。
『ずっと』は、他のプログラミング言語の『for文』と同じ
『ずっと』も定番の構文なので、どのプログラミング言語でも似たような書き方になります。
Pythonの条件分岐(for文)の書き方
イテラブルオブジェクトって何?と言う感じですが、そこに指定された要素の数だけ繰り返すというものです。
for 変数名 in イテラブルオブジェクト:
繰り返して行う処理
C++の条件分岐(for文)の書き方
C++の形式はPythonより少しわかりやすいです。
「初期の状態からカウンタを更新(UP)していき、継続条件が成立する間はずっと繰り返す」というものです。
for(初期化; ループの継続条件; カウンタ変数の更新){
繰り返して行う処理;
}
JAVAの条件分岐(for文)の書き方
こちらはほぼC++と同じですね。
for(初期化; ループの継続条件; カウンタ変数の更新) {
繰り返して行う処理
}
まとめ
今回はSCRATCH(スクラッチ)の『もし()なら』と『ずっと』について紹介しました。
また、Python、C++、JAVAを例に、一般的なプログラミング言語として『もし()なら』は条件分岐であるif文、『ずっと』は繰り返しであるfor文であるということを解説しました。
少しプログラミングについて理解が深まった気がしたというのであれば幸いです。