次のようなファイル ex3.html を作成せよ.
<script language="JavaScript"> R = 1; while( R > 0) { R = prompt("半径をいれて (0 以下の数をいれると終了) ",0); document.write("面積=", 3.14*R*R,"<BR>"); document.write("円周=", 3.14*2*R,"<BR>"); } </script>
R = prompt() は, 入力を求める window を開く. 入力された数字を変数 R に格納する.
if (R == 0) { A } は R が に等しいとき
A を実行せよという意味である.
while 文は条件がみたされた場合, あとに続くブロックを何度でも
繰り返すが, if 文は条件がみたされた場合,
あとに続くブロックは 1 度だけ実行される.
R を明示的に数値データに変換するには, 関数 eval を用いる. いまの場合は次のように eval で数値データに変換 しておく方がトラブルが少ない.
R = prompt("半径をいれて",0); R = eval(R);
実行例 ( を半径として入力した場合):
面積=28.259999999999998 円周=18.84
``かつ''(and), ``または''(or), ``否定''(not) などは, 高校数学で 習ったことと思う. 計算機のプログラムを書く場合は, これらを括弧で合成してより複雑な 条件判断を行うことが多い. これらにつき詳しく述べることはこの講義の目的ではないので, ここでは, 条件判断のための表現をまとめておくにとどめる.
記号 | 意味 | 例 |
== |
ひとしいか? | X == 1 ( ![]() |
!= |
ひとしくないか? | X != 1 ( ![]() |
! |
でない(否定) | !(X==1) ( ![]() |
&& |
かつ | (X < 1) && (X > -2)
(
![]() |
|| |
または | (X > 1) || (X < -2)
(
![]() |
A | B | A && B |
T | T | T |
T | F | F |
F | T | F |
F | F | F |
A | B | A || B |
T | T | T |
T | F | T |
F | T | T |
F | F | F |
条件判断を括弧でくくって合成してもよい. たとえば
((1 == 1) || false) && true
無限ループについて
さて
次のようなプログラムを考えよう.
<script language="JavaScript"> R = 1; while( R > 0) { R = prompt("半径をいれて (0 以下の数をいれると終了) ",0); R = eval(R); document.write("面積=", 3.14*R*R,"<BR>"); document.write("円周=", 3.14*2*R,"<BR>"); R = eval(1); } </script>文 R = eval(1); があるために while の条件が常にみたされて, このプログラムの while ループは永遠に繰り返される. 永遠に終わらないループを無限ループと呼ぶ.
条件文を間違えるとかのプログラムミスで 不幸にして無限ループに陥り, プログラムを停止しなければいけない事態になったときは, 停止したいプログラムをマウスで選択しておいて, ctrl を押しながら, alt を押しつづけ, さらに del を押す. この操作を ctrl-alt-del と書くことが多い. ``スリーフィンガー'' と呼ばれることもある.
変数名:
JavaScript では, 英字 A-Z, a-z または _
で始まる
英数字または _
からなる文字列を変数名として利用可能である.
大文字と小文字が区別される.
参考: 計算機の主要部分は