次のようなファイル 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 または _ で始まる
英数字または _ からなる文字列を変数名として利用可能である.
大文字と小文字が区別される.
参考: 計算機の主要部分は