プログラミングって実はそんなに難しくないんだよ
●プログラミングができたら超便利!
プログラミングができるようになったら、日々の仕事や作業でめんどくさいことを代わりにやってくれます。パターンさえ決まっていれば、自動化できます。ゲームも作れるし、ホームページも作れるし、できることの幅がグンッと広がります!こんなのできるかな?と考えていることの90%くらいはできるんじゃないかな?
「でも…、でも…、プログラミングって難しそう」
「実際プログラミングやってるけど難しすぎて理解できない」
こういう人がたくさんいると思います。ここを見に来たあなたもそうではないでしょうか?この記事では、そんな「プログラミングって難しい」という意識を「プログラミングって楽しい」に変えていきたいと思います!ぜひ、お付き合いいただければ!
●基本的に3つの処理を理解できればOK!
プログラミングって上の画像みたいにいっぱい英語が並んでいて、めちゃくちゃ難しそうですよね。でも、プログラミングは基本的に3つの組み合わせで出来ていると考えれば、実はそんなに難しくないんです。その3つの組み合わせというのが、普通の処理・条件分岐・繰り返し処理(ループ処理)の3つになります。大体この3つの処理さえ理解してしまえば、プログラミングはできちゃいます!
ここは読まなくてもいいですが、プログラミング用語には難しい用語がたくさんあります。クラス、メンバー、型、Null、メソッド、宣言、インスタンス、コンストラクタ、アクセス修飾子、継承、インターフェースなどなど…ちんぷんかんぷんかと思います。いいんです。それが当たり前なのです。これらはプログラミングをする上で重要な用語にはなりますが、今は気にしなくてOKです!後々解説入れていきたいとは思っているので、そのタイミングで知ってくれれば!
01普通の処理
namespace Test
{
internal class Test
{
internal static void Method1()
{
int a = 3;
int b = 4;
int c = a + b;
}
}
}
例えばこれは、C#という言語でプログラムを書いていますが、普通の処理はこんな感じです。aに3を入れて、bに4を入れて、cにa+b、つまり7を入れています。これは「3+4を自動で行う」という、れっきとしたプログラムになります。プログラムは、基本的には上から順に処理が進んでいきます。
namespace、Test、internal、class、static、void、Method1()、intなど意味不明かと思いますが、今はとりあえず気にしなくてOKです。「aに3が入り、bに4が入り、最後にcにa+bが入っている」ということだけ理解できればOK!
02条件分岐
namespace Test
{
internal class Test
{
internal static void Method1()
{
int a = 3;
int b = 4;
int c;
if (a > b)
{
c = a + b;
}
else
{
c = a - b;
}
}
}
}
今度は条件分岐を入れてみました。条件分岐とは「この場合はこうする」という処理です。プログラミングでは条件分岐を「if」と「else」で表すことが多いです。上の例は、「aよりbの方が小さい場合は、cにa+bを入れる。そうでない場合(else)は、cにa-bを入れる。」というプログラムになります。ifが「○○の場合」、elseが「○○でない場合」になります。
03繰り返し処理(ループ処理)
namespace Test
{
internal class Test
{
internal static void Method1()
{
int a = 3;
int b = 4;
int c = 0;
for (int i = 1; i <= 10; i = i + 1)
{
c = a + b + c;
}
}
}
}
今度はループ処理を入れてみました。ループ処理とは「これを○回繰り返す」という処理です。プログラミングではループ処理を「for」や「foreach」、「while」で表すことが多いです。多分最も一般的に使われているのが「for」だと思います。上の例は、「cにa+b+cを10回入れるという処理」になりますが、「cにa+b+cを10回入れる」というのがよく分かりませんよね?先にループ処理の条件について解説させてください。
for (int i = 1; i <= 10; i = i + 1)
この部分がループ処理の条件になっており、上の例では次の条件でループします。
ちょっと難しいかもですね...(汗)。要は、「forの括弧内を10回繰り返す処理」になります。処理を繰り返すごとにiが「1→2→3→4→5→6→7→8→9→10」と変化して、11になったタイミングで繰り返し処理を抜けます。例えば...
for (int i = 6; i <= 10; i = i + 1)
こうするとiが「6→7→8→9→10」と変化し、処理が5回繰り返されます。
for (int i = 1; i <= 5; i = i + 1)
こうした場合も「1→2→3→4→5」と変化し、処理が5回繰り返されます。
for (int i = 1; i <= 10; i = i + 2)
こうした場合も「1→3→5→7→9」と変化し、処理が5回繰り返されます。
for (int i = 1; i <= 10; i = i + 1)
{
c = a + b + c;
}
さて、「cにa+b+cを10回入れる」ということですが、「10回入れる」というのは、お分かりいただけたかと思います。
c = a + b + c;
ここが分かりづらいかと思います。
ここは、ループ処理に入る前にa=3、b=4、c=0としていました。1回目のループで、c=a+b+c=3+4+0=7、つまり、cに7が入ります。2回目のループで、c=a+b+c=3+4+7=14、つまり、cに14が入ります。2回目のループの時は、前にcに入れた7を使って計算します。なので、3回目のループは、c=a+b+c=3+4+14=21、つまり、cに21が入ります。こんな感じでループ処理が進み、最終的にはcに70が入ります。
処理回数 | 処理内容 |
---|---|
1回目 | c = a + b + c = 3 + 4 + 0 = 7 |
2回目 | c = a + b + c = 3 + 4 + 7 = 14 |
3回目 | c = a + b + c = 3 + 4 + 14 = 21 |
4回目 | c = a + b + c = 3 + 4 + 21 = 28 |
5回目 | c = a + b + c = 3 + 4 + 28 = 35 |
6回目 | c = a + b + c = 3 + 4 + 35 = 42 |
7回目 | c = a + b + c = 3 + 4 + 42 = 49 |
8回目 | c = a + b + c = 3 + 4 + 49 = 56 |
9回目 | c = a + b + c = 3 + 4 + 56 = 63 |
10回目 | c = a + b + c = 3 + 4 + 63 = 70 |
なんとなくループ処理がどう動いているかを掴めましたか?ちょっとループ処理は、もしかしたら難しいと感じる人もいるかもしれません。ここについては別の機会に掘り下げていきたいと思います。
最後に
さて、ここまで読んでいただいて、いかがでしょうか?プログラミングは上から順に条件分岐やループ処理を使って処理を進めていきます。ちょっと大げさかもしれませんが、これさえ理解できればプログラミングはできます!人の頭の中もプログラミングと大体同じで、「この場合はこうやって...これを○回繰り返して...で、こうする!」みたいなことを頭の中で処理しながら作業をやっていることが多いです。こういう処理はほとんどプログラミングで実現できますので、みなさん!これから私と一緒に勉強していきましょう!