next up previous contents index
: 変数と簡単なプログラム : JavaScript 言語を通してみる情報処理のしくみ : JavaScript 言語を通してみる情報処理のしくみ   目次   索引

JavaScript による計算

実習にあたっての注意事項:
以下の実習では, 全角英数を入力してはいけない. かな漢字変換を off にして入力すること.

計算機は習うより慣れろという面も多い. とりあえず計算機の前でいろいろ試してみるのが 大切である. ただし, 試しただけでおわり, 納得する努力を怠ると, 進歩しない.

例題 2.1  
  1. $3+5 \times (2-10)$ を計算しなさい.
  2. $20+2 \times \left\{ (3+\frac{2}{5})+10 \right\}$ を計算しなさい.

JavaScript では ×(かける) を * で, ÷(割る) を / で表す. JavaScript の場合は, 次のようなファイルを ``メモ帳(notepad)'' (または ``コマンドプロンプト'' の edit) で作成して, 名前 ``ex1.html'' でセーブしたあと, netscape より ファイル $\Longrightarrow$ ファイルを開く メニューで, ex1.html を選べばプログラムを実行させることが できる.

<script language="JavaScript">

  document.write(3+5*(2-10),"<BR>");
  document.write(20+2*((3+2/5)+10),"<BR>");

</script>

実際の計算と画面表示を行っているのは,

  document.write(3+5*(2-10),"<BR>");
  document.write(20+2*((3+2/5)+10),"<BR>");
の 2 行である. "<BR>" は ``改行して次の行に書け'' を意味する. 実際に実行される文以外の
<script language="JavaScript">


</script>
の部分は, いまのところ決まり文句だと思ってほしい. 最後の </script> を忘れるとプログラムが実行されないので 注意. プログラムに入力ミスがあったら, ``メモ帳'' で修正, セーブのあと, Netscape より, 再読み込み (reload) すればよい. 決まり文句の部分は
<SCRIPT Language="JavaScript">

</SCRIPT>
と大文字で書いてもよいが(小文字で書くのが最近の規格), プログラム本体は, 大文字と小文字を厳密に区別してるので注意. また, <script> タグを理解できないブラウザのために, 下のようなコメント記号で, プログラムを囲むのが慣習であるが, ここでは, やらない.
<script language="JavaScript">
<!--

  document.write(3+5*(2-10),"<BR>");
  document.write(20+2*((3+2/5)+10),"<BR>");

// -->
</script>

質問: 一度作成したファイルをメモ帳で開こうとしても, ファイルをオープンできません
ファイルのオープンダイアログが表示されたら, ``ファイルの種類'' を ``すべてのファイル (*.*)'' に変更してすべてのファイルを表示すること. メモ帳の場合初期状態は *.txt のみであり, HTML ファイルは見えない. JavaScript のファイルは abc.html みたいに, かならず .html をつけて 保存すること. .html の部分を拡張子という. 拡張子でファイルの種別をあらわすことがおおい. たとえば .txt はテキストファイルを示す. .html は, HTML 形式のファイル (JavaScript のプログラムファイルも含む) を意味する.

数学では数式のなかで, 普通の括弧の他に, 大括弧 [, ] や中括弧 {, } なども利用するが, 計算機言語では普通 (, ) しか利用しない. 従って $20+2 \times \left\{ (3+\frac{2}{5})+10 \right\}$ を計算するには, 次のように入力する.

\begin{displaymath}\verb@ 20+2*((3+2/5)+10) @ \end{displaymath}

答えは $46.8$ と表示されたであろう. a/ba/b に十分近いある有限桁の小数で変換されてから 計算される. 何故, 小数に変換されて計算されるかは, 歴史的に計算機のハードウエア が有限桁の小数計算が得意なように作成されているということに その理由を求めることができる.

例題 2.2  
  1. $\sqrt{2}$, $\sqrt{3}$ の近似値を求めよ.
  2. $\sin \frac{\pi}{6}$ の近似値を求めよ.

$x$ の平方根 $\sqrt{x}$ の近似値を計算する関数は Math.sqrt(x) なる名前で JavaScript が用意している. 計算機というのは, 基本的に有限桁の整数の四則演算 (足し算, 引き算, 掛け算, 割算) しかできない. したがって平方根の近似値を計算するには, この計算を四則演算に帰着する方法を見つけ, プログラムとして実装しないといけない. $\sqrt{x}$ の計算については, あらかじめこのような機能をもつ プログラムが, Math.sqrt(x) なる名前で組み込まれている.

ここではとりあえず $\sqrt{2}$ を計算してみよう. 今度は, 名前 ex2.html で次のようなファイルを作成しよう.

<script Language="JavaScript">

  document.write(Math.sqrt(2));

</script>
このプログラムを netscape から読み込み実行すると
1.4142135623730951
と表示される.

$\sin \frac{\pi}{6}$ の値を計算するには

<script language="JavaScript">

  document.write(Math.sin(Math.PI/6));

</script>
なるファイルを作成し実行すればよい.

練習 2.1   次の値を JavaScript で計算しなさい.
  1. $ \frac{1}{\sqrt{2}-1}$
  2. $ \sqrt{2}+1 $
上の 1 と 2 が異なる値を戻す理由を考えよ.

練習 2.2   各学科の担当教官か TA の人に出席のレポートを送ること. (メールアドレスは講義中に連絡する.) 内容は実習中にやったことや疑問点等を書くこと. この E-mail は,
nobuki@math.kobe-u.ac.jp
にも CC (同報) すること. (CC の意味は 1.1.3 節を見よ).

プログラムのエラーは Java Console の表示をみると参考になる.



Nobuki Takayama 平成15年12月5日