プログラミングと聞くと、「黒い画面に謎の英語がたくさん…」「理系の専門知識が必要そう…」といったイメージから、難しく感じてしまうかもしれません。
しかし、実はプログラミングの基本的な考え方は、私たちが日常生活で行っている判断や手順と非常によく似ています。特別な知識がなくても、その「考え方のコツ」さえ掴めば、決して怖いものではありません。
この記事では、プログラミングの根幹をなす基本的な考え方を、3つのポイントに絞って分かりやすく解説します。
1. プログラムは私たちのすぐそばにある
意識していないだけで、私たちの周りはプログラムで動くもので溢れています。
- スマートフォンのアラーム:「朝7時になったら、アラームを鳴らす」
- 電子レンジ:「『あたため』ボタンが押されたら、600Wで1分30秒加熱する」
- 駅の自動改札機:「ICカードの残高が初乗り運賃より多ければ、ゲートを開ける」
これらはすべて、「もし、ある条件を満たしたら、決められた処理を実行する」という考え方に基づいています。私たちは普段から、コンピュータに対して「こう考えて、こう動いてほしい」と指示を伝えているのです。
2. プログラムの基本は「もし○○なら、△△する」の積み重ね
プログラムの動作は、一見すると非常に複雑に見えるかもしれません。しかし、その基本構造を分解していくと、ほとんどが「もし(if)、〇〇という条件が満たされたら、△△という処理をしなさい」という単純な命令の組み合わせでできています。
これをプログラミングの世界では条件分岐と呼びます。 PHPを使って簡単なサンプルコードを見てみましょう。これは、テストの点数に応じて「合格」か「不合格」かを判定するプログラムです。
<?php
// テストの点数を設定します
$test_score = 85;
// 合格点を80点とします
$passing_score = 80;
// もし、テストの点数が合格点以上なら
if ($test_score >= $passing_score) {
// 「おめでとうございます!合格です。」と表示します
echo "おめでとうございます!合格です。";
} else {
// そうでなければ(合格点未満なら)
// 「残念ながら不合格です。」と表示します
echo "残念ながら不合格です。";
}
// この場合、「おめでとうございます!合格です。」が出力されます。
?>
このように、$test_score
という変数の値が $passing_score
以上かどうかを判断し、その結果に応じて処理を変えています。 複雑なソフトウェアも、このような小さな条件分岐を無数に積み重ねることで成り立っているのです。
3. 「アルゴリズム」とは、効率的な問題解決の”手順書”
もう一つ、プログラミングでよく耳にする言葉に「アルゴリズム」があります。
アルゴリズムとは、簡単に言えば「問題解決のための、効率の良い手順」のことです。料理のレシピを想像していただくと分かりやすいかもしれません。
美味しいカレーを作るためには、「1. 材料を切る」「2. 玉ねぎを炒める」「3. 肉を炒める」…といった手順がありますよね。この一連の作業手順がアルゴリズムです。そして、より短い時間で美味しく作るための「玉ねぎを先にじっくり炒めると甘みが出る」といった工夫が、”効率の良い”アルゴリズムにあたります。
プログラミングも同様に、「何を」「どの順番で」処理すれば、最も速く正確に目的の結果にたどり着けるかを考え、その手順をコンピュータに伝えることが重要になります。この「効率的な手順書」を考えることが、アルゴリズムの基本です。
まとめ
今回は、プログラミングの基本的な考え方について解説しました。
- プログラムは身近な存在であること
- 基本は「もし〇〇なら、△△する」という条件分岐の組み合わせであること
- アルゴリズムとは、効率的な処理の”手順書”であること
この3つのポイントを理解するだけでも、プログラミングに対する見方が大きく変わるはずです。 まずは身の回りにあるものが「どんな条件で、どう動いているのか?」を考えてみることから、プログラミング的思考の第一歩を始めてみてはいかがでしょうか。