当前位置:文档之家› 离散数学,逻辑学,命题公式求真值表

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

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

离散逻辑学实验

班级:10电信实验班学号:Q10600132 :王彬彬

一、实验目的

熟悉掌握命题逻辑中的联接词、真值表、主式等,进一步能用它们来解决实际问题。

二、实验容

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都存在与其等价的主合取式,并且是惟一的。

五、代码设计结果:

六、代码:

#include

#include

#include

#include "conio.h"

#include "math.h"

#define N 50

void panduan(int b[N],int f);//赋值函数

int tkh (char sz[N], char ccu[N], int icu[N], int h0);//分级运算函数

int fkh (char sz[N], char ccu[N], int icu[N], int h0);//主运算函数

void zhumain()

{

int i1,i2,d=1,icu[N],kh=0,jg,j=0,h0;//icu[N]用于存放变量值,kh括号计数,jg存放结果

int bj=0,hq[N],h=0,x=0,xq[N];//hq[N]存放合取结果xq[N]存放析取结果

char sz[N],ccu[N],sz0[N],s;//sz[N]存放式子,ccu[N]存放变量,sz0[N]也是用于存放式子

hq[0]=-1;

xq[0]=-1;

printf("***************************************\n");//标语

printf("** **\n");

printf("** 欢迎进入逻辑运算软件 **\n");

printf("** (可运算真值表,主式,支持括号) **\n");

printf("** **\n");

printf("** 用!表示非 **\n");

printf("** 用&表示与 **\n");

printf("** 用|表示或 **\n");

printf("** 用^表示蕴含 **\n");

printf("** 用~表示等值 **\n");

printf("** **\n");

printf("***************************************\n\n");

printf("请输入一个合法的命题公式:\n");//输入式子

gets(sz);//读取式子

strcpy(sz0,sz);//复制式子

for(i1=0;i1

{

if(sz[i1]==')' || sz[i1]=='(')//存储括号数量

kh++;

if(sz[i1]>='a' && sz[i1]<='z' || sz[i1]>='A' && sz[i1]<='Z') {

for(i2=0;i2

if(ccu[i2]==sz[i1])//去除重复变量

d=0;

if(d==1)

{

ccu[j]=sz[i1];

j++;

}

d=1;

}

}

printf("\nd该式子中的变量个数为:%d\n",j);//输出变量个数 h0=j;

printf("\n输出真值表如下:\n \n"); //输出真值表表头

for(i1=0;i1

printf(" %c ",ccu[i1]);

printf(" ");

puts(sz);

printf("\n");

for(i1=0;i1

icu[i1]=0;

for(i2=0;i2

printf(" %d ",icu[i2]);

jg=tkh(sz,ccu,icu,h0); //用函数求结果

if(jg==0)//结果为0,合取加1

hq[h++]=bj;

else //否则,析取加1

xq[x++]=bj;

printf(" %d\n",jg);//输出运算结果

strcpy(sz,sz0);

for(i1=0;i1<(int)pow(2,j)-1;i1++)

{

++bj;

panduan(icu,j-1); //赋值变量

jg=tkh(sz,ccu,icu,h0);

if(jg==0)//结果为0,合取加1

hq[h++]=bj;

else //否则,析取加1

xq[x++]=bj;

strcpy(sz,sz0); //恢复被修改的数组。

for(i2=0;i2

printf(" %d ",icu[i2]);//输出真值表前项

printf(" %d\n",jg);//输出运算结果

}

if(hq[0]==-1)//不存在合取式时

printf("\n该命题公式不存在主合取式。\n");

else

{

printf("\n该命题公式的主合取式:\n\t");

for(i1=0;i1

{

if (i1>0)//判断并添加符号

printf("\\/");

printf("M(%d)",hq[i1]); //输出主合取式

}

}

if(xq[0]==-1)//不存在析取式时

printf("\n该命题公式不存在主析取式。\n");

else

{

printf("\n\n该命题公式的主析取式:\n\t");

for(i1=0;i1

{

if (i1>0)//判断并添加符号

printf("/\\");

printf("m(%d)",xq[i1]);//输出主析取式

}

}

printf("\n");

}

void panduan(int b[N],int f) // 二进制赋值。

{

int i;

i=f;

if(b[f]==0)//加1

b[f]=1;

else//进位

{

b[f]=0;

panduan(b,--i);

}

}

int tkh (char sz[N],char ccu[N],int icu[N],int h0)//分级运算函数{

int i,j,h,s,kh=0,wz[N],a;

char xs1[N],ckh[N]; //xs1用来保存括号的字符 ckh用来保存括号。 s=strlen(sz);

for(i=0;i

if(sz[i]=='(' || sz[i]==')')//判断括号

{

wz[kh]=i;//存储括号位置

ckh[kh]=sz[i];//存储括号类型

kh++;

}

if(kh==0)

return fkh(sz,ccu,icu,h0);//如果无括号,直接运行

else

{

for(i=0;i

if(ckh[i]==')')//找到第一个)

break;

for(j=wz[i-1]+1,h=0;j

xs1[h]='\0';

a=fkh(xs1,ccu,icu,h0);//运行最级括号的式子,得到结果

if(a==1)//判断并存储结果

sz[wz[i-1]]=1;

else

sz[wz[i-1]]=-2;

for(j=wz[i-1]+1;j

sz[j]=sz[j+wz[i]-wz[i-1]];

sz[j]='\0';

return tkh(sz,ccu,icu,h0);//循环执行

}

}

int fkh(char sz[N],char ccu[N],int icu[N],int h0)//主运算函数{

int i,h=0,j=0,j1=0,j2=0,j3=0,j4=0,j5=0,i1,i2,p1=-1,p2=-1,s; char dt[N];

s=strlen(sz);

if(s==1)

if(sz[0]==-2)//判断是否是最后一项

return 0;

else

return 1; //1 就是sz[0]的值、

else

{

for(i=0;i

if(sz[i]=='!')

{

for(i1=0;i1

if(sz[i+1]==ccu[i1])//将变量赋值并给P1

p1=icu[i1];

if(sz[i+1]==-2)//如果是前运算结果的0,则P1等于0

p1=0;

if(p1==-1)//如果是数字,直接给P1

逻辑式与真值表1

11.4 逻辑式与真值表1 【预习】第三册课本第17至18页内容. 【预习目标】了解逻辑式的定义及真值表的概念. 【导引】 1.逻辑代数式:由常量1,0以及逻辑变量经逻辑运算构成的式子,简称逻辑式. 2.逻辑式真值表:用表格的形式列出逻辑变量的一切可能值与相应的逻辑式的值的表. 3.逻辑变量只能取0或1,所得逻辑式的值也只有0或1. 4.逻辑运算的次序依次为“非运算”“与运算”“或运算”,如果有添加括号的逻辑式,首先要进行括号内的运算. 【试试看】 1.当00AB =时,逻辑式B A AB F +=的值为 . 2.使逻辑式F AB CD =+的值为1的变量组合取值有 ( ) A .1100ABCD = B .0101ABCD = C .1010ABC D = D .0010ABCD = 【本课目标】了解逻辑式的定义及其对应的真值表的概念,能够进行逻辑式与真值表的互化. 【重点】逻辑式的运算及逻辑式对应的真值表. 【难点】逻辑式与真值表的互化. 【导学】 任务1 理解逻辑式的定义,学会求逻辑式的运算结果. 【例1】写出下列各式的运算结果. (1)011?+ ;(2)001++ ;(3)0101?+? ;(4)0111++? .

【试金石】写出下列各式的运算结果. (1)101?+ ; (2)()101?+ ; (3)()0100+?+ ; (4)0100?++ . 任务2 会根据给定的逻辑式写出其对应的真值表. 【例2】列出逻辑式C A B A +的真值表. 【试金石】列出逻辑式AB B A ++的真值表. 【检测】 1. 写出下列各式的运算结果. (1)101+? ; (2)001000++?+? . 2. 列出逻辑式A B AB ++的真值表.

离散数学答案命题逻辑

第二章 命题逻辑 习题.解 ⑴不是陈述句,所以不是命题。 ⑵x 取值不确定,所以不是命题。 ⑶问句,不是陈述句,所以不是命题。 ⑷惊叹句,不是陈述句,所以不是命题。 ⑸是命题,真值由具体情况确定。 ⑹是命题,真值由具体情况确定。 ⑺是真命题。 ⑻是悖论,所以不是命题。 ⑼是假命题。 2.解 ⑴是复合命题。设p :他们明天去百货公司;q :他们后天去百货公司。命题符号化为q p ∨。 ⑵是疑问句,所以不是命题。 ⑶是悖论,所以不是命题。 ⑷是原子命题。 ⑸是复合命题。设p :王海在学习;q :李春在学习。命题符号化为p q 。 ⑹是复合命题。设p :你努力学习;q :你一定能取得优异成绩。p q 。 ⑺不是命题。 ⑻不是命题 ⑼。是复合命题。设p :王海是女孩子。命题符号化为:p 。 3.解 ⑴如果李春迟到了,那么他错过考试。 ⑵要么李春迟到了,要么李春错过了考试,要么李春通过了考试。 ⑶李春错过考试当且仅当他迟到了。 ⑷如果李春迟到了并且错过了考试,那么他没有通过考试。 4.解 ⑴p (q r )。⑵p q 。⑶q p 。⑷q p 。 习题 1.解 ⑴是1层公式。 ⑵不是公式。 ⑶一层: p q ,p 二层: p q 所以,)()(q p q p ??→∨是3层公式。 ⑷不是公式。 ⑸(p q )(q ( q r ))是5层公式,这是因为 一层:p q ,q ,r 二层:q r 三层:q ( q r ) 四层: (q ( q r )) 2.解 ⑴A =(p q )q 是2层公式。真值表如表2-1所示: 表2-1 p q q p ∨ A 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 ⑵p q p q A →→∧=)(是3层公式。真值表如表2-2所示:

离散数学自学笔记命题公式及其真值表

离散数学自学笔记命题公式及其真值表 我们把表示具体命题及表示常命题的p,q,r,s等与f,t统称为命题常元(proposition constant)。深入的讨论还需要引入命题变元(proposition variable)的概念,它们是以“真、假”或“1,0”为取值范围的变元,为简单计,命题变元仍用p,q,r,s等表示。相同符号的不同意义,容易从上下文来区别,在未指出符号所表示的具体命题时,它们常被看作变元。 命题常元、变元及联结词是形式描述命题及其推理的基本语言成分,用它们可以形式地描述更为复杂的命题。下面我们引入高一级的语言成分——命题公式。 定义1.1 以下三条款规定了命题公式(proposition formula)的意义: (1)命题常元和命题变元是命题公式,也称为原子公式或原子。 (2)如果A,B是命题公式,那么(┐A),(A∧B),(A∨B),(A→B),(A?B)也是命题公式。 (3)只有有限步引用条款(1),(2)所组成的符号串是命题公式。 命题公式简称公式,常用大写拉丁字母A,B,C等表示。公式的上述定义方式称为归纳定义,第四章将对此定义方式进行讨论。 例1.8 (┐(p→(q∧r)))是命题公式,但(qp),p→r,p1∨p2∨…均非公式。 为使公式的表示更为简练,我们作如下约定: (1)公式最外层括号一律可省略。 (2)联结词的结合能力强弱依次为┐,(∧,∨),→,?,(∧,∨)表示∧与∨平等。 (3)结合能力平等的联结词在没有括号表示其结合状况时,采用左结合约定。湖南省自考网:https://www.doczj.com/doc/e712760257.html,/整理 例如,┐p→q∨(r∧q∨s)所表示的公式是((┐p)→(q∨((r∧q)∨s))) 设A是命题公式,A1是A 的一部分,且A1也是公式,则A1称为公式A的子公式。

逻辑学 习题参考答案

----一、填空: 1、形式逻辑是研究思维的形式及其规律的科学。 2、概念的内涵越多,则外延越小;内涵越少,则外延越大;这种关系叫反变关系。 3、概念的矛盾关系是指a、b两概念的外延没有任何部分重合,其外延之和等于其属概念的外延。如金属和非金属。 4、定义是揭示概念内涵的逻辑方法,划分是揭示概念外延的逻辑方法。 5、当O判断为真时,同素材的判断A 假;E真假不定;I 真假不定。 6、当O判断为假时,同素材的判断A真;E 假;I 真。 7、当A判断为真时,同素材的判断E 假;O为假;I 真。 8、当A判断为真时,同素材的判断E 假;O为假;I 真。 9、关系判断由关系者项、关系项和量项三部分组成。 10、在模态判断中,必然p和可能p之间是差等关系;必然非p与可能p之间是矛盾关系。 11、在“有S不是P”中,逻辑变项是S,P;逻辑常项是有……不是。 12、一个判断的主项周延,则这个判断是全称判断;一个判断的谓项周延,则这个判断是否定判断。 13、若p∨q为真,p为真,则q取值为真假不定;若q为真,则p的取值为真。 14、若一有效三段论的结论为全称肯定判断,则其大前提应为全称肯定判断,小前提应为全称肯定判断。 25、矛盾律的要求是:在同一思维过程中,对于具有上反对和矛盾关系的判断,不应该承认它们都是真的。 26、排中律的要求是:在同一思维过程中,对于具有下反对和矛盾关系的判断,不应该承认它们都是假的。 27、若一有效三段论,其小前提为特称否定判断,则其大前提应为全称肯定判断,结论应为特称否定判断。 28、若一有效三段论,其大前提为MIP,则其小前提应为MAS,结论应为SIP。 28、思维的逻辑规律包括同一律、矛盾律、排中律和充足理由律。 29若p→q为真,则当p为真时,q的取值为真;当p为假时,q的取值为可真可假。 30、三段论第一格的特殊规则是:(1)小前提必须是肯定判断、大前提必须是全称判断。 31、复合判断包括联言判断、选言判断、假言判断和负判断等形式。 32、“只有请外国人当教练,中国足球才能走向世界。”这一判断的负判断的等值判断为就 算沒有请外国人当教练,中国足球也能走向世界。用符号表示为p∧ q。(看不清负号在 哪) 33、“我班同学都是南方来的。因此,南方来的都是我班同学。”上述推理违背了换位法推理中前提中不周延的项,结论里也不得周延的规则。正确的推理应为我班同学都是南方来的。因此,有些南方来的是我班同学。 34、在充分条件的假言判断中,前件真则后件真,前件假则后件假。 35、“只有多喝水,才能减肥”。上述假言判断的负判断是并非只有多喝水,才能减肥,用符号表示为 p←q 。 36、根据概念外延之间重合情况,可以将概念间的关系分为全同关系、真包含关系、真包含于关系、交叉关系和全异关系。 37、“苹果就是长在树上的水果”,这一定义犯了定义过宽的规则,“文学可分为戏剧、散

逻辑判断推理中常用的逻辑公式

逻辑命题与推理 必然性推理(演绎推理):对当关系推理、三段论、复合命题推理、关系推理和模态推理 可能性推理:归纳推理(枚举归纳、科学归纳)、类比推理 命题 直言命题的种类:(AEIOae) ⑴全称肯定命题:所有S是P(SAP) ⑵全称否定命题:所有S不是P(SEP) ⑶特称肯定命题:有的S是P(SIP) ⑷特称否定命题:有的S不是P(SOP) ⑸单称肯定命题:某个S是P(SaP) ⑹单称否定命题:某个S不是P(SeP) 直言命题间的真假对当关系: 矛盾关系、(上)反对关系、(下)反对关系、从属关系 矛盾关系:具有矛盾关系的两个命题之间不能同真同假。主要有三组: SAP与SOP之间。“所有同学考试都及格了”与“有些同学考试不及格” SEP与SIP之间。“所有同学考试不及格”与“有些同学考试及格” SaP与SeP之间。“张三考试及格”与“张三考试不及格” 上反对关系:具有上反对关系的两个命题不能同真(必有一假),但是可以同假。即要么一个是假的,要么都是假的。存在于SAP与SEP、SAP与SeP、SEP与SaP之间。 下反对关系:具有下反对关系的两个命题不能同假(必有一真),但是可以同真。即要么一个是真的,要么两个都是真的。存在于SIP与SOP、SeP与SIP、SaP与SOP之间。 从属关系(可推出关系):存在于SAP与SIP、SEP与SOP、SAP与SaP、SEP与SeP、SaP与SIP、SeP与SOP 六种直言命题之间存在的对当关系可以用一个六角图形来表示,“逻辑方阵图” SAP SEP SaP SeP

SIP SOP 直言命题的真假包含关系 全同关系、真包含于关系、真包含关系、交叉关系、全异关系 复合命题:负命题、联言命题、选言命题、假言命题 负命题的一般公式:并非P 联言命题公式:p并且q “并且、…和…、既…又…、不但…而且、虽然…但是…” 选言命题:相容的选言命题、不相容的选言命题 相容的选言命题公式:p或者q“或、或者…或者…、也许…也许…、可能…可能…” 【一个相容的选言命题是真的,只有一个选言支是真的即可。只有当全部选言支都假时,相容的选言命题才是假的】不相容选言命题公式:要么p要么q “要么…要么…、不是…就是…、或者…或者…二者必居其一、或者…或者…二者不可兼得” 【一个不相容的选言命题是真的,有且只有一个选言支是真的。当选言支全真或全假时,此命题为假】 假言命题:充分条件假言命题、必要条件假言命题、充要条件假言命题 充分条件假言命题公式:如果p,那么q“如果…就…、有…就有…、倘若…就…、哪里有…哪里有…、一旦…就…、假若…、只要…就…” 【有前件必然有后件。如果有前件却没有后件,这个充分条件假言命题就是假的。因此,对于一个充分条件的假言命题来说,只有当其前件真而后件假时,命题才假。】 必要条件假言命题公式:只有p,才q “没有…就没有…、不…不…、除非…不…、除非…才…” 【没有前件必然没有后件。如果没有前件也有后件,这个必要假言命题为假。对于一个必要条件的假言命题来说,只有当其前件假而后件真时,命题才假。】 充要条件假言命题公式:当且仅当p,才q 【有前件必然有后件,没有前件必然没有后件。充要条件假言命题在前件与后件等值即前件真并且后件真,或者前件假并且后件假时,命题为真,在前件与后件不等值即前真后假,或前假后真时,命题为假】 充分条件与必要条件之间可以相互转化:

离散数学自学笔记命题公式及其真值表

我们把表示具体命题及表示常命题的p,q,r,s等与f,t统称为命题常元(proposition constant)。深入的讨论还需要引入命题变元(proposition variable)的概念,它们是以“真、假”或“1,0”为取值范围的变元,为简单计,命题变元仍用p,q,r,s等表示。相同符号的不同意义,容易从上下文来区别,在未指出符号所表示的具体命题时,它们常被看作变元。 命题常元、变元及联结词是形式描述命题及其推理的基本语言成分,用它们可以形式地描述更为复杂的命题。下面我们引入高一级的语言成分——命题公式。 定义1.1 以下三条款规定了命题公式(proposition formula)的意义: (1)命题常元和命题变元是命题公式,也称为原子公式或原子。 (2)如果A,B是命题公式,那么(┐A),(A∧B),(A∨B),(A→B),(A?B)也是命题公式。 (3)只有有限步引用条款(1),(2)所组成的符号串是命题公式。 命题公式简称公式,常用大写拉丁字母A,B,C等表示。公式的上述定义方式称为归纳定义,第四章将对此定义方式进行讨论。 例1.8 (┐(p→(q∧r)))是命题公式,但(qp),p→r,p1∨p2∨…均非公式。 为使公式的表示更为简练,我们作如下约定: (1)公式最外层括号一律可省略。 (2)联结词的结合能力强弱依次为┐,(∧,∨),→,?,(∧,∨)表示∧与∨平等。 (3)结合能力平等的联结词在没有括号表示其结合状况时,采用左结合约定。 例如,┐p→q∨(r∧q∨s)所表示的公式是((┐p)→(q∨((r∧q)∨s))) 设A是命题公式,A1是A 的一部分,且A1也是公式,则A1称为公式A的子公式。 如对公式A:┐p→q∨(r∧q∨s),则p,┐p ,q ,(r∧q∨s)及q∨(r∧q∨s)都是公式A的子公式,而┐q,┐p→q,虽然是公式,但确不是A的一部分,因此不是A 的子公式;q∨(r∧虽然是公式A的一部分,但不是公式,因而也不是A的子公式。 如果公式A含有命题变元p1,p2,…,pn,记为A(p1,…,pn),并把联结词看作真值运算符,那么公式A可以看作是p1,…,pn的真值函数。对任意给定的p1,…,pn 的一种取值状况,称为指派(assignments),用希腊字母a,b等表示,A均有一个确定的真值。当A对取值状况a 为真时,称指派a弄真A,或a是A的成真赋值,记为a (A)= 1;反之称指派a弄假A,或a是A的成假赋值,记为a (A)= 0.对一切可能的指派,

离散数学(命题逻辑)课后总结

离散数学(课件上习题) 第一章 例1-1.1 判定下面这些句子哪些是命题。 ⑴2是个素数。 ⑵雪是黑色的。 ⑶2013年人类将到达火星。 ⑷如果a>b且b>c,则a>c 。(其中a,b,c都是 确定的实数) ⑸x+y<5 ⑹请打开书! ⑺您去吗? ⑴⑵⑶⑷是命题 例1-2.1 P:2是素数。 ?P:2不是素数。 例1-2.2 P:小王能唱歌。 Q:小王能跳舞。 P∧Q:小王能歌善舞。 例1-2.3. 灯泡或者线路有故障。(析取“∨”) 例1-2.4. 第一节课上数学或者上英语。(异或、排斥或。即“?”) 注意:P ?Q 与(P∧?Q)∨(Q∧?P ) 是一样的。 归纳自然语言中的联结词,定义了六个逻辑联结词,分别是:(1)否定“?”(2) 合取“∧”(3) 析取“∨”(4) 异或“?”(5) 蕴涵“→”(6) 等价“?” 例1-2.5:P表示:缺少水分。 Q表示:植物会死亡。 P→Q:如果缺少水分,植物就会死亡。 P→Q:也称之为蕴涵式,读成“P蕴涵Q”,“如果P则Q”。 也说成P是P→Q 的前件,Q是P→Q的后件。 还可以说P是Q的充分条件,Q是P的必要条件。 以下是关于蕴含式的一个例子 P:天气好。Q:我去公园。 1.如果天气好,我就去公园。 2.只要天气好,我就去公园。 3.天气好,我就去公园。 4.仅当天气好,我才去公园。 5.只有天气好,我才去公园。 6.我去公园,仅当天气好。 命题1.、2.、3.写成:P→Q 命题4.、5.、6.写成:Q→P 例1-2.6:P:△ABC 是等边三角形。Q :△ABC是等角三角形。 P?Q :△ABC 是等边三角形当且仅当它是等角三角形。

2 离散数学-命题公式,真值表

2 命题公式,真值表 (1) 数理逻辑是通过引入表意符号研究人类思维中的推理过程及推理正确与否的数学分支. 数学------??? 符号运算 推理---思维过程:前提 结论 命题逻辑---研究由命题为基本单位构成的前提和结论之间的可推导关系.(逻辑演算) 即将推理(不涉及内函)形式化. 例1 (a) 4是偶数. 张林学习优秀. 太阳系以外的星球上有生物. (b) 这朵花真美丽! 现在开会吗? (c) 3 5.x +> 我正在说慌. 特征分析(a) 陈述句,非真即假. (b) 感叹句,疑问句. (c) 悖论. 定义1 能辩真假的陈述句,称为命题,用,,,P Q Z 表示.其判断结果称为命题的真值. 成真的命题称为真命题,其真值为真,记为,T 或为1.成假的命题称假命题,其真值为假,记为,F 或为0. 例2 (1) 2008年奥运会在北京举行. (2) 22 5.?= (3) 计算机程序的发明者是诗人拜伦. 用符号表是上述命题,并求真值. 解 (1) :P 2008年奥运会在北京举行. .T (2) :Q 22 5.?= .F (3) :R 计算机程序的发明者是诗人拜伦. .F (2) 3, 35,+ 3(4 1).+- 例3 (1) 今天没有数学考试. (2) 下午,我写信或做练习. (3) 王芳不但用功,而且成绩优秀. (4) 如果太阳从西边出来了,那么地球停止转动.

(5) 2是素数,当且仅当三角形有三条边. 特征分析(a)存在自然语言中的虚词. (b)语句可以分解,细化. 定义2 称下列符号为逻辑联结词 否定 ? 非 P ? 析取 ∨ 或者 P Q ∨ 合取 ∧ 且 P Q ∧ 蕴涵 → 若----,则----- P Q → 等价 ? 当且仅当 P Q ? 逻辑联结词真值的规定 例4 将下列命题符号化. (1) 小李聪明,但不用功. ()P Q ∧? (2) 单位派小王或小苏出差. P Q ∨ (3) 如果椅子是紫色的,且是园的,那么地是平的. ()P Q R ∧→ (4) n 是偶数当且仅当它能被2整除. P Q ? 注 1 逻辑联结词:运算符.顺序 ,,,,.?∧∨→? 2 自然语言中 虽然---,但是----; 不但---,而且----; ∧ 只有----,才----; 除非----,才-----; → 3 ∨ 可兼或(相容) ∨ 不可兼或(排斥) 小王是山东人或是河北人. ()()P Q P Q P Q ∨?∧?∨?∧ 4 ,P Q -----------------------简单命题

求给定命题公式真值表并根据真值表求公式主范式

“离散数学”实验报告(求给定命题公式地真值表并根据真值表求公式地主范式) 专业网络工程 班级 1202班 学号 12407442 姓名张敏慧 2013.12.14

目录 一.实验目地 3 二.实验内容 (3) 求任意一个命题公式地真值表 (3) 三.实验环境 3 四. 实验原理和实现过程(算法描述)3 1.实验原理 (3) 2.实验流程图 (5) 五.实验代码 6 六. 实验结果14 七. 实验总结19

一.实验目地 本实验课程是网络工程专业学生地一门专业基础课程,通过实验,帮助学生更好地掌握计算机科学技术常用地离散数学中地概念.性质和运算;通过实验提高学生编写实验报告.总结实验结果地能力;使学生具备程序设计地思想,能够独立完成简单地算法设计和分析. 熟悉掌握命题逻辑中地真值表.主范式等,进一步能用它们来解 决实际问题. 二.实验内容 求任意一个命题公式地真值表,并根据真值表求主范式 详细说明: 求任意一个命题公式地真值表 本实验要求大家利用C/C++语言,实现任意输入公式地真值表计算.一般我们将公式中地命题变元放在真值表地左边,将公式地结果放在真值表地右边.命题变元可用数值变量表示,合适公式地表示及求真值表转化为逻辑运算结果;可用一维数表示合式公式中所出现地n个命题变元,同时它也是一个二进制加法器地模拟器,每当在这个模拟器中产生一个二进制数时,就相当于给各个命题变元产生了一组真值指派.算法逻辑如下: (1)将二进制加法模拟器赋初值0 (2)计算模拟器中所对应地一组真值指派下合式公式地真值. (3)输出真值表中对应于模拟器所给出地一组真值指派及这组真值指派所对应地一行真值. (4)产生下一个二进制数值,若该数值等于2n-1,则结束,否则转(2). 三.实验环境;

任意命题公式的真值表

实验报告 实验名称:任意命题公式的真值表 实验目的与要求:通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算,包括联结词、真值表、运算的优先级等,提高学生编写实验报告、总结实验结果的能力,培养学生的逻辑思维能力和算法设计的思想,能够独立完成简单的算法设计和分析,进一步用它们来解决实际问题,帮助学生学习掌握C/C++语言程序设计的基本方法和各种调试手段,使学生具备程序设计的能力。 实验内容提要:求任意一个命题公式的真值表 实验步骤:(一)、关于命题公式的形式和运算符(即联结词)的运算 首先根据离散数学的相关知识,命题公式由命题变元和运算符(即联结词)组成,命题变元用大写字母英文表示(本次试验没有定义命题常元T和F,即T、F都表示命题变元),每个命题变元都有两种真值指派0和1,对应于一种真值指派,命题公式有一个真值,由所有可能的指派和命题公式相应的真值按照一定的规范构成的表格称为真值表。 目前离散数学里用到的包括扩充联结词总共有九种,即析取(或)、合取(与)、非、蕴含、等值、与非、或非、异或、蕴含否定,常用的为前五种,其中除了非运算为一元运算以外,其它四种为二元运算。所以本次实验设计时只定义了前五种运算符,同时用“/”表示非,用“*”表示合取,用“+”表示析取,用“>”表示蕴含,用“:”表示等值,且这五种运算符的优先级依次降低,如果需用括号改变运算优先级,则用小括号()改变。 以下为上述五种运算符运算时的一般真值表,用P和Q表示命题变元:1.非,用“/”表示 2.合取(与),用“*”表示

3.析取(或),用“+”表示 4.蕴含,用“>”表示 5.等值,用“:”表示 (二)、命题公式真值的计算 对于人来说,计算数学表达式时习惯于中缀表达式,例如a*b+c,a*(b+c)等等,而对于计算机来说,计算a*b+c还好,计算a*(b+c)则困难,因为括号的作用改变了运算的顺序,让计算机识别括号而改变计算顺序显得麻烦。经理论和实践研究,用一种称之为后缀表达式(逆波兰式)的公式形式能让计算机更容易计算表达式的真值。例如上面的a*(b+c),其后缀表达式为abc+*,计算时从左边开始寻找运算符,然后按照运算符的运算规则将与其相邻的前面的一个(非运算时为一个)或两个(其它四种运算为两个)操作数运算,运算结果取代原来的运算符和操作数的位置,然后重新从左边开始寻找运算符,开始下一次计算,比如上式,从左边开始寻找运算符,先找到+,则计算b+c,结果用d表示,这时后缀表达式变为ad*,又重新开始从左边开始寻找运算符,找到*,则计算a*d,

逻辑学 简单习题及答案

第三章 复合命题及推理 练习题 1 一、写出下列复合命题的形式。(每小题5分,共35分) 1.甲、乙、丙中至少有一个是上海人。 令:p表示“甲上海人” q表示“乙是上海人” r表示“丙是上海人” 原命题的形式是:p ∨q ∨r 或:﹁(﹁p∧﹁q∧﹁r) 2.甲、乙、丙并非都是上海人。 令:p表示“甲上海人” q表示“乙是上海人” r表示“丙是上海人” 原命题的形式是:﹁(p∧ q∧ r) 或:﹁p ∨﹁q ∨﹁r 3.明天我们或者去看电影,或者去看展览,要不然就去游泳。 令:p表示“我们明天去看电影” q表示“我们明天去看展览” r表示“我们明天去游泳” · 原命题的形式是:(p ∨q) r ∨ 4.请勿在场内吸烟、随地吐痰、乱扔杂物,违者罚款。 令:p表示:“在场内吸烟。” q表示:“在场内随地吐痰。” r表示:“在场内乱仍杂物。” s表示:“被罚款。” 原命题的形式是:p∨ q∨ r → s 5. 如果遭遇敌人,敌人势力小,就消灭它再走;敌人多,就一面抵抗,一面通过。 方法一:令:p表示:“遭遇敌人。” q表示:“敌人势力小。” r表示:“消灭敌人再走。” s表示:“敌人多。” t表示:“一面抵抗,一面通过。” 原命题的形式是:(p∧q→ s)∧(p∧s→ t) 方法二:令:p表示:“遭遇敌人。” q表示:“敌人势力小(敌人少)。” r表示:“消灭敌人再走。” t表示:“一面抵抗,一面通过。” 原命题的形式是:(p∧q→ s)∧(p∧﹁q→ t) 方法三:令:p表示:“遭遇敌人。” q表示:“敌人势力小。” r表示:“消灭敌人再走。” s表示:“敌人多。”

t表示:“抵抗” u表示:“通过” 原命题的形式是:(p∧q→ s)∧(p∧s→ t∧u) 6. 承认不懂,才能从不懂变懂;承认不会,才能从不会变会。 令:p表示:“承认不懂。” q表示:“从不懂变懂。” r表示:“承认不会。” s表示:“从不会变会。” 原命题的形式是:(p←q)∧( r←s) 7.要是不立即做手术,这伤员很快就会死亡;要是做手术而不输血,那也还是难免死亡。 令:p表示:“立即做手术。” q表示:“伤员会死亡。” r表示:“输血。” 原命题的形式是:(﹁p→q)∧(p∧﹁r→ q) 二、写出下列推理的形式,并判断其形式是否正确。若正确,说明其使用了什么规则;若不正确,请说明原因。(每小题8分,共40分) 1.要是这个降落的球不受外力影响,它就不会改变降落方向;它没有改变降落方向,因此,它一定没有受到外力影响。 令:p表示:“这个降落的球不受外力影响。” q表示:“这个球不改变方向。” 上述推理的形式是:p→ q,q ├ p 这个推理形式不正确,因为根据充分条件假言命题的逻辑特性,肯定后件,不能必然由此肯定前件。 2.他只有熟悉法律,才能当法官;他没能当法官,可见,他不熟悉法律。 令:p表示:“他熟悉法律。” q表示:“他当法官。” 上述推理的形式是:p← q,﹁q ├﹁p 这个推理形式不正确,因为根据必要条件假言命题的逻辑特性,否定后件,不能必然由此否定前件。 3.发明永动机只是天真的梦想。因为,如果真能发明永动机,那么,能量守恒定律就不起作用了;而该定律是正确的。 令:p表示:“能发明永动机。” q表示:“能量守恒定律起作用。” 上述推理的形式是:p→﹁q,q ├﹁p 上述推理形式正确,使用的是充分条件假言推理的否定后件式。 4.如果2号队员伤病已痊愈并且恢复了竞技状态,那么,他就会被派上场。2号队员伤病已痊愈,但没有被派上场。所以,他还没有恢复竞技状态。 令:p表示:“2号队员伤病已痊愈。” q表示:“2号队员恢复了竞技状态。” r表示:“2号队员被派上场。” 上述推理的形式是:(p∧q)→ r,p,﹁r├﹁q 上述推理形式正确,使用的是反三段论。

逻辑命题公式计算

题号:第一题 题目:电梯模拟 1,需求分析: 计算命题演算公式的真值 所谓命题演算公式是指由逻辑变量(其值为TRUE或FALSE )和逻辑运算符人(AND )、 V( OR)和「( NOT )按一定规则所组成的公式(蕴含之类的运算可以用A、V和「来表示)。公式运算的先后顺序为「、人、V,而括号()可以改变优先次序。已知一个命题演算公式及各变量的值,要求设计一个程序来计算公式的真值。 要求: ( 1)利用二叉树来计算公式的真值。首先利用堆栈将中缀形式的公式变为后缀形式;然后根据后缀形式, 从 叶结点开始构造相应的二叉树;最后按后序遍历该树, 求各子树之值, 即每到达一个结点, 其子树之值已经计算出来, 当到达根结点时, 求得的值就是公式之真值。 ( 2)逻辑变元的标识符不限于单字母,而可以是任意长的字母数字串。 ( 3)根据用户的要求显示表达式的真值表。 2,设计: 2.1 设计思想: <1> ,数据结构设计: (1) 线性堆栈1 的数据结构定义 typedef struct { DataType stack [MaxStackSize]; int top; /* 当前栈的表长*/ } SeqStack; 用线性堆栈主要是用来存储输入的字符, 它的作用就是将中缀表达式变成后缀表达式。 (2) 线性堆栈2 的数据结构定义 typedef struct { BiTreeNode *stack [MaxStackSize]; int top; /* 当前栈的表长*/ } TreeStack; 这个堆栈和上面的堆栈的唯一不同就是它们存储的数据的类型不同, 此堆栈存储的是树节点,它的作用是将后缀表达式构成一棵二叉树。 (3)树节点数据结构定义typedef struct Node { DataType data; struct Node *leftChild; struct Node *rightChild; }BiTreeNode; <2>算法设计详细思路如下:首先实现将中缀表达式变成后缀表达式:在将中缀表达式变成后缀表达式的

离散数学命题逻辑练习题

离散数学命题逻辑练习 题 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

一、选择题 1. 设命题公式) ?,记作G,使G的真值指派为1的P,Q,R的真值是( ) P∧ → (R Q 2. 与命题公式P(QR)等价的公式是( ) A () →→ D () P Q R P Q R →∨ P Q R ∨→ B () P Q R ∧→ C () 3. 下列各组公式中,哪组是互为对偶的 ( ) A ,P P B ,P P A A** D ,A A ? C ,() (其中P为单独的命题变元,A为含有联结词的公式) 4. 命题公式(P∧(P→Q))→Q是_____式。 A 重言 B 矛盾 C 可满足 D 非永真的可满足 5. 下面命题联结词集合中,哪个是最小联结词 ( ) A {,} ∧→ ?∧∨ C {}↑ D {,} ? B {,,} 6. 命题公式() ?∧→的主析取范式种含小项的个数为 ( ) P Q R A 8 B 3 C 5 D 0 7. 如果A B ?成立,则以下各种蕴含关系哪一个成立 ( ) A B A ?? ??? D A B ??? C B A ? B A B 8. 命题公式()() →∧→的主析取范式中包含小项 ( ) P Q P R A P Q R ∧?∧? ∧?∧ D P Q R ∧∧? C P Q R ∧∧ B P Q R 9. ,, A B C为任意命题公式,当()成立时,有A B ?。 A A B ∧?∧ D C A C B →?→??? B A C B C ∨?∨ C A C B C 10. 下面4个推理定律中,不正确的是 ( ) A () ∨∧?? A B A B A A B ?∧ B () C () →∧??? A B B A A B A B →∧? D ()

离散数学命题公式真值表C++或C语言实验报告

离散数学实验报告 专业班级:12级计算机本部一班姓名:鲍佳珍 学号:201212201401016 实验成绩: 1.【实验题目】 命题逻辑实验二 2.【实验目的】 熟悉掌握命题逻辑中真值表,进一步能用它们来解决实际问题。 3.【实验内容】 求任意一个命题公式的真值表 4、【实验要求】 C或C++语言编程实现 5. 【算法描述】 1.实验原理 真值表:表征逻辑事件输入和输出之间全部可能状态的表格。列出命题公式真假值的表。通常以1表示真,0 表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。 2.实验过程 首先是输入一个合理的式子,生成相应真值表,然后用函数运算,输出结果:要求可生成逻辑非、合取、析取、蕴含、双条件表达式的真值表,例如:输入 !a 输出真值表如下: a !a 0 1 10 输入a&&b 输出真值表如下: a b a&&b 0 0 0 0 1 0 1 0 0 1 1 1 输入a||b 输出真值表如下:

a b a||b 0 0 0 0 1 1 1 0 1 1 1 1 输入a->b 输出真值表如下: a b a->b 0 0 1 0 1 1 1 0 0 1 1 1 输入a<>b (其中<>表示双条件) 输出真值表如下: a b a<>b 0 0 1 0 1 0 1 0 0 1 1 1 6.【源程序(带注释)】 #include #include void hequ(); void yunhan(); void xiqu(); void shuang(); void fei();//声明五个函数 int main() { int ch; char s[10];

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

离散逻辑学实验 班级: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都存在与其等价的主合取范式,并且是惟一的。 五、代码设计结果:

离散数学之逻辑运算和命题公式真值表

1、逻辑联接词的运算 从键盘输入两个命题变元P和Q的真值,输出它们的合取、析取、条件、双条件和P的否定的真值。 #include int main() { int a,b; int hequ(int P,int Q); int xiqu(int P,int Q); int tiaojian(int P,int Q); int shuangtiaojian(int P,int Q); int Pfaoding(int P); int show(int a,int b); cout<<"请输入P和Q的真值:\n"; cin>>a>>b; show(a,b); return 0; } int hequ(int P,int Q) { if(P==0) P=P; else P=1; if(Q==0) Q=Q; else Q=1; return(P&Q); } int xiqu(int P,int Q) { if(P==0) P=P; else P=1; if(Q==0) Q=Q; else Q=1; return(P|Q); } int tiaojian(int P,int Q)

{ if(P==0) P=P; else P=1; if(Q==0) Q=Q; else Q=1; if(P==1&&Q==0) return(0); else return(1); } int shuangtiaojian(int P,int Q) { if(P==0) P=P; else P=1; if(Q==0) Q=Q; else Q=1; return(!P^Q); } int Pfaoding(int P) { if(P==0) P=P; else P=1; return(!P); } int show(int a,int b) { cout<<"P Q P∧Q P∨Q P→Q P←→Q ┐P"<

离散数学第一章命题逻辑知识点总结

数理逻辑部分 第1章命题逻辑 命题符号化及联结词 命题: 判断结果惟一的陈述句 命题的真值: 判断的结果 真值的取值: 真与假 真命题: 真值为真的命题 假命题: 真值为假的命题 注意: 感叹句、祈使句、疑问句都不是命题,陈述句中的悖论以及判断结果不惟一确定的也不是命题。 简单命题(原子命题):简单陈述句构成的命题 复合命题:由简单命题与联结词按一定规则复合而成的命题 简单命题符号化 用小写英文字母p, q, r, … ,p i,q i,r i (i≥1)表示 简单命题 用“1”表示真,用“0”表示假 例如,令p:是有理数,则p 的真值为0 q:2 + 5 = 7,则q 的真值为1 联结词与复合命题 1.否定式与否定联结词“” 定义设p为命题,复合命题“非p”(或“p的否定”)称 为p的否定式,记作p. 符号称作否定联结词,并规定p为真当且仅当p为假. 2.合取式与合取联结词“∧” 定义设p,q为二命题,复合命题“p并且q”(或“p与q”)称为p与q的合取式,记作p∧q. ∧称作合取联结词,并规定p∧q为真当且仅当p与q同时为真 注意:描述合取式的灵活性与多样性 分清简单命题与复合命题 例将下列命题符号化. (1) 王晓既用功又聪明. (2) 王晓不仅聪明,而且用功. (3) 王晓虽然聪明,但不用功. (4) 张辉与王丽都是三好生. (5) 张辉与王丽是同学. 解令p:王晓用功,q:王晓聪明,则 (1) p∧q (2) p∧q (3) p∧q. 令r : 张辉是三好学生,s :王丽是三好学生 (4) r∧s. (5) 令t : 张辉与王丽是同学,t 是简单命题. 说明:

逻辑式与真值表

课题:逻辑式与真值表 课时:两课时 教学目标: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

求给定命题公式的真值表并根据真值表求公式的主范式

求给定命题公式的真值表并根据真值表求公式的主范式(求给定命题公式的真值表并根据真值表求公式的主范式) 专业网络工程 班级 1202班 学号 12407442 姓名张敏慧 2013.12.14 目录 一.实验目的 ....................................................... 3 二.实验内容 (3) 求任意一个命题公式的真值 表 ..................................................................... ..... 3 三.实验环 境 (3) 四. 实验原理和实现过程(算法描述) (3) 1.实验原 理 ..................................................................... ...................................... 3 2.实验流程 图 ..................................................................... .................................. 5 五.实验代 码 (6) 六. 实验结果 (14)

七. 实验总结 (19) - 1 - 一.实验目的 本实验课程是网络工程专业学生的一门专业基础课程,通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算;通过实验提高学生编写实验报告、总结实验结果的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。 熟悉掌握命题逻辑中的真值表、主范式等,进一步能用它们来解决实际问题。 二.实验内容 求任意一个命题公式的真值表,并根据真值表求主范式 详细说明: 求任意一个命题公式的真值表 本实验要求大家利用C/C,,语言,实现任意输入公式的真值表计算。一般我 们将公式中的命题变元放在真值表的左边,将公式的结果放在真值表的右边。命题变元可用数值变量表示,合适公式的表示及求真值表转化为逻辑运算结果;可用一维数表示合式公式中所出现的n个命题变元,同时它也是一个二进制加法器的模拟器,每当在这个模拟器中产生一个二进制数时,就相当于给各个命题变元产生了一组真值指派。算法逻辑如下: (1)将二进制加法模拟器赋初值0 (2)计算模拟器中所对应的一组真值指派下合式公式的真值。 (3)输出真值表 中对应于模拟器所给出的一组真值指派及这组真值指派所对应的一行真值。 n(4)产生下一个二进制数值,若该数值等于2-1,则结束,否则转(2)。 三.实验环境; 使用visual C++6.0为编程软件,采用C语言为编程语言实现。

相关主题
文本预览
相关文档 最新文档