「論理和」を含む日記 RSS

はてなキーワード: 論理和とは

2016-09-19

http://anond.hatelabo.jp/20160919184519

自分が知っている言語だと、「param == 0」は前提にならないと思うのですが、想定している言語を教えて頂いても構わないでしょうか?

自分の知っている言語では論理積論理和評価優先順位は同じ物ばかりで、上げられている条件分に関しては

if ((param==0 && 判定(param2)) || !param3) {~}

等価になると思われます

そのため、仮にparamが0以外だったとしても、!param3がtrue評価されるような値の場合は条件を満たすと思われるのですが。(実際node.jsのv5.11.0で試した所そのようになりました。)

http://anond.hatelabo.jp/20160919121645

追記:論理積論理和優先順位で間違いがあったため修正しました。

まず最初の条件をif分を一回終わらせて入れ子にするか、falseならreturn させるといい。

入れ子になってもとにかく自分が分かるようにするといいです。

一行で書くのはそのあとではどうだろう

if(param == 0 && test(param2)) {
   if(!param3) {
     something todo
   }
 }

また

if(!(param == 0 && test(param2))){
  return false;
}
if(test(param2) || !param3) {
  実行分
}

あと、一つの条件式で書きたいなら、括弧を使ったり、改行したりして、式の流れを細かくすると分かりやすくなる。

2:paramが0

3:かつ

4:判定関数でparam2の条件を返して、true

5:またはparam3がfalseのときtrueから

 

なのに param==0 && 判定(param2) || !param3 だと

param==0 && 判定(param2)

!param3

で別れるはず(言語によって違う可能性もありますが)

だけど、日本語言葉にすると「paramが0かつ判定関数でparam2の条件を返して、trueまたはparam3がfalseのときtrueから

となって、かかる範囲が分かりづらくなるから

から論理演算子が複数になるときは、日本語でかつ、または使うと逆に混乱するから

trueになる一つ目の条件の時は「○○」またはといったように書くと、

冗長的ですが、言葉にしても分かりやすいかと思います

それ以外には既に上げていた色んな増田の方のやり方もそうだし、

変数名で分かりやすくするというのもあるぞ。


is_children = age < 20
has_game    = check_game(param2)
if(is_children && has_game) {
  print ゲームをもったこども
}

条件式は思考ブレーキがかかるからこうやって、

変数名に置き換えること、文章として読めるからブレーキがかかりにくくなる。

と、無理にワンライナーで書かない方法を導入すると理解やすくなると思います

2015-10-05

http://anond.hatelabo.jp/20151005130243

いや、今更「ぷろぐらみんぐ」を学んだとか言って、そこで出てきた「論理和」を持ってきて論理学なんてのがあったのを知った!すごい!議論に使える!

って中二病じゃね。。。?というより、ただの馬鹿じゃね。。。?

ホント中学生ならまあ分かるけど。

http://anond.hatelabo.jp/20151005110955

是非その辺り、増田がどうしてそのような人が居ないか、

居たらどうなるのか、

居るべきなのかどうなのか、

理論理学とか論理和とかを駆使しながら論じて欲しいんだか、出来ますか?出来ないよね?馬鹿もの

2014-07-26

http://anond.hatelabo.jp/20140726071336

理論

普通に使う。

何らかの挙動モデル化して記述する際、モデル化しない(しきれない)要素はどうしても発生する。

そのような要素を考慮しないで述べる際に「理論的には○○」と言う。

例えばプログラムの実行速度をCPUクロック命令の実行サイクル数から理論的に」求めることはできるが、

実際には他のタスク割り込みメモリスワップ、温度上昇によるクロック低下などにより、実際の実行速度は理論値より低くなる。

1+1

誰が数値の加算だと言った? データ型が違えば、演算子挙動も違うんだよ。

例えばString型なら "1" + "1" は "11" になるし、

Bool型で+が論理和なら 1 + 1 は 1 だ。

2013-12-19

http://anond.hatelabo.jp/20131219204623

この試行は両方が6だった場合に限りカウントされてく(iterが増える)訳で、

まりカウントされた分はすべて両方6の場合なわけで。

これが間違い。||は論理和なので(dice1 == 6 || dice2 == 6)のどちらかが真であれば真になる。

あと実行結果はhttp://ideone.com/gIGYPsのstdoutのところを見ろ。

[1] 0.1798 0.1768 0.1912 0.1786 0.1884 0.0852

[1] 0.1712 0.1588 0.1750 0.1546 0.1656 0.1748

6個並んだ数値列が二つあるだろ。これがexperiment1とexperment2のそれぞれの実行結果。

experiment1の6番目の値だけ低いから6の目の出る確率は低い。

ログイン ユーザー登録
ようこそ ゲスト さん