JavaScript でif文の条件分岐・switch文を使った分岐
とりあえず先に解説
ちょっとむつかしくなってきた気配!....φ(・ω・` )
問1ー問3: if文による条件分岐
<script type="text/javascript"> var n; s = prompt( "入れてもらうものを指定する日本語でおk" ); if ( 条件式 ) { 条件式が真の場合の処理 } else { 条件式が偽の場合の処理 } </script>
・問1はそのまんま、n > 0 かどうか。
・問2の n % 3 == 0とは、nが3の倍数かどうか判定するために、nを3で割ってみてます。割り切れたら3の倍数です。
=を一つだけしか書かないと代入演算になって等しいかどうかの判定にならないので注意!
式 | true | false |
---|---|---|
a > b | a が b より大きい | a が b 以下 |
a < b | a が b より小さい | a が b 以上 |
a >= b | a が b 以上 | a が b より小さい |
a <= b | a が b 以下 | a が b より大きい |
a == b | a が b に等しい | a が b に等しくない |
a != b | a が b に等しくない | a が b に等しい |
・問3もそのまんま。
問4ー問6: switch文による条件分岐
<script type="text/javascript"> var n; s = prompt( "入れてもらうものを指定" ); switch( s ){ case "a": aの場合の処理 break; case "b": bの場合の処理 break; ... ... default: どのケースにもあたらない場合の処理 break; }
問7:else if による条件分岐
各企業の就活サイトでよく見たシステム。変なごあいさつをしてくれるやつは else if で書かれていたの巻
<head> </head> <body> <script type="text/javascript"> var n; n = prompt( "0から23の数を入力してください" ); if ( 0 <= n && n < 6 ) { document.write( "よい子は寝る時間ですよ〜.", "<br>" ); } else if ( 6 <= n && n < 10 ) { document.write( "おはようございます,今日も一日がんばりましょう.", "<br>" ); } else if ( 10 <= n && n < 18 ) { document.write( "こんにちは,調子はどうですか?", "<br>" ); } else if ( 18 <= n && n < 24 ) { document.write( "こんばんは,そろそろ寝る準備開始.", "<br>" ); } else { document.write( "0から23の数を入力してください", "<br>" ); } </script> </body>
そんなで回答
<html> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title>第三回課題</title> </head> <body> <H1>第三回課題</H1> <H4>問1</H4> <p>nを読み込んで,nが正の数かどうか判定するプログラムを書きなさい.<br> データの読み込みはprompt()を使います.</p> <script type="text/javascript"> var n; n = prompt( "数字を入力してください" ); if ( n > 0 ) { document.write("nは正の数です."); } else { document.write("nは正の数ではありません."); } </script> <H4>問2</H4> <p>nを読み込んで,nが3の倍数かどうか判定するプログラムを書きなさい.</p> <script type="text/javascript"> var n; n = prompt( "数字を入力してください" ); if ( n % 3 == 0 ) { document.write("nは3の倍数です."); } else { document.write("nは3の倍数ではありません."); } </script> <H4>問3</H4> <p>2つの数xとyを入力し、xがyで割り切れるかどうか答えるプログラムを書きなさい.</p> <script type="text/javascript"> var x,y; x = prompt( " x の値を入力してください" ); y = prompt( " y の値を入力してください" ); if ( x % y == 0 ) { document.write(" x は y で割り切れます."); } else { document.write(" x は y で割り切れません."); } </script> <H4>問4</H4> <p>switch文を使った月の英語名を出力するプログラムを完成させなさい.</p> <script type="text/javascript"> var s; s = prompt( "1から12の数を入力してください" ); switch ( s ) { case "1": document.write( "january", "<br>" ); break; case "2": document.write( "february", "<br>" ); break; case "3": document.write( "march", "<br>" ); break; case "4": document.write( "april", "<br>" ); break; case "5": document.write( "may", "<br>" ); break; case "6": document.write( "june", "<br>" ); break; case "7": document.write( "july", "<br>" ); break; case "8": document.write( "august", "<br>" ); break; case "9": document.write( "september", "<br>" ); break; case "10": document.write( "october", "<br>" ); break; case "11": document.write( "november", "<br>" ); break; case "12": document.write( "december", "<br>" ); break; default: document.write( "1から12の数を入力してください" ); break; } </script> <H4>問5</H4> <p>上の問題のswitch文でbreak文を省略するとどのような動きをするか確かめなさい.<br> <br> 入力した数字の月以降の月がすべて表示される。</p> <H4>問6</H4> <p>数字の0が入力されると「日曜日」,1が入力されると「月曜日」・・・のように表示されるプログラムを書きなさい.</p> <script type="text/javascript"> var s; s = prompt( "0から6の数を入力してください" ); switch ( s ) { case "0": document.write( "日曜日", "<br>" ); break; case "1": document.write( "月曜日", "<br>" ); break; case "2": document.write( "火曜日", "<br>" ); break; case "3": document.write( "水曜日", "<br>" ); break; case "4": document.write( "木曜日", "<br>" ); break; case "5": document.write( "金曜日", "<br>" ); break; case "6": document.write( "土曜日", "<br>" ); break; default: document.write( "0から6の数を入力してください" ); break; } </script> <H4>問7</H4> <p>入力値に応じて以下のようなメッセージを出力するプログラムを書きなさい.</p> <script type="text/javascript"> var n; n = prompt( "0から23の数を入力してください" ); if ( 0 <= n && n < 6 ) { document.write( "よい子は寝る時間ですよ〜.", "<br>" ); } else if ( 6 <= n && n < 10 ) { document.write( "おはようございます,今日も一日がんばりましょう.", "<br>" ); } else if ( 10 <= n && n < 18 ) { document.write( "こんにちは,調子はどうですか?", "<br>" ); } else if ( 18 <= n && n < 24 ) { document.write( "こんばんは,そろそろ寝る準備開始.", "<br>" ); } else { document.write( "0から23の数を入力してください", "<br>" ); } </script> </body> </html>