JScript+WSHでプログラミング基礎100本ノック その27~その28 case文
その27 1行のif文
課題
何月かを数値で指定すると、その月に何日あるか(28日、30日、31日 ※うるう年は考慮しない)を例えば"10月は31日あります"とプロンプトに表示して下さい。
仕様
・変数 month に数値を入れ、値は10とすること
・変数 day に数値を入れ、月の日数を格納する
・if文を用いること
ヒント
・if文を1行で書くと下記のような文法となる。
if (条件式) 条件式が真(true)のときの処理;
コード例
main.js
--------
var month = 10;
var day;
if(month == 1) day = 31;
if(month == 2) day = 28;
if(month == 3) day = 31;
if(month == 4) day = 30;
if(month == 5) day = 31;
if(month == 6) day = 30;
if(month == 7) day = 31;
if(month == 8) day = 31;
if(month == 9) day = 30;
if(month == 10) day = 31;
if(month == 11) day = 30;
if(month == 12) day = 31;
WScript.echo(month + "月は" + day + "日まであります");
出力結果
10月は31日まであります
続行するには何かキーを押してください . . .
※monthを2や7など他の数字にして動作を試してみてください
解説
この書き方は個人的には見やすさはあると思いますが、あまり推奨されないと思います。
例えばmonth = 1のときに、最初のif文でdayが決定するのに、month == 2以降のコードも動いてしまうので動作が遅くなってしまうと思います。
その28 case文
課題
何月かを数値で指定すると、その月に何日あるか(28日、30日、31日 ※うるう年は考慮しない)を例えば"10月は31日あります"とプロンプトに表示して下さい。
仕様
・変数 month に数値を入れ、値は10とすること
・変数 day に数値を入れ、月の日数を格納する
・case文を用いること
ヒント
・case文は下記のような文法となる。
switch( 変数 ) {
case 値1:
変数==値1の場合の処理
break;
case 値2:
変数==値2の場合の処理
break;
case 値3:
変数==値3の場合の処理
break;
...
default:
どの条件にも一致しない場合の処理
}
コード例
main.js
--------
var month = 10;
var day;
switch(month){
case 1:
day = 31;
break;
case 2:
day = 28;
break;
case 3:
day = 31;
break;
case 4:
day = 30;
break;
case 5:
day = 31;
break;
case 6:
day = 30;
break;
case 7:
day = 31;
break;
case 8:
day = 31;
break;
case 9:
day = 30;
break;
case 10:
day = 31;
break;
case 11:
day = 30;
break;
case 12:
day = 31;
break;
default:
WScript.echo("月の指定が誤っています");
}
WScript.echo(month + "月は" + day + "日まであります");
出力結果
10月は31日まであります
続行するには何かキーを押してください . . .
※monthを2や7、13など他の数字にして動作を試してみてください
この記事が気に入ったらサポートをしてみませんか?