欢迎来到天天文库
浏览记录
ID:42047153
大小:201.91 KB
页数:18页
时间:2019-09-07
《《数据结构c语言》重言式的判别1》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、山东理工大学计算机学院课程设计(数据结构)班姓学级名号指导教师二O—一年一月二十日课程设计任务书及成绩评定课题名称重言式的判别I、题目的目的和要求:1、设计目的巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。(1)通过本课程的学习,能熟练掌握儿种基本数据结构的基本操作。(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。2、设计题目要求:一个逻辑表达式如果对于其变元的任一种取值均为真,则成为重言式;反之,如果对于其变元的任一种取
2、值都为假,则称为矛盾式,然而,更多的情况下,既非重言式,也非矛盾式。写一个程序通过真值表判别一个逻辑表达式属于上述哪一类。基本要求如下:(1)逻辑表达式从终端输入,长度不超过一行。逻辑运算符包括“丨”、“&”和“〜”,分别表示或、与和非,运算优先程度递增,但可有括号改变,即括号内的运算优先。逻辑变元为大写字母。表达式中任何地方都可以含有多个空格符。(2)若是重言式或矛盾式,可以只显示“TrueForeverv或“FalseForeverv,否则显示“Statisfactible”以及变量名序列,与用户交互。若用户对表达式变元取定一组值,程序就求
3、出并显示逻辑表达式的值。II、设计进度及完成情况日期内容1.10-1.11选取参考书,查阅有关文献资料,完成资料搜集和系统分析工作。1.12〜1.14创建相关数据结构,录入源程序。1.17〜1.19调试程序并记录调试中的问题,初步完成课程设计报告。1.20〜1.21上交课程设计报告打印版并进行课程设计答辩,要求每个同学针对自己的设计回答指导教师3-4个问题。考核结束后将课程设计报告和源程序的电子版交班长统一刻光盘上交。川、主要参考文献及资料[1]严蔚敏数据结构(C语言版)清华大学岀版社1999[2]严蔚頌数据结构题集(C语言版)清华大学出版社1
4、999[3]谭浩强C语言程序设计清华大学出版社[4]与所用编程环境相配套的C语言或C++相关的资料IV、成绩评定:设计成绩:(教师填写)指导老师:(签字)年一月二计第一章概述1第二章系统分析2第三章概要设计3第四章详细设计5第五章运行与测试1113第六章总结与心得12参考文献第_章概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。《数据结构》是一门重要的专业基础课,是计算机理论和应用的核心基础课程
5、。数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。在这次的课程设计中我选择的题目是重言式判别。传统的重言式判别,基本手工劳动,既浪费精力又浪费时间,而且人工统计操作起来效率相对来说要低,也容易出错。但是现在这些逻辑计算借助计算机系统完成后,效率可以得到提高,也可以减少出错的几率。可以使有关与或非的逻辑计算显得更加的方便,迅捷,减少很多劳动量。第二章系统分析1.该程序通过真值表判别一
6、个逻辑表达式属于重言式、矛盾式、既非重言式也非矛盾式中的哪一类。由于逻辑表达式都是通过判断逻辑运算符的优先级进行的,逻辑运算符包括“丨”、“&”和“〜”,分别表示或、与和非,运算优先程度递增,但可有括号改变,即括号内的运算优先。此为总体分析。2.通过上述的总体分析,我们可以确定需要用二叉树对从终端接受的逻辑表达式进行树的构造。由于运算有先有后,后还需借助堆栈来实现,故重点是要完成二叉树、遍历,堆栈的建立,入栈、岀栈等基本操作。3.既为逻辑表达式的运算,就需要有一个优先级的判别的函数,一个来实现产生变量取值组合的函数,以及取运算符栈的栈顶元素进行
7、优先级比较的函数,还有根据变量的取值组合并利用逻辑表达式的性质对树进行求值的函数,本程序使用四个函数来完成上述操作。4.该程序是以用户于计算机的对话方式执行,这需要一个模块来完成使用者与计算机语言是转化。5•测试数据。(1)(AFA)&(B卜B)(2)(A&〜A)&C(3)A
8、B
9、C
10、D
11、E卜A(4)A&B&C&〜B(5)(A
12、B)&(A卜B)(6)A&~B"&B;第三章概要设计木章主要介绍1、数据结构的设计〃根据表达式建立的二叉树的结点定义,由于表达式的求值类似二叉树的中序遍历,故我们可以ijiang表达式构造为一个二叉树;typedefst
13、ruetbtdnode{}*bitree;//识别表达式使用的堆栈定义,它存放的都是树的结构,鉴于逻辑符号的优先不同,我们需要用到堆栈;typedef
此文档下载收益归作者所有