数据结构与数据库课程设计指导书
数据结构课程设计指导书
数据结构课程设计指导一、课程设计要求课程设计是数据结构课程的一个综合实践练习,是有别于课程实验的一个独立实践教学环节。
课程设计一般在课程结束后进行,教学时数为1周。
具体要求如下:1、结合实际问题进一步理解和深化课程理论知识,做到理论与实际相结合。
2、能对实际问题进行分析和抽象,并进行数据结构设计和算法设计,具有初步的分析问题和解决问题的能力。
3、了解软件工程的理论与方法,初步掌握软件开发过程中的需求分析、系统设计、编码、测试等基本方法和技能。
4、进一步强化编程训练,提高程序设计能力。
5、设计内容要有一定的深度和难度,达到一定工作量,代码量不低于500行。
二、课程设计内容课程设计的主要工作如下:1、问题定义与需求分析:根据设计题目的要求,对问题进行分析,确定系统的功能需求和性能需求。
2、数据结构与算法设计:对问题描述中涉及的数据对象定义相应的数据结构,包括逻辑结构、存储定义和主要操作。
对主要算法要进行时间和空间复杂度分析。
3、概要设计:采用面向对象方法设计软件结构,定义类及类之间的关系。
要求系统结构合理、易于实现。
4、详细设计:对数据结构和基本操作做进一步的求精,写出数据存储定义,用程序流程图或伪码对算法进行描述。
5、编码与测试:用C++编程实现系统,并设计测试用例对系统进行测试,修改程序中的错误,形成格式和风格良好的源程序清单。
6、设计结果分析:对系统应用效果进行分析,评价系统的先进性、实际应用价值及在在的问题。
7、撰写课程设计报告。
三、课程设计考核课程设计考核内容包括设计作品和设计报告两个部分。
设计作品包括可运行的源程序(刻录成光盘),系统使用说明,主要程序代码(打印附在课程报告内)。
课程设计报告主要报告系统分析、设计和实现过程,内容如下:1、问题定义及设计要求;2、主要设计内容:详细报告课程设计中所做的主要工作,包括系统分析、概要设计、数据结构设计、算法设计及模块设计和编程及测试等。
3、总结与体会:写出本次课程设计的主要创新点及存在的问题。
《数据结构》课程设计指导书
《数据结构》课程设计指导书一、课程教学目标用所学的数据结构有关理论知识,结合实际问题设计相关算法及程序达到理论与实践相结合的目的(该课程设计为必修课,2学分)。
二、设计目的1、掌握如何利用合适的数据结构和相应的算法来解决实际问题的方法,巩固和掌握《数据结构》这门课的理论知识和实践技能。
2、进一步加强学生的程序设计能力的培养,增强分析问题、解决问题的能力,掌握软件设计思想。
三、教学基本内容及学时安排1、设计内容(1)一元多项式的表示及其运算(要求:包括相加、相减、相乘等运算);(2)集合的表示与运算;(3)航空客运订票系统;(4)马踏棋盘问题(要求,设计算法为非递归算法);(5)算术表达式求值问题;(6)迷宫问题(要求:设计算法为非递归算法);(7)哈夫曼编/译码器;(8)校园导游咨询;(9)图的遍历、最小生成树、拓扑排序、关键路径、最短路径等内容;(10)学生成绩管理系统等;(要求:结合查找、排序思想)说明:从以上内容中任选一个或多个设计内容进行设计,或自选设计题目,但难度应适中,须经指导教师同意。
2、设计要求:在TC或VC环境下进行设计。
四、重要教学环节1、步骤选题----安案设计----详细设计----上机调试----分析结果----写出设计报告2、指导答疑与相关指导教师进行协商。
五、设计进程及要求1、第一周周一进行选题2、第一周周二至周三进行需求分析与概要设计2、第一周周四至第二周周三详细设计并上机调试3、第二周周四写出课程设计说明书并上交4、第二周周五答辩要求:在上机期间不准无故缺勤,有事须向指导教师请假。
六、设计说明书的撰写内容和要求1、说明书的撰写内容:设计题目、设计问题描述、设计方案与概要设计、详细设计、系统运行说明、测试结果、总结分析(包括此系统的优缺点及可进一步完善的功能)、附录(源程序文件清单)。
(格式见附录三)2、要求:图表规范、语言准确、流畅、内容充实,字数5000字左右(包括图表、附录不算)。
《数据结构》课程设计指导书
《数据结构》课程设计指导书课程设计名称:数据结构课程设计09102版服务课程名称:数据结构课程设计适用班级:BX0805、BX0806 课程设计周数:1-2周指导老师:王中华(wangzh@)指导方式:集体辅导与个别答疑相结合课程设计授课单位:上海电机学院电子信息学院计算机基础教学部课程设计教材及主要参考资料:陈元春等编著的《实用数据结构基础》,中国铁道出版社严蔚敏,吴伟民编著的《数据结构》,清华大学出版社一、课程设计教学目的及基本要求1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
5.设计的题目要求达到一定工作量,并具有一定的深度和难度。
6.编写出课程设计报告,报告正文不得少于10页(其中正文文字部分不得少于七页,代码不算页数)。
二、课程设计内容及安排1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?2.逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。
逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;3.详细设计:定义相应的存储结构并写出各函数的伪码算法。
在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。
详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;4.程序编码:把详细设计的结果进一步求精为程序设计语言程序。
数据结构课程设计指导书
一、课程设计的基本任务数据结构是一门涉及多门课程的课程,难度较大,需要较好的C语言的程序设计和调试能力,如果学生能够按照要求,从时间和精力上保证完全的投入,相信能够有很大的收获,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。
《数据结构》课程设计是计算机科学与技术专业的主要实践性教学环节。
在进行了专业基础课和《数据结构》课程的基础上,设计一个实际的应用软件,初步软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为毕业设计和以后的工程实践打下良好的基础。
二、课程设计的基本要求课程设计按照教学要求需要一周时间完成,总共至少要上机调试程序10小时。
对每个题目要有需求分析,在需求分析中,将题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。
给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来。
对有些题目提出算法改进方案,比较不同算法的优缺点。
如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法;2 对每个题目要有相应的源程序(可以是一组源程序,即详细设计部分):源程序要按照写程序的规则来编写。
要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序能够运行,要有基本的容错功能。
尽量避免出现操作错误时出现死循环;3 最后提供的主程序可以象一个应用系统一样有主窗口,通过主菜单和分级菜单调用课程设计中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能进行其他功能的选择。
1、能力培养要求①巩固和加深对数据结构的理解,提高综合运用本课程所学知识的能力。
②培养学生选用参考书,查阅手册及文献资料的能力。
培养独立思考,深入研究,分析问题、解决问题的能力。
数据结构课程设计指导书
数据结构课程设计指导书迷宫求解1.设计目的仅仅认识到栈是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解栈的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方法。
2、问题描述迷宫问题是取自心理学的一个古典实验。
在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。
盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。
对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。
老鼠经过多次试验最终学会走通迷宫的路线。
设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。
图A3.设计要求要求设计程序输出如下:(1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏幕上显示出来;(2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。
(3)用一种标志(如数字8)在迷宫中标出该条通路;(4)在屏幕上输出迷宫和通路;(5)上述功能可用菜单选择。
顺序栈的类型定义如下:# define StackSize 100typedef char datatype;typedef struct {datatype data[stacksize]; int top; }seqstack; seqstack *S;设S是SeqStack类型的指针变量。
若栈底位置在向量的低端,即s–>data[0]是栈底元素,那么栈顶指针s–>top是正向增加的,即进栈时需将s–>top加1,退栈时需将s–>top 减1。
因此,s–>top<0表示空栈,s–>top =stacksize-1表示栈满。
当栈满时再做进栈运算必定产生空间溢出,简称“上溢”;当栈空时再做退栈运算也将产生溢出,简称“下溢”。
《数据结构课程设计》指导书
《数据结构》课程设计指导书沈阳理工大学.信息学院2013.11.1一.目的与意义软件设计能力对计算机专业的学生是很重要。
通过数据结构的学习,使学生对软件编程能力有一定的提高。
数据结构课程设计是锻炼学生在进一步掌握模块化、结构化程序设计的方法的同时,培养学生运用已学知识分析问题、解决问题及编写实用程序的能力,通过对线性化、层次化、网络化数据结构的了解进一步掌握自然数据的结构方式及组织方式,让学生深入体会存储在计算机中的数据及程序中如何运用数据实现编程。
主要目的如下:1.通过本课程设计使学生对面向对象的设计过程有初的认识,并对面向对象的高能语言的学习打下基础,2.通过不同类型的程序设计使学生进一步掌握数据的几种不同的组织和存储方式,为高级编程做准备,3.为专业课的深入学习和毕业设计打基础二.任务和要求分析每一组题目,按要求完成相应的题目:1.题目参照附录中《数据结构课程设计》题目选题。
2. 要求:1)对相应的题目进行算法设计2)编写源代码3)上机调试4)显示调试结果5)写出实验总结3.课程设计说明书设计完成后,将自己选定的题目按上述要求完成课程设计说明书。
课程设计说明书内容包含:题目、要求、初步设计(可以是流程图、功能模块图)、详细设计、程序代码、测试数据、运行结果、遇到的问题及总结几部分。
三.进度安排设计总学时为2周第一周:查阅资料、小组讨论、进行模块划分写出分析报告,画N-S结构化框图,编写程序清单,上机调试.第二周周四、五:验收(计算机机房),并将课程设计报告交上来.四.考核标准与成绩评定方式成绩评定有如下几项参考:1.初步设计内容的考核:是否有查阅资料能力?是否有设计思想?2.程序编码能力调试能力的考核:程序是否清晰、易读?在技算计上是否可独立完成程序的调试,是否熟练?3.说明书质量的考核:设计结构是否合理?叙述是否正确?方案是否可行?4.答辩:设计结果的调试能力,对自己设计是否熟练?5.出勤率极平时表现的考核:出勤超过2次不到者成绩为不及格。
数据结构课程设计
《数据结构》课程设计实践指导书一、实践的目的和任务《数据结构》课程设计是计算机科学技术专业集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习。
开设本课程设计实践的主要目的就是要达到理论与实际应用相结合,提高学生的动手能力,完成计算机应用能力的培养;主要任务是通过对给定问题的求解,使学生在运用《数据结构》、程序设计以及其它所学课程中的各种基本技术和理论,在建立问题模型、构造求解算法、设计数据结构、编程及上机调试等方面得到全面的锻炼,从而能更深刻地理解《数据结构》的精髓,为后续软件课程的学习及软件设计能力的提高奠定良好的基础。
二、实践的内容和要求(一)实践内容实践内容为数据结构课程完成后,运用《数据结构》、程序设计以及其它所学课程中的知识和技术来解决实际的问题。
在解决实际应用性问题时,按照计算机解决问题的步骤进行以下几个方面的工作:采用简明、严格的问题描述,建立模型,设计求解方法,用计算机实现求解方法,最后进行测试和文档制作。
1、建立模型许多问题的最初描述既不精确又不简练,还有一些问题不可能简单而精确地用计算机可求解的形式来描述,即使有些可用计算机求解的问题,也需要在很大范围内确定问题的参数,而那些合理的参数值只有通过实验才能确定。
因此,要用计算机解决问题,必须首先要以简明、严格的方式将问题描述清楚。
数学或其它科学中的几乎所有分支都可作为某一类具体问题的抽象模型。
例如,在涉及到若干对象及其相互间关系的问题时所用的数学模型为图论;数值计算问题中常用的数学模型为线性方程组(用于求解电路的电流强度或结构中的应力)或微分方程(用于预报人口增长情况或化学反应速度等);在符号与文本处理问题时常用字符串及形式语法作为模型(如编译系统)。
《数据结构》课程中所介绍的各种结构均可作为一种模型。
2、构造算法对问题建立了适当的数学模型后,就可以依据这一模型求解。
最初的目标是给出一个算法形式的解法,这是设计的核心部分。
《数据结构》课程设计指导书1
《数据结构》课程设计指导书(共13题)一、课程设计的目的课程设计的目的是培养学生综合程序设计的能力,训练学生灵活应用所学数据结构知识,独立完成问题分析、总体设计、详细设计和编程实现等软件开发全过程的综合实践能力。
巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的学习作风。
为今后学习其他计算机课程打下基础。
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将书本上的理论知识和工作、生产实际有机地结合起来,从而锻炼学生分析问题、解决实际问题的能力,提高学生的编程序能力和创新意识。
二、课程设计的要求在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过算法的设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的课程设计与程序分析报告。
前期准备工作完备与否直接影响到后序上机调试工作的效率。
三、课程设计的学生分组情况每组三至五人,共同研究、共同讨论,可以共同编写算法,但必须各自独立完成各自的程序。
四、课程设计的时间安排课程设计前两周:将各项任务及问题进行讲解、分析。
课程设计一周:星期一:学生对任务进行讨论、研究与分析,初步设计出算法。
星期二到星期四:设计出详细算法,并上机调试程序。
星期五到星期六:写出课程设计报告并考核。
五、课程设计的主要内容【课程设计题目一】一元稀疏多项式加法、乘法器【问题描述】设计一个一元稀疏多项式加法、乘法器用于计算两个多项式的加法和乘法。
例如(x2+4x5+2x9)+(x+3x4)或(7x4+4x6+2x9)*(x4+3x9)【基本要求】(1)输入并建立两个多项式f(x)和g(x);(2)输出每个多项式,要求输出时按指数从小到大输出。
(3)两个多项式完成加法、乘法运算。
(4)输出两个多项式的加法之和及乘积的结果。
(5)写出课程设计报告【实现提示】用带表头结点的单链表存储多项式。
【测试数据】分别选定三组测试数据进行测试,验证程序的正确性。
《数据结构课程设计方案》指导书
《数据结构课程设计》指导书一、实习目的数据结构课程设计是一项综合性设计活动,要求在教师的指导下,利用本课程内的以及到目前为止所学到的有关知识和技术解决一些不太复杂但却是综合性的问题。
从规模来说,课程设计是在平时作业的基础上进一步扩大的大作业。
在设计中,要求学生要全面考虑相互联系的各个方面及问题。
通过课程设计,使学生对整个课程的知识体系有较深入的理解,在运用本课程的知识解决实际问题方面得到锻炼,对锻炼学生的实践能力以及运用本课程的知识、方法解决更为复杂的实际问题有较好的启发和指导作用,从而为后续课程的学习、毕业设计环节以及将来的实际工作打好坚实的基础。
通过对给定问题的求解,使学生在运用《数据结构》、程序设计以及迄今为止所学课程中的各种基本技术和理论,在建立问题模型、构造求解算法、设计数据结构、编程及上机调试等方面得到全面的锻炼,从而能更深刻地理解《数据结构》的精髓,为后续软件课程的学习及软件设计能力的提高奠定良好的基础。
二、数据结构课程设计要求1.学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。
有问题及时主动通过各种方式与教师联系沟通。
2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。
3.课程设计按照教案要求需要两周时间完成(2周共十天)。
三、实习基本内容本次课程设计完成如下模块(共23个模块,学生可以在其中至少挑选5-6个功能块完成,其中8、9、10、13在做5个以下不算数但已经做了5个以上算数)1 【校园导游程序】问题描述:用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。
要求能够回答有关景点介绍、游览路径等问题。
基本要求:查询各景点的相关信息;查询图中任意两个景点间的最短路径;查询图中任意两个景点间的所有路径;增加、删除、更新有关景点和道路的信息。
(完整版)《数据结构课程设计》指导书
《数据结构课程设计》指导书一、实习目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。
通过对给定问题的求解,使学生在运用《数据结构》、程序设计以及迄今为止所学课程中的各种基本技术和理论,在建立问题模型、构造求解算法、设计数据结构、编程及上机调试等方面得到全面的锻炼,从而能更深刻地理解《数据结构》的精髓,为后续软件课程的学习及软件设计能力的提高奠定良好的基础。
二、数据结构课程设计要求通过这次设计,要求在数据结构析逻辑特性和物理表示,数据结构的选择的应用、算法的设计及其实现等方面中深对课程基本内容的理解。
同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
学生必须仔细阅读《数据结构》课程设计指导书,认真主动完成课设的要求。
有问题及时主动通过各种方式与教师联系沟通。
学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报.课程设计按照教学要求需要一周时间完成(1周共五天).三、实习基本内容本次课程设计完成如下模块(共5个模块,学生可以在其中至少挑选3—4个功能块完成)1.校园导游程序2.员工管理系统或者订票系统3。
哈夫曼编/译码器或者拓扑排序4。
八皇后问或者迷宫问题求解5.停车场管理或者修道士野人问题若学生对课题表以外的相关课题较感兴趣,希望选作课程设计的课题时,应征得指导教师的认可,并写出明确的设计要求和说明.四、上交相关内容要求上交成果的内容必须由以下四个部分组成,缺一不可1.上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);2.上交程序的说明文件:(保存在.txt中)在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使用说明;3.课程设计报告:按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;其中包括:需求分析:(2)在该部分中叙述,每个模块的功能要求(3)概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义.(4)详细设计各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现).源程序要按照写程序的规则来编写。
数据库课程设计指导书
数据库课程设计指导书第一讲:数据库设计概述、规划、需求分析课时:2课时教学课型:理论课教学目的要求:理解数据库设计的基本内容,了解数据库规划及需求分析的具体方法。
教学重点与教学难点:需求分析的步骤1 数据库设计概述数据库设计是指:在给定的应用环境下,创建一个性能良好的能满足不同用户使用要求的,又能被选定的DBMS所接受的数据格式。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。
1.1数据库设计的内容与特点数据库设计两个方面:结构特性的设计与行为特性的设计结构特性设计——数据库框架和数据库结构设计行为特性设计——应用程序设计,如查询、报表处理,一般由面向对象的程序给出用户操作界面。
数据库结构设计与行为设计要相互参照,它们组成统一的数据库工程。
1.2 数据库设计方法新奥尔良方法分为四个阶段:需求分析、概念设计、逻辑设计、物理设计。
具体的实现技术与实现方法:如基于E—R模型的数据库设计方法(针对概念结构设计阶段),基于3NF的设计方法,基于抽象语法规范的设计方法。
规范设计法分为两种:手工设计和计算机辅助设计(如Oracle Designer 2000、Rational Rose,它们可以帮助或者辅助设计人员完成数据库设计中的很多任务)。
1.3 数据库设计的步骤三个阶段:总体规划,系统开发设计,系统运行和维护。
1.数据库规划阶段(总体目标和技术路线,得出数据库设计项目的可行性分析报告;对数据库设计的进度和人员分工做出安排)2.需求分析阶段(弄清用户要求,是基础。
影响到数据库设计的结果是否合理与实用)3.概念结构设计阶段(独立于计算机的数据模型,独立于特定的DBMS。
它通过对用户需求综合、归纳抽象、形成独立于具体DBMS的概念模型。
是各用户关心的系统信息结4.逻辑结构设计阶段(转换为某个DBMS所支持的数据模型,并进行优化)5.物理结构设计阶段(设计一个在限定的软、硬件条件和应用环境下可实现的,运行效率高的物理数据库结构)6.数据库实施与维护阶段(根据逻辑结构设计及物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行)2 数据库规划规划过程:1.系统调查:调查,就是要搞清楚企业的组织层次,得到企业的组织结构图。
数据结构课程设计10577
《数据结构》课程设计指导书课程设计名称:数据结构课程设计指导老师&***课程设计周(时)数:1周指导方式:集体辅导与个别辅导相结合课程设计适用专业:网络工程系一.课程设计的目的1、掌握数据结构与算法的设计方法,初步具备根据应用需求选择合理数据结构并进行算法设计的能力;2、进一步提升C语言的应用能力;2、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;5、提升文档写作能力。
二.课程设计要求1、认真分析课题内容和要求,明确设计任务。
2、仔细分析课题,合理设计算法。
3、一人一题,必须独立完成。
4、必须在规定的时间内完成课设任务,否则没有资格参加答辩,无成绩。
5、严禁抄袭,否则取消答辩资格或成绩作废。
6、设计达到一定工作量(300行以上代码)。
7、课程设计说明书不少于15页(不包括代码)。
三、课程设计方法与步骤1、问题定义与需求分析:根据设计题目的要求,充分地分析和理解问题,确定功能需求和限制条件。
2、数据结构设计:对问题描述中涉及的操作对象定义相应的数据类型和各抽象数据类型,写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明)。
3、总体设计:采用结构化设计方法,按照以数据结构为中心的原则划分模块,设计软件层次结构和模块间的调用关系,定义主程序,画出模块之间的调用关系图。
在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试。
4、详细设计:定义数据存储结构,各个主要模块的算法定义。
详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,用伪码写出函数的算法。
5、程序编码:把详细设计的结果进一步求精为程序设计语言程序。
同时加入一些注解,使程序中逻辑概念清楚。
数据结构课程设计指导书
{count++;
q=p;
p=p->next;ቤተ መጻሕፍቲ ባይዱ
if(p->data==NULL)
{q=p;p=q->next;}
}
printf("%d",p->data);
if(p!=q)
{q->next=p->next;
free(p);
p=q->next;}
else
{
free(p);
/*建立一个无头结点的循环单链表*/
p=malloc(sizeof(LNode));
p->data=1;
p->next=p;
for(i=n;i>1;i--)
{q=malloc(sizeof(LNode));
q->data=i;
q->next=p->next;
p->next=q;
}
/*查找报数的起始结点*/
【基本要求】
(1)设计本校的校园平面图,所含景点不少于6个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。可以拓展。
Alter()的功能:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
Delete()的功能:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
List()的功能:显示通讯录中的所有记录。
Save()的功能:保存通讯录中的所有记录到指定文件中。
数据库课程设计指导书
《数据结构与数据库》课程设计实习指导书黑龙江工程学院2012年12月实例一:学生信息管理系统一、课程设计任务设计一个《学生信息管理系统》,并在微机上实现。
要求用到的数据全部存放在数据库中,通过数据库操作完成各种数据的输入输出。
在课程设计过程中,首先要分析系统的用户需求和功能特点,然后完成数据库的设计以及整个系统的设计,实现对学生成绩的管理。
二、软硬件环境:硬件环境Pentium 4以上微机,内存128MB以上,建议256MB。
操作系统:Windows Me/Xp/Vista。
编程环境:C#程序设计语言,Access2003/2007数据库,通过控件访问。
三、课程设计指导学生成绩管理系统的设计与实现1引言学生成绩的手工登录与查询,是一项非常繁重而枯燥的劳动,耗费许多人才和物力,而且会因人的情绪烦躁而出现失误,因此在计算机飞速发展的今天,应用数据库技术实现学生成绩的计算机管理是可行而必要的工作。
本课程设计旨在对学生成绩实现计算机管理,提高工作效率,提高管理水平。
2 系统分析2.1 选择开发工具必须在Windows Me以上操作系统下完成设计。
根据每个同学对程序设计语言和数据库知识掌握的具体情况,建议采用以下方案:C#程序设计语言,Access2003/2007数据库,通过。
2.2 系统规划学生成绩管理,主要涉及学生、课程、成绩等数据库表。
为简单起见,成绩可不考虑五级记分制的字符型分值,如优、良、中、及格、不及格等;只考虑:数字型的分值,如95,90,55等。
对这些数据,按统计查询和报表输出的要求,进行合理的组织,以满足用户的要求。
在计算机飞速发展的今天,调用数据库编写管理软件,已是很成熟的技术,关键是如何实现设计要求,如何设计出友好的人机界面,使程序运行稳定、使用方便、操作简便。3 系统设计3.1 系统数据库设计数据库设计主要考虑数据规范化的五个层次:(1) 消除重复的数据组;(2) 消除多余的数据;(3) 消除不依赖于关键字的列;(4) 分离独立的几个关系;(5) 分离语义相关的多个关系。
数据结构课程设计指导书
数据结构课程设计指导书《数据结构》课程设计指导书一、课程设计目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
课程设计是加强学生实践能力的一个强有力手段。
本课程设计的目的就是要达到理论与实际应用相结合,使学生深化理解书本知识,获取上机实践经验,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养软件工作者所需的动手能力、独立解决问题的能力。
该课程设计侧重软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,以至一整套软件工作规范的训练和科学作风的培养。
通过该课程设计的操作与实践,使学生真正掌握数据结构相关算法的实现及应用方法,在一定程度上提高使用数据结构相关算法的综合设计能力,具体掌握的基本能力如下:1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、课程设计要求学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课程设计的要求。
通过设计一个完整的程序,使学生掌握数据结构的应用,算法的编写。
要求如下:1.做好上机准备:要充分认识课程设计对自己的重要性,认真做好设计前的各项准备工作。
每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
2.既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
充分利用时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况,及时向教师汇报。
3.独立思考,独立完成:课程设计中各项任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构与数据库课程设计指导书数据结构与数据库课程设计指导书一、课程设计的目的、要求和任务本课程设计通过设计完整的程序,使学生掌握数据结构的应用、算法的编写等基本方法。
掌握数据库应用程序设计的步骤和方法。
1.课程的目的(1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。
(2)使学生掌握数据库设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。
(3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力;2.课程的基本要求与任务(1)巩固和加深对数据结构基本知识的理解,提高综合运用所学课程知识的能力。
(2)培养学生自学参考书籍,查阅手册、图表和文献资料的能力。
(3)通过实际课程设计,初步掌握简单软件的分析方法和设计方法。
(4)了解与课程有关的工程技术规范,能正确解释和分析实验结果。
(5)题目具有足够的工作量。
(6)有能力的同学可以按照数据库的原理设计数据库表逻辑结构,通过数据结构的方法用C++/Java/C语言编写程序实现表中数据的插入、删除、查找等操作。
二、课程设计的一般步骤选题与搜集资料:分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。
程序设计:运用掌握C++/Java/C语言编写程序,实现程序的各个模块功能。
调试与测试:调试程序,并记录测试情况。
完成课程设计报告。
验收与评分:指导教师对每个同学的开发的系统进行综合验收。
三、课程设计报告的规范课程设计报告(3000字以上,数据结构题目1000字以上,数据库题目2000字以上)数据结构题目要求规范书写,应当包括如下8个部分:(1)问题描述:描述要求编程解决的问题。
(2)基本要求:给出程序要达到的具体的要求。
(3)算法思想:描述解决相应问题算法的设计思想。
(4)模块划分:描述所设计程序的各个模块(即函数)功能。
(5)数据结构:给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义的抽象数据类型。
(6)源程序:给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参数的含义和函数返回值的含义。
(7)测试数据:设计测试数据,或具体给出测试数据。
要求测试数据能全面地测试所设计程序的功能。
(8)测试情况:给出程序的测试情况,并分析运行结果(9)总结和体会数据库要求规范书写,应当包括如下6个部分:(1)系统概述(2)需求分析(3)概念结构设计(4)逻辑设计(5)物理设计(6)实现数据库(7)总结和体会四、成绩评定标准学生成绩以优、良、中、及格和不及格5个等级评定。
(1)学生编写的实际软件和运行结果,占总成绩50%;(2)设计报告,占总成绩50%。
五、数据库题目及要求一、题目按照学号的尾号选择以下系统之一:1、工资管理系统2、药品管理系统3、学生宿舍管理系统4、图书管理系统5、网上销售管理系统6、酒店管理系统7、物业管理系统8、人事管理系统9、学生成绩管理系统10、教室排课管理系统二、要求(一)数据库设计1、对系统进行需求分析。
2、对系统进行概念结构设计。
(画出局部和全局E_R图)3、对系统进行逻辑结构设计(转换成关系模型)4、对系统进行物理结构设计:(1)用T-SQL语句创建数据库(2)用T-SQL语句创建所有的表及设置主键(3)用T-SQL语句给需要设外键的表设置外键(4)用T-SQL语句给表加上check约束、UNIQUE约束、DEFAULT约束5、使用insert语句初始化数据库(给每个表至少插入5条记录)需求分析、概念结构设计、逻辑结构设计物理设计、初始化数据(插入记录)流程控制语句与函数、视图、索引、游标数据查询存储过程、触发器、数据备份、课程设计报告的整理和编写六、数据结构课程设计参考题目类型一线性表、栈、队列与递归算法设计1.约瑟夫环[问题描述]约瑟夫(Joeph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。
试设计一个程序求出出列顺序。
[基本要求]利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。
[测试数据]m的初值为20;密码:3,1,7,2,4,8,4(正确的结果应为6,1,4,7,2,3,5)。
[实现提示]程序运行后首先要求用户指定初始报数上限值,然后读取各人的密码。
设n≤30。
2、长整数运算[问题描述]设计一个程序实现两个任意长的整数求和运算。
[基本要求]利用双项循环链表实现长整数的存储,每个结点含一个整型变量。
任何整型变量的范围是-(215-1)~(215-1)。
输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。
[测试数据](1)0;0;应输出“0”。
(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。
(3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。
(4)1,0001,000;-1,0001,0001;应输出“0”。
(5)1,0001,0001;-1,0001,0000;应输出“1”。
[实现提示](1)每个结点中可以存放的最大整数为215-1=32767,才能保证两数相加不会溢出。
但若这样存,即相当于按32768进制数存,在十进制数与32768进制数之间的转换十分不方便。
故可以在每个结点中仅存十进制数的4位,即不超过9999的非负整数,整个链表视为万进制数。
(2)可以利用头结点数据域的符号代表长整数的符号。
用其绝对值表示元素结点数目。
相加过程中不要破坏两个操作数链表。
两操作数的头指针存于指针数组中是简化程序结构的一种方法。
不能给长整数位数规定上限。
[选作内容]修改上述程序,使它在整型量范围是-(2n-1)~(2n-1)的计算机上都能有效地运行。
其中,n 是由程序读入的参量。
输入数据的分组方法可以另行规定。
3、多项式链式存储结构及其代数运算[问题描述]设计并建立一个链式存储分配系统来表示和操作多项式。
为了避免对零和非零多项式进行不同的处理,使用带头结点的循环链表。
为了充分利用多项式中不再使用的结点,维护一个可用空间表avail,把不再使用的多项式的结点链入其中。
当需要一个新结点时,就查看这个单链表avail。
如果表非空,那么可以使用它的一个结点。
只有当该表为空时,才使用动态存储分配来创建新结点。
[基本要求]设计多项式的存储结构,编写并测试下列函数:a) get_node和ret_node,从/向可用空间表申请和插入一个多项式结点。
b) pread,读取一个多项式,并将其转换成循环存储表示。
返回指向该多项式的头结点的指针。
c) pwrite,输出多项式,采用能够清楚显示的形式。
d) padd,计算d = a+b。
不改变a和b。
e) psub,计算d = a-b。
不改变a和b。
f) pmult,计算d = a*b。
不改变a和b。
g) eval,计算多项式在某点a的值,其中a 是一个浮点型常量。
返回结果为浮点数。
h) perase,把存储表示为循环链表的多项式返还给可用空间表。
[实现提示]为了进一步简化加法算法,把多项式的头结点的指数域设为-1。
4、稀疏矩阵的完全链表表示及其运算[问题描述]稀疏矩阵的每个结点包含down,right,row,col和value五个域。
用单独一个结点表示一个非零项,并将所有结点连接在一起,形成两个循环链表。
使得第一个表即行表,把所有结点按照行序(同一行内按列序)用right域链接起来。
使得第二个表即列表,把所有结点按照列序(同一列内按行序)用down链接起来。
这两个表共用一个头结点。
另外,增加一个包含矩阵维数的结点。
稀疏矩阵的这种存储表示称为完全链表表式。
实现一个完全链表系统进行稀疏矩阵运算,并分析下列操作函数的计算时间和额外存储空间的开销。
(2)设计目的认识和掌握稀疏矩阵的完全链表表示;能够建立并运用这种存储结构(3) 基本要求建立一个用户友好、菜单式系统进行下列操作,并使用合当的测试数据测试该系统。
读取一个稀疏矩阵建立其完全链表表示输出一个稀疏矩阵的内容删除一个稀疏矩阵两个稀疏矩阵相加两个稀疏矩阵相减两个稀疏矩阵相乘稀疏矩阵的转置(4)实现提示链表上的操作。
5、实现简单数字图像处理[问题描述]一幅图像就是一个从位置集到颜色集的变换。
考虑二维图像,位置集实际上就是一个矩阵,此时一幅图像实际上就是一个内容为颜色矩阵。
如果颜色为0-255间的整数,表示该位置的灰度等级,0为黑色,255为白色,此时的图像称为灰度图。
而图像的处理就是在该矩阵进行相关计算。
一种常见的计算就是通过一点和周围8个点的信息共同决定该点的新值:如一点的新值为该点和周围8点颜色值之和的均值,这一操作可用下图表示。
1/9 1/9 1/91/9 1/9 1/91/9 1/9 1/9图像平滑模板显然这样处理后,图像会变得平滑,因此称为平滑操作。
显然将上述操作变为下图时,就成为锐化操作。
-1 -1 -1-1 9 -1-1 -1 -1图像锐化模板要求实现若干基本的图像处理操作。
[基本要求]①熟悉Windows下BMP文件的格式,能够实现其读写(只考虑灰度图像)。
②实现图像的平滑和锐化操作,其它处理操作选做。
③需用VC++作为语言。
6、回文判断[问题描述]试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1&序列2’模式的字符序列。
其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。
例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。
[实现提示]首先,序列1进栈,然后序列1出栈并与序列2比较。
[测试数据]由学生依据软件工程的测试技术自己确定。
注意测试边界数据,如序列1和序列2均为空串。
7、商品货架管理[问题描述]商品货架可以看成一个栈,栈顶商品的生产日期最早,栈底商品的生产日期最近。
上货时,需要倒货架,以保证生产日期较近的商品在较下的位置。
[基本要求]针对一种特定商品,实现上述管理过程。
[实现提示]用栈模拟货架和周转空间。
[测试数据]由学生依据软件工程的测试技术自己确定。
注意测试边界数据,如空栈。
8、停车场管理[问题描述]设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。