真值表解题

真值表解题
真值表解题

1、根据下列条件,列出真值表,并据表回答:甲,乙,丙三人的名次. 甲,乙,丙三人争夺围棋比赛前三名,小毛预测:如果甲是第一,那么丙是第二:小田预测:甲是第一,当且仅当丙是第二.

事实证明,小毛与小田两人中有并且只有一人预测正确.

2、列出A、B、C三判断的真值表,并回答:当A、B、C中恰有两假时,能否断定甲法院所有法官都是党员、能否断定乙法院有些法官不是党员?

A:只有甲法院有些法官不是党员,乙法院所有法官才是党员

D:甲法院所有法官都是党员并且乙法院所有法官都是党员

C:或者甲法院所有法官都是党员或者乙法院所有法官都是党员

3、用真值表方法解答:丁的话能否成立?为什么?

甲:如果小李不是第二,那么小王不是第一。

乙:只有小王不是第一,小李才是第二。

丙:小王第一,当且仅当小李不是第二。

丁:甲、乙、丙三人的话都不对。

4、请列出A、B两个判断的真值表,并回答两个判断均真时,张李二人是否参加破案: A:如果张参加破案,则李也参加破案;

B:李没有参加破案。

5、设下列A、B、C三句话中一句为真,两句为假,请列出真值表回答甲是不是罪犯?乙是不是罪犯?

A:如果甲是罪犯,那么乙是罪犯;

B:如果乙是罪犯,那么甲罪犯;

C:乙不是罪犯。

逻辑函数真值表生成程序

逻辑函数真值表生成程序 (一)实验任务: 设计一个能生成具有13个输入逻辑变量的逻辑函数真值表生成程序。 功能要求: 规定函数文本的书写方式,将逻辑函数写入文本文件中(如 logic_funs.txt); 2,程序从包含有逻辑函数表达式的文本文件(如logic_funs.txt)中读入变量个数和函数 3,函数运算优先顺序的识别与函数运算转换 4,得到函数输出结果 5,将真值表存入文本文件(如truth_table.txt)中。 6,逻辑函数表达式的文本文件及真值表文本文件的文件名应能独立输入。 扩展设计: 将原要求实现的过程扩展为具有8个函数处理能力的程序。 (二)实验方法:

