目 录
第一章 绪 论... - 1 -
1.1课题来源的重要意义... - 1 -
1.2项目开发的重要环节... - 1 -
1.3作者的主要任务... - 2 -
第二章 理论技术... - 3 -
2.1线性表理论... - 3 -
2.1.1线性表的顺序存储结构... - 3 -
2.1.2线性表的链式存储结构... - 4 -
2.1.3栈的链式存储... - 6 -
2.1.4冒泡排序算法... - 6 -
第三章 总体设计... - 8 -
3.1系统功能介绍... - 8 -
3.2各模块功能介绍... - 8 -
3.3系统界面设计... - 9 -
第四章 详细设计分析... - 11 -
4.1二分查找演示... - 11 -
4.1.1查找的基本概念... - 11 -
4.1.2折半查找的基本思想:... - 12 -
4.1.3二分查找算法... - 12 -
4.1.4二分查找的完整算法... - 12 -
4.1.5二分查找的递归算法... - 13 -
4.1.6 模块的设计思想... - 13 -
4.1.7模块设计的具体过程... - 14 -
4.2双链表创建演示... - 20 -
4.2.1数据存储的基本概念... - 20 -
4.2.2本模块的设计思想... - 23 -
4.2.3本模块实现的具体过程... - 24 -
第五章 系统实现... - 33 -
5.1系统则试... - 33 -
第六章 总结与展望... - 35 -
参考文献... - 37 -
致 谢... - 38 -
第一章 绪论
1.1课题来源的重要意义
现代教育正逐步摆脱传统的"教师---黑板---教科书---学生"的教学模式,提出大力发展素质教育,提倡培养学生的积极主动性,创新能力及自主学习的能力。为适应学生学习的需求及教育发展的需要,我们的教育引入了多种多样的教育技术手段,如幻灯、投影、电视、录像等视听媒体技术,卫星通讯技术,计算机多媒体技术,计算机"虚拟现实"的仿真技术和网络教学技术。
计算机多媒体技术具有较强的集成性、交互性的特点。它是将文字、图形、动画、视频、声音等多种信息加工组成在一起来呈现知识信息。它可为教与学提供多种多样的可以选择的功能,同时提供随时的学习结果验证,学习信息的及时反馈和可以调节的学习进度和可以选择进行的学习路径,从而为学生提供了一个可调节自身视、听、读、写、做的创造性的集成的学习环境,而教师这时充当一个领路人及指导者的角色,把学生放在主体的地位,这样可以使学生在学习的过程中,充分调动他们的感官,激发他们的学习兴趣,调动他们学习的积极性,从而使他们的想象力、创造力得以在一个相对较大的空间内发挥,与此同时,可以让学生针对自身不同的情况(包括能力起点不同,认知方式不同,学习风格不相同等)来确定学习目标,选择适当的学习进度和达到目标的学习路径,从而确定自己需要的学习内容,找到适合自己的教学媒体,并通过不断的反馈来评定学习的结果,以此来不断的完善学习中存在的不足,使学习的效果达到最优化。
1.2项目开发的重要环节
本项目研发主要涉及3大环节,对数据结构的处理,算法的应用,以及C语言的语言应用。
(1) 数据结构的分析:本软件需要对数据进行一定的排列,用软件进行教学时往往需要对一些数据进行一定的分布排列行成可视化界面,所以主要研究非数值应用问题中数据之间的逻辑关系和对数据的操作,以及如何将具有逻辑关系的数据按一定的存储方式存入计算机。抽象数据类型(Abstract Data Type,简称ADF)。对这类数值进行运算的实现。
(2) 算法的应用:本设计中再确定可数据的逻辑结构和存储结结构,然后要研究与之相关的操作,一般就要考虑算法,其中递归算法是本设计最重要的算法之一,递归算法的执行过程分递推和回归两个阶段,要对这个算法进行在递推阶段,把较复杂的问题(规模为n)的求解推到比原问题简单一些的问题(规模小于n)的求解。例如上例中,求解fib(n),把它推到求解fib(n-1)和fib(n-2)。也就是说,为计算fib(n),必须先计算fib(n-1)和fib(n-2),而计算fib(n-1)和fib(n-2),又必须先计算fib(n-3)和fib(n-4)。依次类推,直至计算fib(1)和fib(0),分别能立即得到结果1和0。在递推阶段,必须要有终止递归的情况。在回归阶段,当获得最简单情况的解后,逐级返回,依次得到稍复杂问题的解,例如得到fib(1)和fib(0)后,返回得到fib(2)的结果,……,在得到了fib(n-1)和fib(n-2)的结果后,返回得到fib(n)的结果。 由于递归引起一系列的函数调用,并且可能会有一系列的重复计算,递归算法的执行效率相对较低。当某个递归算法能较方便地转换成递推算法时,通常按递推算法编写程序。例如上例计算斐波那契数列的第n项的函数fib(n)应采用递推算法,即从斐波那契数列的前两项出发,逐次由前两项计算出下一项,直至计算出要求的第n项。
(3) C语言的语言应用:对该设计进行可编程设计,实行计算机数据的可读性分析,实现对该软件的图形处理。