まとめて質問する

面積を求める問題(前回の続き)

次の図形の（灰色の部分の）面積を計算します。

赤い線で示した長方形を考えます。

このように分割したときのそれぞれの部分の面積を a, b, c, d とすると、灰色の部分の面積は a-b-c+d で求まることがわかります。

a の面積は (8+6)*(6+6+5)

b の面積は 8*5

c の面積は 4*3

d の面積は 6*6*3.1416/2

で求まります。

a,b,c,d４つの変数に値を覚えながら計算するには 次のように入力します。

JS> a = (8+6)*(6+6+5) ;238JS> b = 8*5 ;40JS> c = 4*3 ;12JS> d = 6*6*3.1416/2 ;56.5488JS> a-b-c+d242.5488

入力した部分だけをとりだしてみると、このようになります。

a = ( 8+ 6)*( 6+ 6+ 5);
b = 8* 5;
c = 4* 3;
d = 6* 6* 3.1416/ 2;
a- b- c+ d

１つずつ質問を入力しては答を得るのではなく、いくつかまとめて質問できると便利ですね。 それには質問内容をファイルに記述しておき、そのファイルを読んで処理するように指示します。 処理内容を記述したものをスクリプト またはプログラム と呼びます。

例えば、上で示した５行分を ex0516.js というファイルに記述して保存した場合

JS> load('ex0516.js')

と入力することで、このファイルから１行ずつ順に読んで計算してくれます。

しかし、この方法で実行した場合には計算結果は表示されません 。 処理（計算）はされますが、１行ごとの結果は表示しないことになっています。 たくさんの計算をまとめて行うときにはこの方が便利だからです。

結果を表示するには、表示するための指示が必要です。

print 文

プログラム（スクリプト）を load すると、１行ずつ順に処理（計算）はされますが、その計算結果は表示されません。 結果を表示するには、 print文（print命令）を使います。

書き方は

print ( 内容 ) ;

です。

以下の説明では、プログラム として記述する部分は行番号付き で表示しています。 プログラム内に行番号は記述しません。

書き方１

内容の部分に計算式を書くと、計算結果を表示します。

例

print ( 6* 4/ 2 );

この内容をテキストエディタで入力し、ファイルsample1.jsに保存した後、 load命令を用いて実行させると次のようになります。

JS> load( 'sample1.js')12

書き方２

文字を表示するには’（シングルクオート）で挟んで書きます。

’で挟んだ部分には日本語を記述することもできます。

’を表示したいときは’の代わりに”（ダブルクオート）で挟んで記述します。

例

print ( ' プログラミング入門' );

プログラムをsample2.jsに記述し、load命令を用いて実行させると次のようになります。

JS> load( 'sample2.js')プログラミング入門

書き方３

数行にわたる表示を行いたいときは、行数分のprint 文を書けばよい。

記述した順に実行され、順に表示されます。

例

print ( ' プログラミング入門' );
print ( 12 + 3 );

プログラムをsample3.jsに記述し、load命令を用いて実行させると次のようになります。

JS> load( 'sample3.js')プログラミング入門15

書き方４

文字や計算結果をいくつか同じ行に並べて表示したいときは、,（カンマ）で区切って記述します。

３つ以上並べて書くこともできます。

例

print ( ' 答え', 5* 6 );

プログラムをsample4.jsに記述し、load命令を用いて実行させると次のようになります。

JS> load( 'sample4.js')答え 30

構文

式の部分は、四則演算を用いた計算式か、シングルクオートで挟んで書いた文字列です。他の形の式もあります。

プログラム例

面積の計算手順の最後をprint文に変更したものです。

a = ( 8+ 6)*( 6+ 6+ 5);
b = 8* 5;
c = 4* 3;
d = 6* 6* 3.1416/ 2;
print( a- b- c+ d );

これを保存しload命令を用いて実行すると、 printで指示された値だけが表示されます。