これからプログラムを始める方の多くは、プログラミングってどんな風に組み立てていくものなのか?どんな事を考える必要があるのか?が混沌としていて、よく分からないのではないでしょうか。
ここでは、プログラミングを作る上での基本的な考え方について解説したいと思います。
プログラミングは手順を記述すること
プログラムは、「実現したいこと」を実現するための手順を記述したものです。
例えば、顧客名簿に記載されている住所が大阪市のものだけを抜き出したい場合は
顧客名簿を開く⇒上から順に住所の中身を確認する⇒大阪市という文字を見つけたら画面に表示する
という処理手順になります。
この様に、実現したいことの手順を考えて、順番に記述していきます。
これは本当にザクっとした説明なのですが、この考え方がベースになります。
しかし、実際にプログラムを作るとなると荒すぎるので、もう少し細かく見ていきましょう。
処理の流れを掘り下げて考える
掘り下げるとは、もう少し具体的な手順に落とし込むという事です。
コンピューターは言われたことしかやってくれませんので、やってほしい事は全て記述してあげなければなりません。
例えば、
- 「顧客名簿を開く」とは、どんなデータを何処から取ってくるのか?
- 住所の中身に”大阪市”が含まれているか否かを、どうやって判定するのか?
- どんな方法で画面に表示するのか?
- プログラムはどのような条件で終了させるのか。
などです。
このような事を考えて、それらすべてを手順に落とし込むわけですが、この作業を図式化したものをフローチャートと呼んでいます。
長方形の中に書かれている内容が実行する処理、ひし形の中に書かれている内容が判定条件です。
「名簿を開く」、「名簿を閉じる」、「住所を取り出す」という処理の他、”大阪市”を見つけるための判定方法、プログラムの終了条件が追加されていますね。
では、これをプログラム言語で記述してみましょう。
あくまでも参考例であり、これで完璧という訳ではありませんので、その点はご了承ください。
分かりやすく説明するために、細かな部分は簡略化しています。
処理手順は「順次」「反復」「分岐」の3要素
プログラミングの3大要素という言葉があるのですが、それが「順次」「反復」「分岐」です。
つまり、プログラムはこの3つの要素を使って手順を考え、記述していくという事になります。
全てのプログラミング言語はこの3要素が実現できるように作られていますので、プログラミングをするのであれば、この3要素を踏まえた処理手順にしなければなりません。
プログラムは上から順に実行されていきますので、反復や分岐という処理をうまく組み合わせるという考え方が必要になります。
実際のプログラミングでは、更なる掘り下げが必要
プログラミングに慣れていない方は、ここまでの考え方でお腹いっぱいかもしれませんね。
ここまでの説明で例に出したフローチャートやプログラムには、まだまだ考慮する必要があります。
例えば
- 読み込むファイルは、どんなフォーマットであるのか
- 仮に、"氏名","住所","電話番号" というカンマ区切りのデータだった場合、住所の部分だけを取り出して判定する必要は無いのか
- 大阪市が省略され、中央区や城東区など、区から記載されている場合はどうするのか
とか、
- ファイルが存在しなかったら、どういう処理にするのか
- フォーマットがカンマ区切りでなかったらどうするのか(ファイルが間違っていた場合)
という例外的なことも考慮する必要があります。
ここまでくると、ぞっとするかもしれませんが、実際には考慮する点がたくさんあります。
でも、プログラムをたくさん書いて慣れると、ある程度の考慮すべき点は、自然に浮かんできます。
だから、今の段階でそれほど気にする必要が無いと思います。
それに、自分が実現したいこと、仕事や趣味に活用したいことをプログラミングする訳ですから、多少考慮していなくても、最低限の事ができれば良しとしましょう。
使っていくうちに、少しづつ改良していくのも趣味で作るプログラミングの醍醐味です。
まとめ
- プログラミングは「実現したいこと」を実現するための手順を記述したもの
- 「順次」「反復」「分岐」という3要素で処理手順を考える。
- プログラミングで必要な考慮点は、数をこなせば自然に身につく
- 最低限の事ができれば良しとし、使っていくうちに少しづつ改良しよう
という事です。
何度も言いますが、最初は難しいかもしれませんが、ゲームと同じで数をこなせば慣れてきます。
自分の作りたいものを作って、自分で使って楽しみましょう。