と言うのを辞書っぽく書いてもよくわからないと思うので、ここでは「小さな指示をまとめた手続き」ぐらいの説明で十分だと思う。
イメージで言うと、
と言うような感じ。これがプログラムです。
この例で明らかにしたいのが、基本的にプログラムは上から順番に実行される、と言うこと。
大人ならさっきの例でお米が炊けると思う。じゃあ5歳児ができるか、と言うとちょっと説明が足りないと思う。どうかな? 実は子供を育てた経験がないので、5歳児がどれぐらい賢いかわからない...。でも次の例ならいけるんじゃないかな。
どうだろう? できそうじゃない? これは例だから感覚的な感じだけど、実際のプログラムを書くときの指示の細かさはだいたいこれぐらいだと思う。
自分がやりたいことをプログラムに起こすときは、5歳児に教えるぐらいの気持ちでやるといいと思う。本物の5歳児はもっと賢いかもしれないけど...。
暗記力のある5歳児だと、
と言うのを覚えることができると思う。パソコンは5歳児より暗記力があるので、パソコン向けのプログラムなら安心して覚えてもらう前提で書ける。
これで 1 合でも 5 合でも炊けるようになった。釜さえ対応できれば 100 合でもいけるはず。これがプログラミングで変数って呼ばれるやつです。
ここまで、お米をとぐステップは 3 回やればいいってことにしてたけど、2回でいい時もあれば、4回やりたい時もあると思う。箇条書きにしてみよう。
1. ボウルに水を入れて、猫の手で5回かき混ぜる
2. 水を見て、真っ白に濁っていたら 1. に戻る。うっすら濁る程度なら次に進む
ちょっと複雑になった。でもこれでいい感じにお米がとげると思う。プログラミングの解説書を読んでいると「制御構文」ってやつが出てくるんだけど、これです。上から実行するはずのプログラムが、また上の行に戻ったりするのが面白いね。
プログラムの雰囲気をより掴むためにそれっぽく書いてみると、こうです。ふーんって感じで見て。
for { // KomeWoTogu(ToguKaisuu): コメをとぐ命令。コメを研いだ後にはどれぐらい濁ってるか(0.0 〜 1.0)を教えてくれる。1.0が真っ白。 nigoriGuai := KomeWoTogu(5) if nigoriGuai < 0.5 { break } } // 続きの処理...
実は "(1) に戻る"、みたいな意味の命令もだいたいのプログラミング言語にあるんだけど、プログラムが読みにくくなるのであまり使いません。ここではループって言う繰り返し処理に置き換えてます。
気がしませんか? 気がしない人は大丈夫。難しい気がした人にはおすすめのツールがあります。フローチャートっていうの。
https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AD%E3%83%BC%E3%83%81%E3%83%A3%E3%83%BC%E3%83%88
これは限られた図形を使ってプログラムで解決したい課題を表現するので、課題を理解するのにとても役立ちます。
プログラミングを初めて最初のうちって、「自分がやりたいこと」と「プログラムで表現できること」の間に谷があって苦しくなることがあると思うんだけど、そういうときは落ち着いてフローチャートを書くといいよ。慣れてくるとフローチャートなしでバリバリ書けるようになります。
概念的な理解でいいなら、この動画もセットにすると楽しく学習できる https://www.youtube.com/watch?v=5FejvFO1fM0