包含未定义的逻辑.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
包含未定义的逻辑.pdf

包含未定义的逻辑 ⾄此,我们学习了逻辑的基本知识。逻辑上只使⽤真 (true )和假 (false )两个值进⾏运 。命题⾮真即假,⾮假即真。 三句话不离本⾏,这就谈谈我们所关⼼的程序。程序经常会由于发⽣错误,导致退 出、崩溃、陷⼊⽆限循环、抛出异常等情况,得不到true和false 中的任何⼀个值。 为了同样能表⽰这种“得不到值”的情况,在原有的true和false基础之上,又新引⼊了⼀ 个叫undefined的值。undefined意为“未定义” 。 true 真 false 假 undefined 未定义 下⾯我们⼀起来思考使⽤true 、false 、undefined的三值逻辑。 在实际编程中经常会出现未定义的逻辑。我们这就来看看未定义逻辑的下⾯⼏种情 况。 带条件的逻辑与 待条件的逻辑或 否定 德·摩根定律 ⼀、带条件的逻辑与 () 我们⼀起来思考⼀下三值逻辑中的逻辑与 (带条件的逻辑与,conditional and ,short- circuit logical and) 。使⽤运 符 ,将A和B的带条件的逻辑与表⽰为: AB 我们仍然使⽤真值表来定义运 符 。不过,与先前有所不同,这回使⽤ true/false/undefind三种值。 (图2-34) 通过真值表,我们能得出下述结论: 不包含undefined的⾏,和逻辑与A∧B相等。 A为true时,AB和B相等。 A为false时,AB恒为false 。 A为undefined时,AB恒为undefined 。 从左往右阅读图2-34 中的每⼀⾏,将undefined解读为“这⾥计 机不进⾏任何处 理” ,就能马上理解上⾯的结论了。 A为true时,看B 。B的结果就是AB的结果。 A为false时,不⽤看B结果为false 。 A为undefined时,计 机不进⾏任何处理,因此不⽤看B ,AB的结果也为 undefined 。 这个 ,和C、Ja a 中的运 符意思相同。 我们继续看下⾯的程序。 if(AB){ ... } A为flase时,AB必为false 。A为true时,AB的值等于B 。这就是说,在判断 AB的真伪时,应根据条件A判断是否需要看B (因此称为带条件的逻辑与)。这其 实和下⾯的条件语句是相同的。 if(A){ if(B){ ... } } ⽽AB并不等于BA ,因此所谓的交换法则不成⽴。 运 符可以⽤于下⾯的逻辑。 if(check() execute()) { ... } 这时,若函数check()的值为false ,就不执⾏execute() 了。这⾥的check()起到了检查可否 执⾏execute()的作⽤。 ⼆、带条件的逻辑或(‖) 同样,我们来看⼀下三值逻辑中的逻辑或 (带条件的逻辑或)。使⽤运 符‖,将A和B 的带条件的逻辑或表⽰为 (图2-35) 。 A‖B A为true时,A ‖B必为true ;A为false时,A ‖B的值等于B 。即 if(A‖B){ ... } 和下⾯的程序是⼀样的: if(A){ ... }else{ if(B){ ... } } 三、三值逻辑中的否定(!) 三值逻辑中的否定⽤!来表⽰,即A的否定式写作 !A 就这么简单 (图2-36) ! 四、三值逻辑的德·摩根定律 ⾄此,三值逻辑的逻辑与、逻辑或以及否定都讲完了,下⾯就能探究三值逻辑的德.摩 根定律了。我们借助真值表来判断下述两个等式能否成⽴ (图2-37) 。 (!A)‖(!B)= !(AB) (!A)(!B)= !(A‖B) 我们根据真值表得知德·摩根定律在三值逻辑中确实也成⽴。 运⽤德·摩根定律,可将if语句进⾏如下变形。 if(!(x =0 y=0)){ ... }

文档评论(0)

tangtianbao1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档