- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实习报告重言式的判别
实习报告
题目:重言式的判定
班级:信管08-1 姓名:彭苗苗 完成日期:2010/ 6 /7
一、需求分析
1.一个逻辑表达式如果对于其变元的任一种取值均为真,则成为重言式;反之,如果对于其变元的任一种取值都为假,则称为矛盾式,然而,更多的情况下,既非重言式,也非矛盾式。写一个程序通过真值表判别一个逻辑表达式属于上述哪一类。基本要求如下:
(1)逻辑表达式从终端输入,长度不超过一行。逻辑运算符包括“|”、“&”和“~”,分别表示或、与和非,运算优先程度递增,但可有括号改变,即括号内的运算优先。逻辑变元为大写字母。表达式中任何地方都可以含有多个空格符。
(2)若是重言式或矛盾式,可以只显示“True Forever”或“False Forever”,否则显示“Statisfactible”以及变量名序列,与用户交互。若用户对表达式变元取定一组值,程序就求出并显示逻辑表达式的值。
(3)本程序先使用栈将逻辑表达式的变量进行存储,然后将栈中的元素作为二叉树的结点结构,然后根据优先级读取表达式建立二叉树,并通过逐个判断根实现对重言式的判别。
2. 程序执行的命令
(1)输入逻辑表达式 (2)判断表达式是重言式还是矛盾式 (3)若既不是重言式也不是矛盾式,则对变元取定值,并显示逻辑表达式的值 (4)结束
3.测试数据
(1) (A|~A)(B|~B)
(2) (A~A)C
(3) A|B|C|D|E|~A
(4) ABC~B
(5) (A|B)(A|~B)
(6) A~B|~AB;
输出结果
True Forever
False Forever
True Forever
False Forever
Statisfactible
Statisfactible
二. 概要设计
1.为实现上述程序功能,需要两个抽象数据类型,如下:
(1)识别表达式使用的栈定义
ADT sqstack
{数据对象:D={ai| ai(ElemSet,i=1,2,...,n, n 0}
数据关系:R1={ ai-1 ,ai| ai-1, ai(D, i=1,2,...,n }
约定an端为栈顶,ai端为栈底。
基本操作:
initstack(stack s)
操作结果:构造一个空栈S。
gettop(st,e)
初始条件:栈S已存在且非空。
操作结果:用e返回S的栈顶元素
push(st,e)
初始条件:栈S已存在。
操作结果:插入元素e为新的栈顶元素。
pop(st,e) 初始条件:栈S已存在且非空。
操作结果:删除S的栈顶元素,并用e返回其值。
} ADT sqstack
(2)二叉树的定义
ADT bitree
{数据对象D:D={ai | ai∈ElemSet, i=1,2, …,n, n≥0}
数据关系R:若D为空集,则称为空二叉树。
若D仅含一个数据元素,则R为空集,否则R={H},H满足关系:
(1)??T中存在唯一的一个结点,它没有前驱,称为树的根,用root表示,在集合D中用a1表示;
(2)????? 若D中元素个数大于1,对于任意的数据元素aj∈D且j≥2,存在唯一的数据元素ai∈D,有ai, aj∈H;
(3)????? 若D中元素个数大于1,对于任意的数据元素ai∈D,仅存在不多于2个数据元素aj,ak∈D且j, k≥i,有 ai, aj , ai, ak ∈H,其中,若jk,则称aj为ai的左孩子节点,ak为ai的右孩子节点。
(4)????? 对于任意的数据元素aj∈D且j≥2,存在D1 D,D1={ aik| aik∈ElemSet, k=1,2, …,m, m≥0},有唯一的Pj={ai1, ai1, ai1, ai2, …, aim-1, aim, aim, aj},这个集合Pj表示从根结点到结点aj的一条路径。
基本操作P:
creattree(char *p,stack vari,stack symbol)
操作结果:构造二叉树。
int getvalue(bit root,int num[])
初始条件:二叉树已存在
操作结果:根据变量的取值进行求值
void user(bit root,int m,char b[])
初始条件:二叉树已存在
操作结果:输入变量的值,若求得逻辑表达式为1,则显示Ture,若求得逻辑表达式为0,则显示False
void judge(bit root,char bo[],int nu)
初始条件:二叉树已存在
操作结果:表达式若是重言式则返回true forever,若是矛盾式返回false forever,否则返回Statisfactible
}ADT bitree
2.本程序主要分为六个模块
(1)主程序
您可能关注的文档
- 妇产科护理学重点归纳概要.doc
- 如果你想成为一名律师.doc
- 如皋西部经济区核心区城市设计国际招标公告.doc
- 妇产科医疗质量评价体系与考核标准 doc.doc
- 妇产科输血图文.ppt
- 妇科疾病常用穴位及推拿手法PPT演示课件.ppt
- 妇科知识培训 图文.ppt
- 妇产科输血反应演练 ppt课件.ppt
- 妇女健康保健知识培训.ppt
- 妇科洗液调查报告.doc
- 2025年湖南省长郡二十校联盟高考历史第二次预热演练试卷.pdf
- 2025年江苏省南通市中考英语模拟试卷.pdf
- 2022-2023学年云南省昭通市绥江县八年级(下)期中英语试卷.pdf
- 山东省临沂实验中学2024-2025学年七年级下学期第一次月考英语试卷(含答案).docx
- 安徽省临泉田家炳实验中学2024-2025学年高二下学期3月月考英语试题(含答案).docx
- 四川省广安友实学校2024-2025学年八年级下学期3月月考语文试题(含答案).docx
- 甘肃省张掖市高台县一中2024-2025学年高三下学期第三次检测英语试卷(含答案).docx
- 浙江省金丽衢十二校2025届高三下学期二模英语试题(含答案).docx
- 山东省烟台市2024-2025学年高二上学期期末学业水平诊断考试语文试卷(含答案).docx
- 辽宁省葫芦岛市绥中县2024-2025学年七年级上学期11月期中考试英语试题(解析版).docx
最近下载
- 工程结构健康监测技术规程.pdf VIP
- YST 509.1-2008锂辉石、锂云母精矿化学分析方法 氧化锂、氧化钠、氧化钾量的测定 火焰原子吸收光谱法.pdf
- 社区获得性肺炎诊断和治疗指南.pdf VIP
- 初中美术七年级下册(2024)湘美版(2024)合集.docx
- 解剖独立代理人制度.pptx
- 14日天津市直机关遴选面试真题及解析.docx VIP
- 中央银行学(第五版)全套PPT课件.pptx
- 天翼云解决方案架构师(高级)认证资格考试题(附答案).doc VIP
- 房地产-新发展模式展望系列二:新加坡凯德集团:开发投管有机联动,资产管理能力卓著.pdf VIP
- 新标准大学英语(第二版)综合教程2 课后练习答案.pdf
文档评论(0)