第一章 逻辑--真与假的二元世界

简介: 第一章 逻辑--真与假的二元世界

本章学习内容

乘车费用问题-- 兼顾完整性和排他性

车费规则

命题及真假

我们在思考问题的时候,要注意有没有遗漏和重复。排除是否有遗漏的方法就是画辅助线,用图说话

建立复杂命题

这里我们常用的图形来展示,常用的真值表和文氏图给大家一目了然的说明范围

逻辑非—不是A

¬A

真值表

文氏图

逻辑与 — A并且B

A∧B

真值表

文氏图

那我们如何来表示¬ A∧B呢?

¬ A∧B

文氏图

逻辑或 — A或者B

A∨B

真值表

文氏图

(¬A)∨(¬B)

文氏图

异或 — A或者B(但不都满足) A⊕B

真值表

文氏图

电路图

相等----A和B相等 A=B

真值表

文氏图

思考:异或的否定

蕴含—若A则B

A=>B

真值表

(¬A)∨B的真值图

B=>A文氏图

(¬B)=>(¬A)文氏图

逆否命题

A与B关系的所有真值表

摩根定律

摩根定律是什么?

(¬A)∨(¬B)可以改为¬(A∧B),(¬A)∧(¬B)可以改为¬(A∨B)。

真值表

摩根定律的特性:对偶性

卡诺图

卡诺图是简化复杂逻辑表达式的有效工具

二灯游戏

首先借助逻辑表达式进行思考

学习使用卡诺图

卡诺图是将所有命题的真假组合以二维表的形式表示的图。

卡诺图的复合框(解释)

由此我们就可以推出,所有打钩格所在的区域为

(¬A)∨B

所以我们就可以简化得知((¬A)∧B)∨ ((¬A)∧(¬B)) ∨(A∧B)是相等的。这就是卡诺图的方便简化我们的逻辑表达式。

三灯游戏

这里我们只靠想像就做不到了,老实画卡诺图

横向组合框,就是A为false的区域,因此用¬A表示

正中间组合框,就是C为true的区域,因此用C表示

因此以上我们可以表示为 (¬A)∨C

带条件的逻辑与(&&)

定义

由此可以得出

if(A&&B){
...
}

if(A){
   if(B){
   ...
   }
}

是相等的。

带条件的逻辑或(||)

由此可以得出

if(A||B){
...
}

if(A){
   
}else{
   if(B){
   ...
   }
}

是相等的。

三元逻辑中的否定(!)

定义

三元逻辑的德*摩根定律

(!A)||(!B)=!(A&&B) (!A)&&(!B)=!(A||B)

由此可以得出

if(!(x>=0 && y>=0)){
...
}

if(x<0 || y<0){
   ...
}

是相等的。

本章小结

逻辑的各种表现形式

感谢大家观看,我们下次见

目录
相关文章
|
5月前
|
存储 Shell Python
零基础学会Python编程——不同的运算:算术、关系与逻辑(1)
零基础学会Python编程——不同的运算:算术、关系与逻辑(1)
58 0
|
6月前
|
异构计算
【数字电路】Y图 | 逻辑操作符 | 布尔函数 | Combinational systems
【数字电路】Y图 | 逻辑操作符 | 布尔函数 | Combinational systems
29 0
|
9月前
|
设计模式 Java Spring
这个无敌设计,可以解析并运算任意数学表达式
下面用解释器模式来实现一个数学表达式计算器,包含加、减、乘、除运算。 首先定义抽象表达式角色IArithmeticInterpreter接口。
55 0
|
4月前
|
Java
基本概念【算术、 关系、逻辑、位、字符串、条件、优先级等运算符】(三)-全面详解(学习总结---从入门到深化)
基本概念【算术、 关系、逻辑、位、字符串、条件、优先级等运算符】(三)-全面详解(学习总结---从入门到深化)
37 0
|
4月前
|
测试技术
leetcode-241:为运算表达式设计优先级
leetcode-241:为运算表达式设计优先级
19 0
|
11月前
|
C++
C++ Primer Plus 第五章答案 循环和关系表达式
只有聪明人才能看见的摘要~( ̄▽ ̄~)~
45 0
|
存储 算法 测试技术
基于python实现通过真值表判断一个逻辑表达式
基于python实现通过真值表判断一个逻辑表达式
384 0
基于python实现通过真值表判断一个逻辑表达式
|
存储 C语言 索引
【C】操作符归纳+表达式运算原理
【C】操作符归纳+表达式运算原理
198 0
【C】操作符归纳+表达式运算原理
|
人工智能 Java Go
算数运算符细节讨论|学习笔记
本节课来看算术运算符的细节。
64 0
|
Java 数据库 C语言
初识R语言之条件循环篇
初识R语言之条件循环篇
107 0
初识R语言之条件循环篇