足し算をするプログラム

記事
IT・テクノロジー

足し算をするプログラム

前回はシンプルに、「Hello World」を表示するプログラムを紹介しました。今回は計算をするプログラムを紹介します。とは言っても前回と殆ど同じプログラムなので心配は入りません。今回は、プログラムの書き方よりは、どんなプログラムが便利かを理解することに重点をおきます。


足し算をするプログラムも基本は同じ!

今回は、足し算をするプログラムを紹介します。 基本的に前回の「Hello World」を表示するプログラムと同じです。 まずは、実際のプログラムを見てください。

const result = 1 + 2;
console.log(result);
これだけです!

実行方法は、前回と同じで、このファイルを「add.js」として保存します。 Windows Power Shell を開いて、ファイルを保存したフォルダに移動します。 あとは、以下のコマンドを実行するだけです。

PS C:\Users\TH\Documents> node add.js
3
PS C:\Users\TH\Documents>
「1+2」の計算結果である、「3」が表示されています。

今回は、計算結果を定数(const)である、「result」に入れて、この「result」を表示すると言うプログラムです。

実際に表示をさせる「console.log(result);」の前に実際に計算を行う数式と、定数に代入するための行が追加されています。

別の計算をしたい場合には、プログラムの数式「1 + 2」の部分を書き換えれば好きな計算を行う事ができます。同じ要領で足し算だけではなく、引き算でも、掛け算でも割り算でも実行できます。

このプログラムは不便です!

とても簡単なプログラムで、希望の計算ができることがわかりました。

しかし、このプログラムはあまり便利なプログラムではありません。わかりますか?

実は、このプログラムの問題は、違う計算をやりたい場合には、「プログラムを書き変える必要がある」と言う点です。

もちろん、ただ計算をするのが目的ならば大きな問題ではありませんが、このプログラムを色々な人に利用してもらうには不便です。自分だけで利用する場合には、好きなようにプログラムを書き換えれば良いのですが、一般の利用者の殆どの方には、いちいちプログラムを書き換えて実行するのは面倒で効率が悪いからです。

プログラムを書き換えずに、同じプログラムで違う計算ができるようにするには少し工夫が必要です。

プログラムにデータを渡す

同じプログラムで違う計算をするには、計算するデータを毎回プログラムに渡す(与える)必要があります。これが実現できると同じプログラムで、「違うデータ」を扱えるようになるので、違う計算ができるようになります。

プログラムにデータを渡す方法はいくつかあります。 最近のプログラム(アプリ)では、プログラムを起動して、データを入れる場所があって、そこにデータを入れると、プログラムにデータを渡すことができるようになっているのが普通です。この方法はもう少し後で紹介する予定です。理由は簡単でちょっと面倒だからです。

今回は、プログラムを Windows Power Shell で起動する際に渡す方法を紹介します。

Windows Power Shell のように、必要なコマンドをタイプしてプログラムを動かす仕組みを「コマンドライン」と呼んでいます。このコマンドラインに必要なデータを予めタイプすると、プログラムにデータを渡す事ができます。

今回は、実際に計算する前に、プログラムにどのようにデータが渡るかを見てみる事にします。

const data = process.argv;
console.log(data);
シンプルな2行だけのプログラムです。「test.js」と名前をつけて保存して実行してみます。

PS C:\Users\TH\Documents> node test.js
[
    'C:\\Program Files\\nodejs\\node.exe',
    'C:\\Users\\TH\\Documents\\test.js'
]
PS C:\Users\TH\Documents>
このように実行されます。 今回は、特にデータを指定せずにプログラムを実行しただけなので、二つのデータがプログラムに渡されています。「node」のプログラムの場所と、実行しているプログラム「test.js」の場所です。

では、今度は、「12345」と言うデータをプログラムを起動する際につけてみます。

PS C:\Users\TH\Documents> node test.js 12345
[
    'C:\\Program Files\\nodejs\\node.exe',
    'C:\\Users\\TH\\Documents\\test.js',
    '12345'
]
PS C:\Users\TH\Documents>
のようになります。つまり、プログラム起動の際に追加した「12345」をプログラムの中に取り込めた事を示しています。同じように「スペース」で間を開けて指定すると、プログラムにデータが渡せる事になります。二つのデータを渡したい場合には、

PS C:\Users\TH\Documents> node test.js 12345 6789
[
    'C:\\Program Files\\nodejs\\node.exe',
    'C:\\Users\\TH\\Documents\\test.js',
    '12345',
    '6789'
]
PS C:\Users\TH\Documents>
のようにすれば二つのデータを渡す事ができます。

特定のデータを取り出すには

プログラムを起動する際に、コマンドラインからプログラムにデータを渡す事ができる事がわかったところで、特定のデータをどのように取り出す方法を紹介します。

const data = process.argv;
console.log(data[2]);
console.log(data[3]);
のように、「data[2]」や「data[3]」のように指定します。

実行すると以下のようになります。

PS C:\Users\TH\Documents> node test.js 12345 6789
12345
6789
PS C:\Users\TH\Documents>
なぜ、「2」や「3」を指定するかというと、最初の「data」を表示させた実行例を見てみてください。 最初の行に「[」、最後の行に「]」が表示されていますが、これは Javascript では配列(array)と呼ばれるデータの集まりを示しています。

実行例を見ると、最初のデータは、「node」と言うコマンドで、二番目が「test.js」と言うプログラムを保存したファイル名のデータです。三番目が「12345」で四番目は「6789」です。よくみると、コマンドを起動した時にタイプしたデータで四つのデータがあることがわかります。

指定した数字のデータは、3番目と4番目です。Japvascript の配列は「0」から始まるので、最初の「node」のデータが「0番目」になるので、指定した数字のデータは、「2」と「3」と言うことになります。つまり、プログラムのファイル名のデータの次からが指定したデータになるので、「2」から始まってデータが増える度に1づつ増えていくと言う事になります。

このように、データをプログラムに渡せば、同じプログラムで別の計算ができるようになります。

まとめ
今回は、最初に足し算をするプログラムを紹介しました。 このプログラムを使えば、計算して結果を表示できます。しかし、別の計算をする度にプログラムを書き換える必要があるため、自分自身でプログラムを利用する場合には、許容範囲内の場合もありますが、あまり便利なやり方ではありません。

そこで、プログラムを変更しないで、プログラムにデータを渡して処理できるようにします。 プログラムにデータを渡す一つの方法として、プログラム起動時にコマンドラインからデータを渡す方法を紹介してみました。この方法を使えば、同じプログラムで違うデータの処理を行う事ができるようになります。今回は、簡単な足し算のプログラムと、コマンドラインからプログラムにデータを渡す方法を紹介しましたが、次回は、この方法を利用して、色々な足し算ができるプログラムに発展させて行きます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す