JScript+WSHでプログラミング基礎100本ノック その23~その26 if文
その23 if文
課題
数値の変数が2であれば"2です"とプロンプトに表示して下さい。
仕様
・変数 num1 に数値を入れ、値は2とすること
・下記のようなエラーが出る場合は、ファイルの文字コードをSJIS(ANSI)とすること
ヒント
・num1 == 2 とすると、num1が数値の2の場合にtrue、それ以外はfalseとなる。この"num1 == 2"は条件式と呼ばれる。
・if文は下記のような文法となる。
if (条件式) {
条件式が真(true)のときの処理
}
コード例
main.js
--------
var num1 = 2;
if(num1 == 2){
WScript.echo("num1 is 2");
}
出力結果
num1 is 2
続行するには何かキーを押してください . . .
※num1を1や100など他の数字にして動作を試してみてください
解説
条件式は下記のような例があるります
・num1 が 2 : num1 == 2
・num1 は 2 ではない : num1 != 2 ※notを使用
・num1 は 2 以上 : num1 >= 2 ※大なりイコール
・num1 は 2 以下 : num1 <= 2 ※小なりイコール
・num1 は 2 より大きい: num1 > 2
・num1 は 2 より小さい: num1 < 2
これらはすべてよく使うので覚える必要があります。
その24 if-else文
課題
数値の変数が2の倍数であれば"2の倍数です"、それ以外であれば"2の倍数ではありません"とプロンプトに表示して下さい。
仕様
・変数 num1 に数値を入れ、値は5とすること
ヒント
・2の倍数かの判定は、2で割ったあまりが0かで判断可能
・if - else文は下記のような文法となる。
if (条件式) {
条件式が真(true)のときの処理
}else{
いずれの条件式も満たさない(else : その他)の場合
}
コード例
main.js
--------
var num1 = 5;
if(num1 % 2 == 0){
WScript.echo("num1は2の倍数です");
}else{
WScript.echo("num1は2の倍数ではありません");
}
出力結果
num1は2の倍数ではありません
続行するには何かキーを押してください . . .
※num1を1や4など他の数字にして動作を試してみてください
その25 if-else if -else文
課題
数値の変数が正であれば"正の値"、負であれば"負の値"、それ以外であれば"0"とプロンプトに表示して下さい。
仕様
・変数 num1 に数値を入れ、値は-1とすること
ヒント
・if - else if - else文は下記のような文法となる。
if (条件式1) {
条件式1が真(true)のときの処理
}else if (条件式2) {
条件式2が真(true)のときの処理
}else{
いずれの条件式も満たさない(else : その他)の場合
}
コード例
main.js
--------
var num1 = -1;
if(num1 > 0){
WScript.echo("正の数");
}else if(num1 < 0){
WScript.echo("負の数");
}else{
WScript.echo("0");
}
出力結果
負の数
続行するには何かキーを押してください . . .
※num1を0や1など他の数字にして動作を試してみてください
その26 三項演算子(if-else文)
課題
数値の変数が2の倍数であれば"even"、それ以外であれば"odd"とプロンプトに表示して下さい。
ただし、三項演算子を用いてること
仕様
・変数 num1 に数値を入れ、値は5とすること
・変数 str1 に"even"または"odd"を格納し、出力する
ヒント
・三項演算子は下記のような文法となる。
変数 = 条件式 ? 条件式が真(true)のときの値 : その他の場合の値 ;
コード例
main.js
--------
var num1 = 5;
var str1 = num1 % 2 == 0 ? "even" : "odd";
WScript.echo(str1);
出力結果
odd
続行するには何かキーを押してください . . .
※num1を1や4など他の数字にして動作を試してみてください
解説
個人的には、プログラミングに不慣れな人が読む可能性がある場面では使いにくい演算子です。if文で事足りますし。
ただ、シンプルに書ける点が利点なので、三項演算子を使った方がおさまりがいい場面ではコメントと合わせて使ったりします。