プログラミングは私たちの日常生活を豊かにする様々な技術やサービスを支える技術です。
スマートフォンのアプリからウェブサイト、さらには家電製品に至るまで
あらゆるものがプログラムによって動いています。
プログラミング技術を身につけることで、自分のアイデアを形にして、
生活をより豊かにすることもできるでしょう。
この記事では、そんなプログラミングの基礎を初心者でも理解できるように解説していきます。
プログラミングの世界への第一歩を踏み出してみましょう!
アイデアを形にする力を手に入れよう!
プログラミングの基本をチェック
プログラミングとは?
プログラミングとは、コンピュータに動きを指示するための指示書(プログラム)を作成することです。
コンピュータに指示するためには、プログラミング言語と呼ばれる専用の言語があり、
C++, PHP, Pythonなどの多くの種類から選択して指示書を作成します。
指示書には、コンピュータの計算や処理の手順を記述し、
これを積み重ねることでアプリやゲームといった複雑な動作を行うサービスを生み出しています。
プログラムの3要素を理解しよう
プログラムは大きく分けて、順次処理・分岐処理・反復処理の3つの要素で構成されます。
これら3要素を学ぶことで、プログラムの基本的な流れや読み方を理解することにつながります。
それぞれの要素は簡単に説明すると以下の通りになります。
次の章からプログラムの例と合わせて、見ていきましょう。
- 順次処理
プログラムを上から下に実行していく処理 - 分岐処理
条件に応じて異なる処理を行うこと - 反復処理
同じ処理を繰り返し行う処理のこと
順次処理
順次処理とはプログラムを上から下に順番に実行する処理です。
1つの処理が終わったら、次に進むように規則正しい動きをします。
例えば、1 + 2を計算する処理の例を見ていきましょう。
a = 1 # 変数aに1を代入.
b = 2 # 変数bに2を代入.
result = a + b # 変数resultにa + bの結果を代入.
まず初めに変数aに1を代入します。
それが終わると次の行の変数bに2を代入します。
最後に、a + bの結果を変数resultに入れるという動きをするプログラムです。
このように上から順番に処理を行うことがプログラムのもっとも基本とする動きになります。
身近な表現だと、このブログの書き方と同じ横書きと言えるね
分岐処理
分岐処理は条件に応じた処理を実行する処理のことです。
例えば、信号機が赤色なら停止、青色なら進むのも条件に応じた処理と言えます。
『〇〇なら、××する』といった表現ができる処理はすべて分岐処理と覚えましょう。
以下は、変数aの値によって表示する挨拶を変える分岐処理です。
a = 2 # aに2を代入.
# ↓分岐処理.
if a == 1:
# aが1の場合.
print("おはよう")
elif a == 2:
# aが2の場合.
print("こんばんは")
else:
# aが1でも2でも無い場合.
print("こんにちは")
まずaに1を代入する処理があり、
その後に続くのはaが1の場合の処理・aが2の場合の処理・それ以外だった時の分岐です。
今回はa=2なので、その条件の処理であるprint(“こんばんは”)の処理を実行します。
逆にprint(“おはよう”)やprint(“こんにちは”)はaが2の時の条件ではないため実行されません。
上記のように、分岐処理は条件によって ”実行する処理” と “実行しない処理” を分けることができます。
コンピュータが複雑な動作を行うために必須の処理となります。
信号機以外にも身近な分岐処理はいっぱいあるよ!
暇つぶしに探してみるのも面白いですぜ。
反復処理
反復処理は同じ処理を繰り返し実行する処理です。
同じ処理を何回も手書きする必要がないため、非常に便利な処理です。
以下は1~10までを足し算する処理です。
result = 0 # 変数resultに0を代入.
# iに1~10の値を順番に入れて、result+=iを実行.
for i in range(1, 10):
result += i # 変数resultにiを足し算する.
for i in range(1, 10)で変数iに1から10の数値を順番に入れた上で、
result += iで変数resultにiを足し算する処理を繰り返し実行します。
具体的な処理の流れは以下の通りです。
【処理の流れ】
①iに1が代入され、resultにiが足し算される => resultは0+1で1
②iに2が代入され、resultにiが足し算される => resultは1+2で3
(繰り返し)…
⑩iに10が代入され、resultにiが足し算される => resultは45 + 10で55
このように短いプログラムで同じ処理を繰り返し実行することができます。
同じ処理を何度も実行したいときには意識して使ってみましょう!
プログラムを整理する手法
プログラミングは順次処理・分岐処理・反復処理を理解していれば、
どのような作品も作り出すことは可能です。
しかし、基本的な書き方のみだとプログラムの量も多くなり、
複雑で読みづらくなってしまいます。
うまく動かなかった時に原因となる場所を探すことも難しくなるでしょう。
ここでは、プログラムを整理する方法を2つ紹介します。
読みやすい指示書(プログラム)を心がけよう!
関数
関数とは、ある目的を達成するための処理をひとつのかたまりにして名前を付けたものです。
目的ごとに処理を分けることで読みやすくなり、
離れた場所で必要になった時にも何度でも使うことが可能になります。
以下は分岐処理の説明で使用した”挨拶を表示する処理”を関数にした例です。
# 関数.
def say_greeting(a):
# ↓分岐処理.
if a == 1:
# aが1の場合.
print("おはよう")
elif a == 2:
# aが2の場合.
print("こんばんは")
else:
# aが1でも2でも無い場合.
print("こんにちは")
#関数の実行1. a=1の場合.
say_greeting(a=1) # "おはよう"を表示.
#関数の実行2. a=2の場合.
say_greeting(a=2) # "こんばんわ"を表示.
挨拶を表示する目的の処理を1つにまとめてsay_greetingという名前の関数にしています。
say_greeting(a)のaの部分は関数を実行するときに一緒に渡す変数で引数と言います。
引数を変えることで、様々な状況に対応できる処理となります。
今回は、挨拶を表示する関数にa=1とa=2の場合でsay_greetingを1行づつ実行しています。
関数にまとめることで、a=1の後に”挨拶を表示する処理”を書いて、
a=2の後にもう一度”挨拶を表示する処理”を書く必要がなくなっていることがわかります。
離れた場所でもう一度使いたい処理や計算処理が長くなってしまったときは、
ぜひ関数にまとめることを検討してみてください!
コメント
コメントとは、プログラムの中にメモや説明文を追加できる機能のことです。
コメントの部分はプログラムの動作に影響を与えることはありません。
コメントで適度に説明を書くことで、
将来の自分自身や他人がプログラムの動作や意図を理解する手助けをしてくれます。
プログラムの意図を把握せずに新しい処理を追加すると、
同じ処理を書いてしまったり、不具合を生みやすくなってしまうので積極的に使うことをおススメします。
以下のように、説明文の前に特殊な文字を書くことで、コメントとして認識されます。
今回は’#’の例ですが、プログラム言語によって’//’や’;’など使う文字は異なるので注意しましょう。
a = 1 # 変数aに1を代入.
b = 2 # 変数bに2を代入.
result = a + b # 変数resultにa + bの結果を代入.
# TODO:明日resultから3引く処理を実装する.
わかりやすさは大事です!
その他
関数やコメント以外にもクラスや構造体などの
ある目的を持ったデータや処理をひとまとめにする書き方も存在します。
しかし、書く上で意識することが増え、プログラム言語によっては存在しない場合もあるため、
まずは多くのプログラム言語で使える関数とコメントはしっかりと習得していきましょう。
まとめ
今回はプログラミングの基礎として、プログラムの書き方とその動作について解説しました。
複雑な挙動をするサービスも順次処理・分岐処理・反復処理の3つを組み合わせてできています。
基本をしっかり押さえて、自分が思い描く作品を生み出す土台にしていきましょう。
作ってみたいものはありますか?
私はゲームを作りたいなぁ~。