130 likes | 231 Views
情報塾( 2003.4.6 ). JavaScript( ジャバ・スクリプト) でのソフトウェア部品やプログラム文法。. if/for/switch/while. 様々なソフトウェア 部品. button( ボタン). text( テキスト). textarea( テキストエリア). メッセージボックス. スクロールバー付き. リストボックス. ラジオボタンまたはチェックボックス. i f(もし) 文. if( 条件式){文1} else{ 文2}. <HTML> <HEAD> <TITLE>IF 文 </TITLE>
E N D
情報塾(2003.4.6) JavaScript(ジャバ・スクリプト) でのソフトウェア部品やプログラム文法。 if/for/switch/while
様々なソフトウェア部品 button(ボタン) text(テキスト) textarea(テキストエリア) メッセージボックス スクロールバー付き リストボックス ラジオボタンまたはチェックボックス
if(もし) 文 if(条件式){文1} else{文2} <HTML> <HEAD> <TITLE>IF文</TITLE> <SCRIPT LANGUAGE="JavaScript"> function judge(f){ if (f.form.x.value = = "apple"){ f.form.y.value = "正解です。"; } else{ f.form.y.value = "間違いです。正解はappleです。"; } } </SCRIPT> </HEAD> <BODY> <FORM METHOD="POST"> <INPUT TYPE="button" VALUE="判定します。" onClick="judge(this)"><BR><BR> りんごは英語で何というでしょうか?下記に書いてください。<BR> <INPUT TYPE="text" SIZE=10 NAME="x"><BR> 結果です。<BR> <INPUT TYPE="text" SIZE=30 NAME="y"> </FORM> </BODY> </HTML> else(エルス):それ以外は
条件式 if(条件式){文1} else{文2} if (a= =“apple”){文1}else { 文2}:aが“apple”の時文1、それ以外文2 if (a>1){文1}else {文 2} :aが1より大きい時1、それ以外文2 if (a= =1){文1}else {文 2} :aが1の時文1、それ以外文2 if (a= =1 && b==1){文1}else { 文2} :aが1かつbが1のとき文1、それ以外文2 if (a= =1 || b= =l”){文1}else {文2} :aが1またはbが1のとき文1、それ以外文2 AND(アンド) OR(オア) else(エルス):それ以外は
ANDとOR(アンド・オア) AND(&&) (かつ) A AND B OR( || ) (または) A OR B NOT(! ) A NOT A
ANDとOR(アンド・オア) AND(&&) (かつ) OR( || ) (または) NOT(! ) Aが1ならこの条件式の 値は1、Aが1でなかったら この条件式の値は0 aが1でなかったらこの条件式の値は1、aが1だったらこの条件式の値は0 a!=1 a= =1 && b==1
for 文 <HTML> <HEAD> <TITLE>For 文</TITLE> <SCRIPT LANGUAGE="JavaScript"> function calc(f){ saisyo=eval(f.form.x.value); saigo=eval(f.form.y.value); goukei=0; for (i=saisyo; i<saigo+1;i++){ goukei=goukei+i;} f.form.z.value=goukei; } </SCRIPT> </HEAD> <BODY> <FORM METHOD="POST"> <INPUT TYPE="button" VALUE="計算します。" onClick="calc(this)"><BR> 下記の数字から<BR> <INPUT TYPE="text" SIZE=10 NAME="x"><BR> 下記の数字までの<BR> <INPUT TYPE="text" SIZE=10 NAME="y"><BR> 数字をすべて足したものを下記に表示します。<BR> <INPUT TYPE="text" SIZE=10 NAME="z"><BR> </FORM> </BODY> </HTML> for(i=0 ; i<3 ; i++){文} iを0から始め、3未満の間、iを+1 しながら{ }で囲まれた文を実行する。 初期値 終了条件式 増減式 変数(入れ物)
saisyo: saigo: goukei: i: 2 5 0 saisyo: saigo: goukei: i: saisyo: saigo: goukei: i: saisyo: saigo: goukei: i: saisyo: saigo: goukei: i: 2 2 2 2 5 5 5 5 14 9 2 5 2 5 4 3 for 文 最初 1回目 +1 2回目 +1 3回目 +1 4回目 i<saigo+1を満たさないので5回目はやらない。
switch(スイッチ) 文 <SCRIPT LANGUAGE="JavaScript"> function gako(f){ switch (f.value) { case “1” : f.form.z.value="学校は駒場東邦です。"; break; case “2” : f.form.z.value="学校は麻布です。"; break; case “3” : f.form.z.value="学校は開成です。"; break; } } </SCRIPT> </HEAD> <BODY> <FORM METHOD="POST"> あたたは誰ですか、あなたの学校をあてます。<BR> <INPUT TYPE="radio" NAME="simei" VALUE="1" onClick="gako(this)">沖総一朗<BR> <INPUT TYPE="radio" NAME="simei" VALUE="2" onClick="gako(this)">広瀬将大<BR> <INPUT TYPE="radio" NAME="simei" VALUE="3" onClick="gako(this)">溝口晃<BR> <INPUT TYPE="text" SIZE=20 NAME="z"><BR> </FORM> </BODY> </HTML> switch(値){ case 1:文;break; case 2:文;break; case 3:文;break; } ラジオボタンまたはチェックボックス
<HTML> <HEAD> <TITLE>whileプログラム</TITLE> <SCRIPT LANGUAGE="JavaScript"> function calc(f){ a=eval(f.form.x.value); b=eval(f.form.y.value); if (a>b) {min=b;} else {min=a;} while (min>1){if(a%min= =0 && b%min= =0){break;} min=min-1; } f.form.z.value=min;} </SCRIPT></HEAD> <BODY> <FORM METHOD="POST"> <INPUT TYPE="button" VALUE="計算します。" onClick="calc(this)"><BR> この数字と<BR> <INPUT TYPE="text" SIZE=10 NAME="x"> <BR>この数字の<BR> <INPUT TYPE="text" SIZE=10 NAME="y"> <BR>最大公約数を計算します。<BR> <INPUT TYPE="text" SIZE=10 NAME="z"><BR> </FORM> </BODY></HTML> while(ホワイル) 文 while(条件式){文1} 条件式を満足する限り文1を 繰り返し実行する。 最大公約数 : 両方の数を割り切れる数の内、最大のもの。
while(ホワイル) 文 while (min>1){ if(a%min= =0 && b%min= =0){break;} min=min-1; } 最初 min: a: b: 18 18 24 18÷18=1余り0 24÷18=1余り6 %演算子は余りを示す 18%18=0 24%1=6 両方とも余りが0だったら break;が実行され ループ{ }から抜ける. 次回 min: a: b: 17 18 24
練習問題 このようなプログラムはどう書けばいいでしょう? つまり算数や数学の問題はプログラムで解くことができる。
What’s next • プログラムファイルやデータファイルはどのような形でPCの中に入っているのだろう? • ビット・バイト・2進数・16進数・アスキーコード • HTMLファイルというのはどんなふうに書けばよくて、どんなことができるのだろう。 • HTML文法・ハイパーリンク • プログラム(ソフト)というのはどう書けばいいのだろう。 • WORDやEXCELやパワーポイントでどんな事ができるのだろう。 • PCの中はどうなっているのだろう。 • CPU/メモリ/チップセット/インターフェイス • CPUとメモリがどんなふうに動くのだろう。 • 電子回路・アドレスバス・データバス・メモリ構造