![](https://www.kumeruko.tech/wp-content/uploads/2022/01/boy_question-1-150x150.png)
プログラミングって何?
![](https://www.kumeruko.tech/wp-content/uploads/2022/01/apron_woman2-3surprise-1-150x150.png)
![](https://www.kumeruko.tech/wp-content/uploads/2022/01/apron_woman2-3surprise-1-150x150.png)
![](https://www.kumeruko.tech/wp-content/uploads/2022/01/apron_woman2-3surprise-1-150x150.png)
えっとねえ、それはつまり、あの、、、
2020年度から小学校でプログラミング教育が必修化になり、子供たちは学校でプログラミングを勉強するようになりました。
ところが親世代は、「プログラミング」など一切習ってこなかったので、プログラミングは得体の知れない難しいもの、と身構えてしまいます。
さて、子供に「プログラミングとは何か」聞かれたら、どのように説明しますか?
ひとことで言ってしまうと、
プログラミングとは、「段取りを組む」ことです。
ここで言う「段取り」とは、コンピュータにさせたい仕事を、細かい手順に分けて順番に並べることです。それを上から順番に実行していって、仕事が完了すればプログラミングは成功です。
今回の記事では、ちょっとITが苦手な保護者のために、プログラミングとは何か、プログラミングの基本的な概念を、噛み砕いてわかりやすく説明したいと思います。
![](https://www.kumeruko.tech/wp-content/uploads/2022/03/image-150x150.png)
![](https://www.kumeruko.tech/wp-content/uploads/2022/03/image-150x150.png)
![](https://www.kumeruko.tech/wp-content/uploads/2022/03/image-150x150.png)
安心してください、プログラミングは怖くないですよ!
\ プログラミングの習い事をお探しならコチラへ! /
プログラミングとは何か子供にわかりやすく説明しよう
プログラミングとは、
自分がやってほしい仕事をコンピュータに命令して、その通りに動かすこと
です。
実は、身の回りにある便利なものは、たいていプログラミングで動いています。
例えば、
- エアコン
- 炊飯器
- 信号
- 自動販売機
- 自動車
にも、小さなコンピュータが入っています。
そのコンピュータに
- 「このボタンを押したら、風を涼しくして」
- 「朝の6時にご飯が炊き上がるようにして」
- 「お金を入れてこのボタンを押したら、このジュースを出して。そして、もしお金が多かったらお釣りを出して」
プログラミングでは、このような「命令」を書いていきます。
この作業が「プログラミング」です。
プログラミングの定義
プログラミングとは、コンピュータに対して命令を与えることで、特定のタスクを自動化することを指します。言語を使って、アルゴリズムを記述し、コンピュータがそれを実行します。
プログラムとは?
プログラミングのそもそもの意味は「プログラムを書くこと」です。
「プログラム」と言えば運動会のプログラムを思い浮かべるかもしれません。運動会で行われる種目を順番に並べて書いて書いたものがプログラムです。
では、コンピュータに書くプログラムとは何でしょうか。
コンピュータに書くプログラムとは
コンピュータに命令したいことを、「この通りに動いてね」と書いたもの、つまり「段取り」
です。
そのプログラムをコンピュータにわかるように書く言葉を「プログラミング言語」と言います。
プログラミングの基本的な構造
プログラミングはすごく難しそうなことをしていると思うかもしれませんが、プログラミングの動きは実はシンプルで、たった3つだけです。
プログラミングの基本的な動きは以下の3つです。
順次進行 上から順番に実行する
条件分岐 「もし〇〇ならA、そうでないならBをする」という条件わけをする
繰り返し 同じことを繰り返す
これをプログラミングの基本構造と言います。
どんなプログラミング言語を使っても、基本的にプログラミングの動きはこの3つの構造で成り立っています。
順次進行
順次進行とは、「順番どおりに進める」という意味です。
プログラムは上から書いた順番に処理していくという構造になっています。
これはプログラムの最も基本的な動きになります。
条件分岐
条件分岐とは、特定の条件のときには「処理 A」、そうではないときは「処理 B」をするといった構造になります。
AかBか、2つに一つを選択します。
繰り返し
繰り返しとは、決まった回数や特定の条件が来るまで同じ動作を繰り返す処理のことです。
「プログラミング」とは「段取り」
プログラミングをするということは、
作りたいもの = 分解 → 整理 → 組み立て
という基本的な流れを実行することです。
例えば、わたしたちはふだん料理を作るときにもある種のプログラミング的思考を使っています。
![プログラミング的思考は料理をするときにも使われている](https://www.kumeruko.tech/wp-content/uploads/2021/12/プログラミングは料理.png)
![プログラミング的思考は料理をするときにも使われている](https://www.kumeruko.tech/wp-content/uploads/2021/12/プログラミングは料理.png)
「カレーライス」という料理を作るには、
何が必要か分解して、どの順番で並べるかを整理し、そして組み立てます。
材料を用意する
↓
野菜と肉を切る
↓
鍋を熱する
↓
油を引く
↓
熱した鍋に切った野菜と肉を入れる
↓
炒める
↓
煮込む…
こうした一つ一つの工程を組み合わせ、これらを論理的に順番通りに実行することによって出来上がります。
もし味に問題があるとすれば、その工程のどこかに問題があるはずです。
ただ、小学校プログラミング教育では、パソコンプログラミングではなく、「プログラミング的思考」つまり、プログラミングの考え方を習うことが主な目的とされています。
低学年の授業では、電子機器を使わずに、指示の書かれた紙のカードを論理的に並べて、実行させる授業もあります。(アンプラグドプログラミング)
ここでいう「プログラミング」とは、冒頭でも触れたように「段取り」のことです。しかも、目的が確実に達成されるように手順を考えて、段取りを周到に組んでおく必要があります。
目的を達成するために、動作を細かい手順にわけて考えます。この手順のことをアルゴリズムと言います。
何かの目的が確実に達成されるために、手順を周到に段取りすること
段取り力は仕事をするために必要
このような「プログラミング的思考」や「段取り力」は仕事をする上でも重要な能力です。
仕事ができる人は、「段取り」が上手な人です。仕事の効率が良く、結果も生み出します。
一方、段取りが下手な人は、行き当たりばったりで仕事の効率が悪く、ミスの後始末や締め切りにいつも追われ、仕事の質も悪くなります。
コンピュータにわかるように書くのがプログラミング
しかし、ここで注意が必要です。
コンピュータプログラミングは人間と違って、機械なので融通が利きません。
例えば、人間に「コーヒーをいれて」とお願いすれば、細かい手順を説明しなくても、
- お湯を沸かして
- コーヒー豆を挽いて
- フィルターにペーパーをセットして
- 粉を入れて
- お湯を少しずつ注ぐ
と言う作業を考えながらやってくれます。
ところがコンピュータにお願いしようとしても、それがわかりません。作業を細かく分けて、さらに分量や時間も正確に説明しなければなりません。
コンピュータへのお願いの仕方
「お湯を沸かす」という作業も、
- ヤカンに水を500ml注ぐ
- ヤカンをコンロの上に置く
- 火をつける
- 中火にする
- 3分30秒で火を止める
このように手順を細く命令しなければコンピュータにはわかりません。(※厳密にはもっともっと細かい指示が必要です)
コンピュータは命令された通りに動きますが、命令されたこと以外は行えません。
それでコンピュータにプログラミングするときは、コンピュータが確実に理解できるよう、手順を細かく分けて詳細に指示を出す必要があります。
まとめ
- プログラミングとはプログラムをつくること
- プログラムとはコンピュータにお願いする(指示を出す)内容を書いた手紙(指示書)のようなもの
- コンピュータは一つ一つ細かくお願いしないと(指示を出さないと)わからないので、プログラムは細かい指示を順番通りに正確に書かなければならない。
- プログラミング言語といいコンピュータがわかることばを使って書いていく。
- その作業をプログラミングという。
コメント