离散逻辑学实验班级:10电信实验班学号:Q姓名:王彬彬一、实验目的 熟悉掌握命题逻辑中的联接词、真值表、主范式等,进一步能用它们来解决实际问题。二、,求它们的合取、析取、条件和双条件的真值。(A) (B,并根据真值表求主范式(C))三、实验环境 C或C++语言编程环境实现。实验原理和实现过程(算法描述)(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""#include""#defineN50voidpanduan(intb[N],intf);//赋值函数inttkh(charsz[N],u[N],inticu[N],inth0);//分级运算函数intfkh(charsz[N],u[N],inticu[N],inth0);//主运算函数voidzhumain(){inti1,i2,d=1,icu[N],kh=0,jg,j=0,h0;//icu[N]用于存放变量值,kh括号计数,jg存放结果intbj=0,hq[N],h=0,x=0,xq[N];//hq[N]存放合取结果xq[N]存放析取结果charsz[N],ccu[N],sz0[N],s;//sz[N]u[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(i
离散数学-逻辑学-命题公式求真值表 来自淘豆网m.daumloan.com转载请标明出处.