UWSCで論理演算子を使う-AND,OR,XOR-

めんどくさいわ〜(n´Д`)ハー

何がじゃ?しいちゃん?

ちょっとママがごはんを作る時間にアラームをセットしてあげようと思って、UWSCでプログラミングをしているんだけど、「ごはんアラーム.uws」みたいにいっぱいIF文を書かないといけなくって。。。

//ごはんアラーム.uws

for hour = 0 to 23
  if hour = 5 then
    print "5時です、キッチンへ行く時間ですよ!"
  endif
  if hour = 7 then
    print "7時です、キッチンへ行く時間ですよ!"
  endif
  if hour = 11 then
    print "11時です、キッチンへ行く時間ですよ!"
  endif
  if hour = 14 then
    print "14時です、キッチンへ行く時間ですよ!"
  endif
  if hour = 18 then
    print "18時です、キッチンへ行く時間ですよ!"
  endif
  if hour = 21 then
    print "21時です、キッチンへ行く時間ですよ!"
  endif
next

なるほど、これは論理演算子のORを使えば解決できるの!!
(なんでこんなにご飯を作るタイミングがあるのじゃ?)

OR?もしくはってことよね?!

そうじゃ、「ごはんアラーム2.uws」のように書き変えてみるのじゃ

//ごはんアラーム2.uws

for hour = 0 to 23
  if hour = 5 or hour = 7 or hour = 11 or hour = 14 or hour = 18 or hour = 21 then
    print  hour + "時です、キッチンへ行く時間ですよ!"
  endif
next

だいぶスッキリしたわね、これはどういうこと??

IF文の中にORを入れると「もしくは〜」という様に条件を追加できるんじゃよ

なるほど hour = 5 もしくは hour = 7 もしくは、、ってい感じね(*゜ー゜)ゞ

そうじゃ、あとUWSCには同じ様なもので AND と XOR があるの

AND はなんとなくわかるな〜

日本語でいうと「かつ〜」じゃな!!使い方はこんな感じじゃ

//ごはんアラーム3.uws

パパ仕事 = false
for hour = 0 to 23
  if hour = 5 and  パパ仕事 = true then
    print  hour + "時です、キッチンへ行く時間ですよ!"
  endif
  if hour = 7 or hour = 11 or hour = 14 or hour = 18 or hour = 21 then
    print  hour + "時です、キッチンへ行く時間ですよ!"
  endif
next

最初の if の条件は hour が5時かつパパが仕事の時、、そうそう5時のごはんの準備はパパが仕事の時だけなのよ!!仕事じゃないからアラームも消えたわね

AND はわかりやすいの、XORはわかりずらいがこんな感じじゃ

//XOR.uws
 
肉 = true
魚 = true
if 肉 = true xor 魚 = true then
  print  "こんばんは肉か魚ね!!"
else
  print  "こんばんは肉も魚もやめときましょう。。"
endif

えっと、ちょっとわからないわね。。

これは肉と魚のどちらかが true の時にディナーは肉もしくは魚になるんじゃが、肉と魚の両方が true もしくは両方が false ならディナーで肉も魚も食べることはできないんじゃ。。

お肉さんとお魚さんがケンカして、どっちも食べれなくなっちゃうのね( ;∀;)

そういうことじゃ、図にするとこんな感じとなる

なるほど〜二つの条件がケンカしちゃう時はXORにすればいいのね(`-ω-*)

AND、OR、XORを使いこなせばIF文の幅がとても広がるの〜

よーし、使いこなすわよ〜٩( ‘ω’ )و

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です