== まとめて質問する == ---- === 面積を求める問題(前回の続き) === 次の図形の(灰色の部分の)面積を計算します。 . {{attachment:menseki3a.png}} 赤い線で示した長方形を考えます。 . {{attachment:menseki3b.png}} このように分割したときのそれぞれの部分の面積を 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,d4つの変数に値を覚えながら計算するには 次のように入力します。 {{{ JS> a = (8+6)*(6+6+5) ; 238 JS> b = 8*5 ; 40 JS> c = 4*3 ; 12 JS> d = 6*6*3.1416/2 ; 56.5488 JS> a-b-c+d 242.5488 }}} 入力した部分だけをとりだしてみると、このようになります。 {{{#!java a = (8+6)*(6+6+5); b = 8*5; c = 4*3; d = 6*6*3.1416/2; a-b-c+d }}} 1つずつ質問を入力しては答を得るのではなく、いくつかまとめて質問できると便利ですね。 それには質問内容をファイルに記述しておき、そのファイルを読んで処理するように指示します。 処理内容を記述したものを'''スクリプト'''または'''プログラム'''と呼びます。 例えば、上で示した5行分を ex0516.js というファイルに記述して保存した場合 {{{ JS> load('ex0516.js') }}} と入力することで、このファイルから1行ずつ順に読んで計算してくれます。 . {{attachment:rhino2.png}} しかし、この方法で実行した場合には計算結果は'''表示されません'''。 処理(計算)はされますが、1行ごとの結果は表示しないことになっています。 たくさんの計算をまとめて行うときにはこの方が便利だからです。 結果を表示するには、表示するための指示が必要です。 ---- === print 文 === プログラム(スクリプト)を load すると、1行ずつ順に処理(計算)はされますが、その計算結果は表示されません。 結果を表示するには、 print文(print命令)を使います。 書き方は {{{ print ( 内容 ) ; }}} です。 . {{attachment:rhino3.png}} 以下の説明では、'''プログラム'''として記述する部分は'''行番号付き'''で表示しています。 プログラム内に行番号は記述しません。 ---- '''書き方1''' . 内容の部分に計算式を書くと、計算結果を表示します。 例 {{{#!java print ( 6*4/2 ); }}} この内容をテキストエディタで入力し、ファイルsample1.jsに保存した後、 load命令を用いて実行させると次のようになります。 {{{ JS> load( 'sample1.js') 12 }}} ---- '''書き方2''' . 文字を表示するには’(シングルクオート)で挟んで書きます。 . ’で挟んだ部分には日本語を記述することもできます。 . ’を表示したいときは’の代わりに”(ダブルクオート)で挟んで記述します。 例 {{{#!java print ( 'プログラミング入門' ); }}} プログラムをsample2.jsに記述し、load命令を用いて実行させると次のようになります。 {{{ JS> load( 'sample2.js') プログラミング入門 }}} ---- '''書き方3''' . 数行にわたる表示を行いたいときは、行数分のprint 文を書けばよい。 . 記述した順に実行され、順に表示されます。 例 {{{#!java print ( 'プログラミング入門' ); print ( 12 + 3 ); }}} プログラムをsample3.jsに記述し、load命令を用いて実行させると次のようになります。 {{{ JS> load( 'sample3.js') プログラミング入門 15 }}} ---- '''書き方4''' . 文字や計算結果をいくつか同じ行に並べて表示したいときは、,(カンマ)で区切って記述します。 . 3つ以上並べて書くこともできます。 例 {{{#!java print ( '答え', 5*6 ); }}} プログラムをsample4.jsに記述し、load命令を用いて実行させると次のようになります。 {{{ JS> load( 'sample4.js') 答え 30 }}} ---- '''構文''' . {{attachment:print1.png}} 式の部分は、四則演算を用いた計算式か、シングルクオートで挟んで書いた文字列です。他の形の式もあります。 ---- === プログラム例 === 面積の計算手順の最後をprint文に変更したものです。 {{{#!java 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で指示された値だけが表示されます。