プログラミングって何?
プログラミングとは、「人間がコンピュータにさせたいことの指示を出すこと」です。たとえば書いた文書を印刷するときには、アプリの[印刷]ボタンをただクリックするだけで済みますが、その舞台裏では、印刷するデータをプリンターに送るなど、さまざまな事柄が行われています。
コンピュータは何も知らない子どものようなものなので、簡単な操作でもその1つ1つを教えてやる必要があります。この1つ1つの指示はコードと呼ばれます。コンピュータはつねにコードを確認し、その指示に忠実にしたがいます。コンピュータはコードがないと何もできません。
このコードが書けるようになると、コンピュータに自分の指示が出せるようになります。たとえばアクションゲームのキャラクターの動きを、矢印キーの代わりにマウスで操作できるようになります。
では、コードの書き方、つまりプログラミングを学ぶことには、どのようなメリットがあるのでしょう? よく言われるのは、難しい問題をバラバラに分解して解決する方法が学べる、ことです。
またデザインのプロセスを学ぶ助けにもなります。これは、頭の中にあるおぼろげなアイデアを実際の形にして具体化していく作業のことです。自分のアイデアが実際のディスプレーで動くようになると、プログラミングが楽しくてしかたなくなります。
プログラムって何?
プログラムとは、コンピュータに何をすべきかを伝える指示を書いた順番付きのリストの集まり(つまりコード)のことです。指示は、コンピュータに正しく伝わるように、決まった順番で書く必要があります。また一度に多くのことをさせるのではなく、小さくて明確な手順として伝えるようにします。
何も知らない原始人をイメージするとよいかも知れません。たとえば、車のドアの開け方を教える指示のリストは次のようになります。
- 大きな板(ドア)の前に立ち、右上隅の細長い板(ノブ)に手を入れる。
- 板の奥に指を当て、手前に引く。
- 腕に力を入れてそのまま引く。体が邪魔になったら1歩下がる。
- 大きな板が十分に開いたら、手を放す。
実際のコードもこんな感じで書いていきます。コンピュータは間違えようのない明確な指示がないと、小さなことでもできません。プログラムを書くときには、「コンピュータは何も知らない」ものとして、すべての動作を細かい手順で分けて伝える必要があります。
プログラムを構成する5つのパーツ
すべてのプログラムは、次の5つの組み合わせでできています。
- 入力 コンピュータに入れる情報のこと。マウスのクリックやキーボードの文字、数字など。
- 出力 コンピュータから出る情報のこと。マウスのクリックからはたとえばクリック音が発生し、キーボードの入力からは、入力した文字が画面に表示されます。
- 計算 コンピュータが最も得意とする動作。コンピュータは加減乗除など、数値の計算方法を知っています。
- 条件による実行 入力の中身によって、分岐する道が変わること。たとえば「気温が30度以上なら」-> 「半袖シャツを着る」。「30度未満なら」->「長袖シャツを着る」。
- 繰り返し 同じ手順を何度も繰り返すこと。100回でも1万回でも、コンピュータは指示を正確に繰り返します。
プログラミングの道具箱
プログラミングにはいつも同じ道具を使います。木を切るときはのこぎり、くぎを打つときは金づちを使うのと同じです。やりたいことに合わせて、それにあった道具を道具箱から出して使います。
- 変数 情報を入れておく箱のようなものです。たとえばゲームの最高得点のメモを入れておくときに使います。
- 条件 「もし~なら~する」という条件分けを作ります。たとえば「もしネコをクリックしたら」、ネコは「ネコです、こんにちは」としゃべるアクションが作れます。
- データの種類 データとは情報の別の言い方です。プログラムの中では情報を種類ごとに整理して分かりやすくします。
- イベント処理 イベントとは、プログラムを動かすきっかけのことです。たとえばボタンをクリックすると、クリックのイベントが発生して、そのイベントに関連付けられたアクションが実行できます。
- ループ 繰り返しを作りたいときに使います。同じことを100回行うには、そのコードを100回書けば実行できますが、100回繰り返すループを使うと、その中にコードを1回書くだけで済みます。
プログラマーみたいに話す?
以下はよく使われる用語です。
- 実行する コンピュータに指示を実際に行わせることです。「プログラムを実行する」と言います。
- アルゴリズム 問題を解決するための考え方や具体的な手順を言います。レシピのようなものと考えることもできます。
- スクリプト 特定のプログラミング言語で書かれたコードのことです。スクラッチではコードのことをスクリプトと呼びます。
- 関数 具体的な指示や命令があって初めてアクションを起こす、コードのまとまりを言います。いつも決まったことをつづけて行うアクションは1つの関数にまとめておくと便利です。
- 演算子 足し算や引き算の+や-などの計算や大小の比較などに使う記号です。
Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。http://scratch.mit.eduから自由に入手できます。