AND+OR 論理演算

条件分岐メニュー【AND・大文字判定・OR・NOT・AND+NOT・AND+OR】

【STEP: 1】コード

reader.on('close', () => {
   const [A, B] = lines[0].split(' ').map(Number);
   if(A >= 10 && B >= 10){  // A が10以上で 且つ B が10以上であれば…
      console.log('YES');  // 'YES'を表示
   }else{  // さもなくば…
     console.log('NO');  // 'NO'を表示
   }
  // 三項条件演算子で出力を振り分けた場合
   console.log(A >= 10 && !(B >= 10) ? 'YES' : 'NO');
});
hogeちゃんの画像

&& で「且つ」って意味ですね。

【STEP: 2】コード

reader.on('close', () => {
   const C = lines[0];
   const C_upper = C.toUpperCase();  // C を大文字に変換
   if (C === C_upper) {  // CC_upper が一致すれば…
      console.log('YES');  // 'YES'を表示
   } else {  // さもなくば…
      console.log('NO');  // 'NO'を表示
   }
});
hogeちゃんの画像

toUpperCase()で Cを大文字に変換して 元の値と比較しています。元の値が大文字の場合 (C===C_upper) は true を返してくれます。

【STEP: 3】コード

reader.on('close', () => {
   const [A, B] = lines[0].split(' ').map(Number);
   if (A >= 10 || B >= 10) {  // A が10以上 または B が10以上であれば…
      console.log('YES');  // 'YES'を表示
   } else {  // さもなくば…
      console.log('NO');  // 'NO'を表示
   }
});
hogeちゃんの画像

|| で「または」って意味ですね。

【STEP: 4】コード

reader.on('close', () => {
   const X = Number(lines[0]);
   if (!(X >= 10)) {  // A が10以上でなければ…
      console.log('YES');  // 'YES'を表示
   } else {  // さもなくば…
      console.log('NO');  // 'NO'を表示
   }
});
hogeちゃんの画像
! で 真・偽 を反転させています。

【STEP: 5】コード

reader.on('close', () => {
   const [A, B] = lines[0].split(' ').map(Number);
   if (A >= 10 && !(B >= 10)) {  // A が 10以上 かつ B が 10以上ではない場合…
      console.log('YES');  // 'YES'を表示
   } else {  // さもなくば…
      console.log('NO');  // 'NO'を表示
   }
});
hogeちゃんの画像

B の 真偽値 のみ 反転させています。

【FINAL】コード

reader.on('close', () => {
   const [X, Y, Z] = lines[0].split(' ').map(Number);
   if ((X >= 10 && Y >= 10) || Z >= 10) {
  // (Xが10以上 かつ Yが10以上)または(Zが10以上)なら…
      console.log('YES');  // 'YES'を表示
   } else {  // さもなくば…
      console.log('NO');  // 'NO'を表示
   }
});
hogeちゃんの画像

条件式が長くなりました。問題文の指示通りにすると こんな感じ…。

コメント