これからプログラミングをはじめる方へ
プログラミング言語の仕様を理解すると同時にコンピュータ思考を学び理解することが重要なポイントです。人間の思考回路はとても複雑で完全には解明できていませんが、機械で思考できるように~人の思考方法を単純化~したものがコンピュータだと考えて下さい。だから、すごく簡単なんです。
コンピュータ思考を学ぶ
コンピュータの歴史は、機械で加算計算することからはじまり、ノイマン型コンピュータが今のコンピュータの基礎になっています。
コンピュータの要点・・・人の思考方法を単純化
- 情報は、全て数値化(0/1の組み合わせ)=デジタル
- 計算は、四則演算、論理演算、ビット関連演算
- 記憶は、メモリ上に保存する一時記憶、ハードウェアに保存する記憶
- 判定は、真か偽か(Yes or No)
- 手順は、メモリ上のプログラムを順番に実行、判定結果で処理を分岐(ジャンプ)
これだけです。単純でしょ。これが、プログラムの基本です。
そして、この仕組みと考え方は、1945年に発表されてから半世紀以上経っていますが、この原則はまったく変わっていません。変化したのは、ハードウェアの小型化、大容量の記憶、ソフトウェアの進化です。
プログラムを考える際、この大原則を無視することはできません。
といいますか、これを理解することでプログラムをスムーズに考えて作れるようになります。
絶対に避けて通れない道と考えて下さい。
コンピュータで思考する
コンピュータが実行できるプログラムは、「情報」「計算」「記憶」「判定」「手順」の組み合わせで記述します。この組み合わせで、目的を実現する方法を考えるのがプログラマーであり、その作業がプログラミングです。大雑把に言うと、「人間の思考を5つの要素を使ってコンピュータで実行できるように再構成た手順」です。これをプログラムロジックと呼びます。
たとえば、「人が与えた2つの数値を掛け算して、その結果を画面に表示しなさい」という手順は
- 人が、2つの数値を入力する
- 2つの数値を掛け算してその結果を記憶する
- 結果を画面に表示する
大雑把に言えばこんな手順になります。この手順ををプログラム(C#)に変換すると
int x;
int y;
int z;
Console.Input(x);
Console.Input(y);
z=x * y;
Console.WriteLine(z);
こんな感じです。
私たちが作るプログラムはここまでです。とてもシンプルですが実際、コンピュータ上ではもっと複雑な手順で実行されているのですがここでは省略します。
手順があるから、プログラミング言語の知識がなくても何となくわかると思います。
じぶんの気持ちや考えではなく、コンピュータの思考に合わせることがポイントです。
同時に、プログラム実行の結果と思いが異なるとき「結果が基本」です。
正解は結果です。その結果から違いを納得できるまで考えることが重要です。