(三)功能实现: 1. 函数文本的书写方式:函数值+函数体,注意函数以分号结束,如: F=(A+B'+C*D*E*(F*G+H+I))*X+Y*W*Z*(A+B+C*H*F); 2.采用文件流形式从文本文件读入函数表达式,并将真值表写入文本文 件中,文件地址既可采用当前目录的默认地址,也可采用自定义的路 径。 3. 函数运算优先顺序的识别与函数运算转换通过两个顺序栈(sk1存储 运算符,sk2存储操作数)来实现。 算法描述: 从左到右扫表达式,如读入的是操作数,则压入操作数栈sk2;入读入的是操作符,则需按一下规则进一步判断: 1) 若读入的是左括号“(”,或读入的运算符优先级大于栈顶运算符优先 级,则将读出的符号进运算符栈,然后依次读下一个符号,注意括号并 未参与运算符优先级比较,故需特别判断; 2) 若读出的符号为表达式结束符“;”,且运算符栈顶也是表达式结束符 “;”,则表达式处理结束; 3) 非运算符“‘”直接对操作数栈顶元素运算,运算结果进操作数栈,非 运算符不进栈; 4) 若读出的符号为右括号“)”,且运算符栈顶是左括号“)”,则表示 括号内的表达式处理结束,将左括号“)出栈,然后依次读入下一个符 号; 5) 如读入的运算符优先级不大于栈顶运算符优先级,则从操作数栈依次推 出两个操作数,从运算符栈退出一个运算符,将这两个操作数按这种运 算符做相应运算,并将运算结果压入操作数栈。注意在这种情况下,当 前读出的操作符下次将重新考虑,即(不再读下一个符号); 例如:对函数表达式F=(X+Y+Z)*X'*Y; a.初始状态 b.读出(、X、+、Y topp-> OPS topv-> OVS OPS OPS

真值表化简法

在设计逻辑电路图时,由真值表直接得到的函数往往比较复杂。代数法和卡诺图法等方法对于变量数目较多的逻辑函数则效果不佳,本文介绍一种可以化简复杂逻辑函数的方法──表格法,该方法可以对变量数目较多的逻辑函数也可以进行化简。 2、原理 在介绍化减法之前,先说明三个概念: 蕴涵项──在函数的任何积之和式中,每个乘积项称为该函数的蕴涵项。对应于卡诺图中的任一标1单元(最小项)以及2m个相邻单元所形成的圈都是函数的蕴涵项。 素项──若函数的一个蕴涵项不是该函数中其它蕴涵项的一个子集,则此蕴涵项称为素蕴涵项,简称素项。 实质素项──若函数的一个素项所包含的某一最小项,不包括在该函数的其它任何素项中则此素项称为实质素蕴涵项,简称实质素项。 列表化简法的基本原理是利用逻辑函数的最小项,通过对相邻最小项的合并,消去多余变量因子,获得逻辑函数的最简式的。列表化简法的思路是先找出给定函数F的全部素项,然后找出其中的实质素项;若实质素项不能覆盖F的所有最小项,则进一步找出所需素项,以构成F的最简素项集。 下面用列表化简法将下列函数化简为最简与或表达式。 F(A,B,C,D)=Σ(0,3,4,5,6,7,8,10,11) 3、建立素项表 首先,找出给定函数的全部素项。 (1)先将每个最小项所对应的二进制数按其“1”的个数分组得表1; 表1 最小项

(2)将表1中的相邻两个组之间二进制数进行比较、合并得到一次化简结果,称为一次乘积项,其项号记为i(j-i),其中i为最小项中的小项号,j为最小项中的大项号,得表2; 表2 一次乘积项

(3)再将表2中的相邻两组内的二进制数进行比较、合并、便得到第二次化简结果,称为二次乘积项,其项号记为i(n,m),其中i为两个一次乘积项中的小项号,n为原最小项的项号差,m为一次乘积项的项号差,得表3; 表3 二次乘积项 不能与其它一次乘积项合并的一次乘积项是素项,分别以a,b,c,d,e,f记之,不能合并的二次乘积项也是素项,以g记之。

离散数学真值表

逻辑异或: A ∧ B 描述如下: 什么是逻辑异或? 即两个数(例如a和b),相同(两者都为真或两者都为假)时,逻辑异或后即为假(通常用0表示),不同(一方为真,一方为假)时,逻辑异或后即为真( 通常用1表示) a b 逻辑异或 0 0 0 0 1 1 1 0 1 1 1 0

邏輯合取 例如,採用兩個命題變數,A和B和邏輯運算符 "AND" (∧), 表示合取 "A 與 B" 或A∧B。在普通英語中,如果 A 和 B 都是真的,那麼合取 "A∧B" 是真的;在所有的對A∧B的真值的可能指派,合取都是假的。這種聯繫定義如下:

[編輯]邏輯析取 OR (∨) 關係定義如下: [編輯]邏輯與非 可以構造複合的表達式,使用圓括號來指示優先順序。 合取的否定? (A∧B) ≡A∧B, 和否定的析取? A∨? B描述如下: A B A∧B A∧B?A?B?A∨?B F F F T T T T F T F T T F T T F F T F T T

[編輯]邏輯或非 真值表可以用來證明邏輯等價。 析取的否定? (A∨B) ≡A∨B,和否定的合取? A∧? B描述如下: A B A∨B A∨B?A?B?A∧?B F F F T T T T F T T F T F F T F T F F T F T T T F F F F

P Q P∧Q P∨Q P∧Q P∨Q P→Q P←Q P?Q F F F F F T T T T F T F T T F T F F T F F T T F F T F T T T T F T T T T 註解: T = 真,F = 假

看懂真值表.

1.最小项的基本概念 由A、B、C三个逻辑变量构成的许多乘积项中有八个被称为A、B、C的最小项的乘积项,它们的特点是 1. 每项都只有三个因子 2. 每个变量都是它的一个因子 3. 每一变量或以原变量(A、B、C)的形式出现,或以反(非)变量(A、B、C)的 形式出现,各出现一次 一般情况下,对n个变量来说,最小项共有2n个,如n=3时,最小项有23=8个 2.最小项的性质 为了分析最小项的性质,以下列出3个变量的所有最小项的真值表。 由此可见,最小项具有下列性质: (1)对于任意一个最小项,只有一组变量取值使得它的值为1,而在变量取其他各组值时,这个最小项的值都是0。 (2)不同的最小项,使它的值为1的那一组变量取值也不同。 (3)对于变量的任一组取值,任意两个最小项的乘积为0。 (4)对于变量的任一组取值,全体最小项之和为1。 3.最小项的编号 最小项通常用m i表示,下标i即最小项编号,用十进制数表示。以ABC为例,因为它和011相对应,所以就称ABC是和变量取值011相对应的最小项,而011相当于十进制中的3,所以把ABC记为m3按此原则,3个变量的最小项

二、逻辑函数的最小项表达式 利用逻辑代数的基本公式,可以把任一个逻辑函数化成一种典型的表达式,这种典型的表达式是一组最小项之和,称为最小项表达式 。下面举例说明把逻辑表达式展开为最小项表达式的方法。例如,要将 化成最小项表达式,这时可利用的基本运算关系,将逻辑函数中的每一项都化成 包含所有变量A、B、C的项,然后再用最小项下标编号来代表最小项,即 又如,要将化成最小项表达式,可经下列几步: (1)多次利用摩根定律去掉非号,直至最后得到一个只在单个变量上有非号的表达式; (2)利用分配律除去括号,直至得到一个与或表达式;

逻辑式与真值表

课题:逻辑式与真值表 课时:两课时 教学目标:1、了解逻辑式的概念; 2、会填写逻辑式的真值表; 3、理解等值逻辑式的涵义; 4、能够判断逻辑式是否等值 教学重点:理解等值逻辑式的概念,并能判断逻辑式是否等值。 教学难点:填写逻辑式的真值表 教学过程: 一、创设情境,导入课题 A 、A ·(B+C )、[(A B)+C] + D 、1、0 有常量1、0以及逻辑变量经逻辑运算构成的式子叫做逻辑代数式,简称逻辑式。 逻辑运算的优先次序依次为“非运算”、“与运算”、“或运算”,如果有添加括号的逻辑式,首先要进行括号内的运算。 二、动脑思考,探索新知 列出逻辑变量的一切可能取值与相应的逻辑式的值的表,叫做逻辑式的真值表。 问题1:试写出AB B A +?的真值表。 A B AB B A +? 1 1 1 0 0 1 0 分析:可以先写出B A ?和AB ,再计算AB B A +? 问题2:试写出B A +与B A ?的真值表,并观察它们值的关系 A B A+B B A + A B B A ? 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1

如果对于逻辑变量的任何一组取值,两个逻辑式的值都相等,这样的两个逻辑式叫做等值逻辑式,等值逻辑式可用“=”连接,并称为等式。需要注意,这种相等是状态的相同。 问题3:用真值表验证下列等式是否成立 A·(B+C)=A·B+A·C A B C B+C A·(B+C)A·B A·C A·B+A·C 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 可以看出对于逻辑变量的任何一组值,A·(B+C)与A·B+A·C的值都相同,所以A·(B+C)=A·B+A·C。 随堂练习 1.填写下列真值表,并判断有没有等值逻辑式 (1) A B A·B B A?B A+ (2) A B A+B B A? A+B

离散数学,逻辑学,命题公式求真值表

离散逻辑学实验 班级:10电信实验班学号:Q 姓名:王彬彬 一、实验目的 熟悉掌握命题逻辑中的联接词、真值表、主范式等,进一步能用它们来解决实际问题。 二、实验内容 1. 从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、条件和双条件的真值。(A) 2. 求任意一个命题公式的真值表(B,并根据真值表求主范式(C)) 三、实验环境 C或C++语言编程环境实现。 四、实验原理和实现过程(算法描述) 1.实验原理 (1)合取:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P∧Q, 读作P、Q的合取, 也可读作P与Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = T, Q = T时方可P∧Q =T, 而P、Q只要有一为F则P∧Q = F。这样看来,P∧Q可用来表示日常用语P与Q, 或P并且Q。 (2)析取:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P∨Q, 读作P、Q的析取, 也可读作P或Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = F, Q = F时方可P∨Q =F, 而P、Q只要有一为T则P∨Q = T。这样看来,P∨Q可用来表示日常用语P或者Q。 (3)条件:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P→Q, 读作P条件Q, 也可读作如果P,那么Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = T, Q = F时方可P→Q =F,

其余均为T。 (4)双条件:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P←→Q, 读作P双条件于Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为当两个命题变项P = T, Q =T时方可P←→Q =T, 其余均为F。 (5)真值表:表征逻辑事件输入和输出之间全部可能状态的表格。列出命题公式真假值的表。通常以1表示真,0 表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。 (6)主范式: 主析取范式:在含有n个命题变元的简单合取式中,若每个命题变元与其否定不同时存在,而两者之一出现一次且仅出现一次,称该简单合取式为小项。由若干个不同的小项组成的析取式称为主析取范式;与A等价的主析取范式称为A的主析取范式。任意含n个命题变元的非永假命题公式A都存在与其等价的主析取范式,并且是惟一的。 主合取范式:在含有n个命题变元的简单析取式中,若每个命题变元与其否定不同时存在,而两者之一出现一次且仅出现一次,称该简单析取式为大项。由若干个不同的大项组成的合取式称为主合取范式;与A等价的主合取范式称为A的主合取范式。任意含n个命题变元的非永真命题公式A都存在与其等价的主合取范式,并且是惟一的。 五、代码设计结果:

相关主题
相关文档
最新文档