利用真值表法求取主析取范式以及主合取范式的实现---

上传人:壹****1 文档编号:469186561 上传时间:2022-10-07 格式:DOC 页数:12 大小:34KB
返回 下载 相关 举报
利用真值表法求取主析取范式以及主合取范式的实现---_第1页
第1页 / 共12页
利用真值表法求取主析取范式以及主合取范式的实现---_第2页
第2页 / 共12页
利用真值表法求取主析取范式以及主合取范式的实现---_第3页
第3页 / 共12页
利用真值表法求取主析取范式以及主合取范式的实现---_第4页
第4页 / 共12页
利用真值表法求取主析取范式以及主合取范式的实现---_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《利用真值表法求取主析取范式以及主合取范式的实现---》由会员分享,可在线阅读,更多相关《利用真值表法求取主析取范式以及主合取范式的实现---(12页珍藏版)》请在金锄头文库上搜索。

1、#incu stdio.h#include stdlhilud tring.hilu mat.h#define N 50vo d(int b,it );nt 1 (char T1N,charT2N,int T3, int y);it H2 (char T1N, chr TN,it T3N, int y);it main() int i1,i,d=1,3N,kh=,jg,=0,; intw=0,euN,h=0,x=0,iqN; chrTN,TN,T1N,; qu0-1; qu0=1; pitf(#n); nf(# 用!表达否认 #n); pitf( 用表达合取 #n); pritf(# 用|表达

2、析取 #n); intf(# 用表达条件 #n); pnf( 用表达双条件 #n); prinf(#nn); int(请输入一种合法的命题公式:n); gts(T1); tpy(0,T1); fo(1=;i1=a & T1i=A& T1i1=Z) r(i=;i2j;i2+) if(T2i=T1i1) 0; if(d=1) T2j=Ti1; j; =; rintf(n输出真值表如下:nn); or(i1=;1y;i1+) prntf( c ,2i1); printf(); uts(T1); printf(); for(i1=0;ij;1+) T31=; or(2=;i2j;i2+) prntf(

3、 % ,T3i2); gH1(T1,T2,T3,y); if(j=) hqu+; else ux+=w; pt( %dn,g); sry(T1,T10); for(i1=0;i1(int)pow(2,j)-;i+) +w; p(T3,j-1); g=(T1,2,T3,y); if(jg=0) hqu+=w; else xiqu+=w; trpy(T,0); or(0;i20) pitf(/); prntf(M(%),qui1); f(iqu=-) prntf(该命题公式不存在主析取范式。n); ele prin(nn主析取范式:nt); f(=0;i10) pritf(); prf((%d),

4、xiui1); pntf(n); getch();voi p(int bN,t f) i i; i=f; if(bf=0) bf1; els f=0; pd(b,-i); int H1 (cha TN,car TN,n T3N,int y) int ,h,s,kh=0,z,a; char xN,khN; strlen(T); or(i0;i+) f(T1i=(| T1i=)) wzkh; ckhkhT1i; h+; i(kh=0) eu 2(T1,T2,y); els for(=;ikh;i+) i(ci=) brea; for(wi1,h=;jwzi;j+,h+) xs1h=T1; xs1=

5、0; a=H2(xs1,T,T3,); if(a=) T1wi-11; ele T1z-1=-2; r(j=wi-1+;zi-1-wzi;j+) T1jT1jwzi-z-1; T1j=0; return 1(T,T2,T3,y); int H(car1N,car T2N,int T3,int y) nt i,h=0,j,1=0,j2=0,=0,4=,j5=0,i1,2,p1-,21,; hr dtN; s=trlen(T1); if(s=1) if(10=-2) return 0; ee eurn 1; le fr(=0;is-j;i+) if(T1i=!) fr(i1=;y;+) if(T=

6、T2i1) p=T3i1; if(T1=-2) 1=0; if(p1=-1) 1=T1i+1; dj+2=!p; Ti=+2; j+; p1=0; fo(1=i+1;i1s-j;i1+) T11=T11+1; =-1; j1=j; for(i=0;is-j1-2*j2;i+) if(T1i) f(=0;i1y;i+) f(1-1=2i1) 1=Ti1; if(1i+1=2i1) 2T3i1; for(i2=2;ij+2;+) if(1-1=i2) p1=dti2; i(Ti+1=i2) p2ti2; if(T1i-1=-2) 1=; i(T1i1=-2) p2=; f(p1=1) p=(int)(1i-1); if(p2=1) 2=(int)(i+); +2=p1 & p2; T1i1=+2; j; j2+; -1; p2=-; for(i1=i;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号