プログラミング初学者のためのプログラミング入門

こんにちは、わたなべです。

今回ですが、プログラミング初学者に向けた、「プログラミング言語に依らない基本文法」について解説記事を書いていこうと思います。

本記事での「プログラミング言語に依らない基本文法」とは、具体的にはif文(条件分岐)やfor文(繰り返し処理)、変数や関数などのことです。

いくつかのプログラミング言語を触れられた方ならお分かりかと思いますが、これらの基本文法はどの言語でもほぼ使われるものであり、逆に言うと、これら基本文法を身につけることで、どの言語を学ぶときでも比較的楽に学習することができるようになります

基本なんて何を今さら・・・

という風に思われる方も多いと思います。

しかし、私に言わせてもらうと、これまで何名かの駆け出しエンジニアの方たちにプログラミングの学習支援をさせて頂きましたが、殆どの方が悩まれている原因が、この基本文法の理解の足りなさにあったのです。

それが今回、この記事を書こうと思ったキッカケでもあります。

1.はじめに

まずは上述した、

これらの基本文法はどの言語でもほぼ使われるもの

 について具体例を見ていきます。

例. 1〜10までの数字のうち、偶数の数字のみ出力するプログラム

以下のプログラムは、同じ出力結果になるものを、それぞれ異なる言語で記載したものになります。殆ど同じコードになっていることが分かるかと思います。

(1) Cの場合

int main(void){
   int n;  // 変数定義
   
   for (n = 1; n <= 10; n++) {  // 繰り返し処理
       if (n%2 == 0) {  // 条件分岐処理
           printf("%d\n", n);
       }
   }
}

(2) Javaの場合

public static void main(String[] args) throws Exception {
    int n;  // 変数定義
    
    for (n = 1; n <= 10; n++) {  // 繰り返し処理
        if (n%2 == 0) {  // 条件分岐処理
            System.out.println(n);
        }
    }
}

(3) PHPの場合

<?php
$n = 1;  // 変数定義

for ($n = 1; $n <= 10; $n++) {  // 繰り返し処理
   if ($n%2 == 0) {  // 条件分岐処理
       echo $n."\n";
   }
}
?>

(4) JavaScriptの場合

let n;  // 変数定義

for (n = 1; n <= 10; n++) {  // 繰り返し処理
   if (n%2 == 0) {  // 条件分岐処理
       console.log(n)
   }
}

いかがでしょう?わずかな書き方の違いこそあれ、変数の使い方やfor文の動き、if文の動きは似ていることが分かるかと思います。

つまり冒頭でも記載したとおり、

これら基本文法を身につけることで、どの言語を学ぶときでも比較的楽に学習することができる

というのが何となく伝わったんじゃないかなと思います。

それでは以降で、上に登場した「変数」、「for文」、「if文」、さらに「関数」について解説していきます。以降の解説では、駆け出しの方の使用頻度が高いであろう(タブン)JavaScript で書いていきます。

2. 変数とは

よく言われるのは、値を入れておく箱って説明ですね。概ねその通りです。

変数の説明の前に、まずはJavaScriptで文字列出力してみましょう。

console.log("Hello World")

これで画面上に"Hello World"と出力されます。

文字列以外にも、数値も出力できます

console.log(123 * 10)

*は掛け算を表します。これで画面上に1230と表示されます。

では次に、円の面積を計算して出力してみましょう。円の面積の公式は、半径×半径×円周率PI(約3.14)ですね。

例えば半径5の場合だと、以下になります。

console.log(5 * 5 * 3.14)

出力結果は、「78.5」になります。

ではもっと数学に強い別のチームメンバが同じプログラムを作ったとしましょう。その人は円周率の精度を少し上げて以下のように書きました。

console.log(5 * 5 * 3.1415)

この結果は、「78.5398」になります。

同じ「円の面積」を求めるプログラムを作ったはずなのに、チームメンバ間で異なる結果となってしまいました。これは厳密な計算結果が求められる製品開発では致命的です。

ではどうすれば良いか?円周率の値を変数に格納すれば良いのです。

const PI = 3.1415  // 円周率の変数定義
const hankei = 5  // 半径の変数定義
console.log(hankei * hankei * PI)

このように変数PIを定義して、以降円周率を使う箇所ではこの変数PIを使うように統一すれば、人によっての計算結果の差異は無くなります。

これが、変数を用いるメリットのひとつです。

さらにもう一つメリットを挙げると、変数として値に名前を付けることで(上の例で言うと、円周率を表すPIと、半径を表すhankei)、ただ値を直接書くよりも意味が読み取りやすくなるという点があります。

TODO

この記事が気に入ったらサポートをしてみませんか?