プログラミングの全体像

まずは、 「プログラミングとはどんなものか?」 をさっとなんとなくつかんでしまいましょう! どの言語でも、人工知能やIoTでも通じる原理原則ですよ。
1) プログラミングとは
プログラミングとは成し遂げたい目的を達成するために、① 「アルゴリズム」を設計し
② その過程で必要な「データ」を扱う
ためのものといえます。つまり簡単に言うとプログラミングとは 「アルゴリズム」と「データ」 なのです。 では、「アルゴリズム」と「データ」とはどんなものなのか、プログラミングではどうやって扱うのかをそれぞれ見ていきましょう。
2)アルゴリズムとは
アルゴリズムとは「目的達成のためのロジック、ストーリー」のことです。 例えば、「カレーライスを作る」という目的があったとすると、「カレーライスを作る手順」を記した「レシピ」のことを「カレーライスのアルゴリズム」と考えることができます。
アルゴリズムは3つの制御構造
① 順次実行
② 分岐
③ 繰り返し
を使ってつくることができます。 たった3つの仕組みで、どんな複雑なアルゴリズムも作られているなんて驚きですよね!
①順次実行
これは処理をコードの上から順番に実行することで、自然とそうなっていますので理解し易いと思います。 「カレーライスのレシピ」では、 野菜を切る→肉を切る→フライパンで炒める→水を沸かす→炒めた野菜を入れる→カレーのルーを入れる ようなイメージで、順番に処理を実行することを言います。
② 分岐
これはある条件によって実行する処理が分岐することを言います。 例えば、 「家族に子供がいるかどうか」 を判定し、 「子供がいる」 → 処理A: 甘口のカレールーを使う 「子供がいない」 → 処理B: 辛口のカレールーを使う のように、条件によって実行される処理が、処理Aと処理Bに分かれることを言います。
以下の図のイメージです。
③ 繰り返し
これは「処理」を繰り返すという意味で、 処理:「玉ねぎの皮を1枚むく」 を繰り返し実行し、 「完全に白い皮が現れたらむくのをやめる」 ように使います。 繰り返しの処理をどこでやめるか、を規定する文のことを「繰り返し条件」と呼びます。
NASAのロケットもこの3つの道具だけで制御され月まで飛んで行くんです!スゴイですよね。皆さんもこの3つの道具を使ってアルゴリズムを作って、願いを叶えてくださいね。
3) データを扱う3つの道具
では、もう一つのプログラミングの要素である「データ」をどのように扱うかを見ていきましょう。 プログラミングで「データ」を扱うには以下の3つの道具を使います。
①変数 : データを入れる入れ物 プログラミングの世界では、データを裸のまま扱うことは原則できません。一旦「変数」という入れ物に入れて扱う必要があります。 「カレーライスのレシピ」では、データは「食材」と考えることができ、そういう意味ではデータを入れる変数は「食材をいれるボウル」のようなもの、とイメージするとわかりやすいでしょう。

②関数 : データを変換するブラックボックス Aというデータをいれたら、Bが出る。変換器のような働きをするのが「関数」です。 電子レンジに凍った肉を入れて、解凍すると「解凍された」肉が出てきます。また、フードプロセッサーに人参をいれると「みじん切り」された人参が出てきます。 この場合、電子レンジを「解凍関数」、フードプロセッサーを「みじん切り関数」と考えることができます。

③配列 :複数のデータを整理するトレイ プログラミングで複数のデータを扱う場合に、複数のデータを複数の変数に入れることもできますが、一旦配列という「トレイ」にいれてから取り出したり、保存したりして扱うほうが非常に効率が良くなります。 料理で言えば、「塩」「胡椒」「砂糖」を1つのトレイにいれて、キッチンに用意するイメージです。

プログラミングで「データ」を扱う際に非常に重要な役割を果たすのが、「データの保管庫」とも言える「データベース(DB)」です。 料理の世界でいうと、食材を保管したり、必要な時に取り出すことができる「冷蔵庫」のようなものです。 そのデータベース(冷蔵庫)でデータを扱う4つの方法を紹介しますね。
1.参照(取得) データベース(冷蔵庫)の中のデータ(食材)をのぞいて確認したり(参照)、取り出したり(取得)することを言います。 2.保存(新規保存) データベース(冷蔵庫)にデータ(食材)を最初に保存することを言います。 3.更新(上書き保存) データベース(冷蔵庫)に元々あったデータ(食材)の内容を修正して、もう一度データベースに戻す(保存)ことを言います。 無理やりな喩えですが、冷蔵庫に元々あった人参をみじん切りにして、もう一度冷蔵庫に戻す、ようなイメージです。 4.削除 データベース(冷蔵庫)の中のデータ(食材)を削除する(捨てる)ことを言います。
プログラミングで定年崩壊に備える! あなただけの在宅での稼ぎ方をご提案

MacかWindowsか ?

どの言語をやるべきか? 〜 言語の全体像

ウェブサイトとプログラミングの違いとは?

WordPressとは?

PCのスペックについて

【中高年・シニア向け】プログラミングのためのノートPCの選び方

iPhoneアプリを作れるようになりますか!?

まずは1つの言語から学ぼう!

プログラミングの全体像
