算法课程设计报告 java课程设计报告只是某种算法怎么写

作者&投稿:赏看 (若有异议请与网页底部的电邮联系)
题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。
给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来 。
对有些题目提出算法改进方案,比较不同算法的优缺点。
如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法;
2 对每个题目要有相应的源程序(可以是一组源程序,即详细设计部分):
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序能够运行,要有基本的容错功能。尽量避免出现操作错误时出现死循环;
3 最后提供的主程序可以象一个应用系统一样有主窗口,通过主菜单和分级菜单调用课程设计中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能进行其他功能的选择。最好有窗口展示部分。
4 课程设计报告:(保存在word 文档中,文件名要求 按照"姓名-学号-课程设计报告"起名,如文件名为"张三-001-课程设计报告".doc )按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;
其中包括:
a)需求分析:
在该部分中叙述,每个模块的功能要求
b)概要设计
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
c)详细设计
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
d)调试分析
测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
5. 课设总结: (保存在word 文档中)总结可以包括 : 课程设计 过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对C课程的认识等内容;
6.实验报告的首页请参考如下格式:

课程设计实验
起止日期:20 -20 学年 学期
系别 班级 学号 姓名
实验题目 □设计性 □综合性
自我评价
教师评语 能够实现实验要求的功能 □全部 □部分算法有新意 □有 □一般程序运行通过 □全部 □部分 算法注释说明 □完善 □仅有功能说明接口参数说明 □有 □无按期上交打印文档资料及源程序 □所有 □部分综合设计说明报告结构 □合理 □不合理用户使用说明 □完整 □不全现场演示操作有准备 □有 □无问题解答流畅 □流畅 □不流畅独立完成实验 □能 □不能体现团队合作精神。 □能够 □不能
成绩

这是张表格,copy过来时没调整好,不过应该看得明白。我们是这样写的,你可以参考一下。

实验报告:

1. 需求分析
以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?明确规定:输入的形式和输出、值的范围;输出的形式;程序所能达到的功能;测试的数据:包括正确的输入和错误的输入及其相应的输出结果。
2. 概要设计
说明程序中用到的所有抽象数据类型的定义,主程序的流程以及各程序模块之间的层次(调用)关系。
3. 详细设计
实现概要设计中定义所有数据类型,对每个操作只需要写出伪代码算法(伪代码算法达到的详细程度建议为:按照伪代码算法可以在计算机键盘直接输入高级程序设计语言程序),画出函数的调用关系图。
4. 调试分析
内容包括:调试过程中遇到的问题并且是如何解决的以及对设计实现的回顾讨论和分析;算法的时空分析(包括基本操作和主要算法的时空复杂度的分析)和改进设想;经验和体会等
5. 测试结果
列出测试结果,包括输入的数据和相应的输出数据。这里的测试数据应该完整和严格,最好多于需求分析中所列。
6. 总结
总结可以包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《算法分析》课程的认识等内容。
7、附录
应附上带详细注释的源程序。在上交资料中请写明:存储结构、基本过程的算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法。

谁能帮我写个算法的课程设计? 要有代码,最好有报告,如果没有报告也行···周六之前就要!~

1、我觉得先学学JSP,用纯JSP做个日记本简单的小系统,纯粹从语言层面上了解一些基础知识,把tomcat玩熟了,就用记事本编就行,主要是熟悉,能够理解jsp运行机制。然后学学java,看本基础的书,都是那种讲讲语法的,变量怎么定义,流程控制语句怎么写,怎么编写函数,怎么处理表单元素,处理字符串,连接数据库,会一种就行。这些都是浮在语言表面,你编写的程序还是结构化的,跟你以前用asp编的程序没什么区别,但是这很重要。你可以直接选择目前公司里都在使用的Eclips来开发,但是你要区分IDE和Java的区别,不要被IDE邦死了。这些都熟了之后看《thinking in java》,看完之后,看core java两卷,深入了解到java本身。看这些书的时候你可能就懵懂的进入oo世界了,估计还不太明白。可以配合一些oo的理论方面的书,oo不过就是那几个特点,封装分配,多态性,继承,第一个要理解的当然是对象。看完这些后就可以学习UML建模了,主要会画三种图,用例图,类图,序列图,三种图就足够了。不要期望自己一下就学会UML,就会建模,得跟java学习联系起来,编个几万行代码,慢慢就会设计对象了。然后看GOF《设计模式》,对你的面向对象思想一个巨大的提升,这时你一定会去重读继承,接口,抽象类的相关的细节了,并且你会发现你的理解能力上了一个台阶。然后看看三层结构的知识,这时候编程考虑使用jsp+servlet+javabean,分出表示层,业务层和数据访问层,这是基础。
2、 以上都是J2SE,然后看thinking in enterprise java,学习j2ee基础知识,你慢慢就会明白持久层的一些机制了,后面的什么各种新鲜的东西,CMP的东西本质是什么,你都很好理解了。当然你要不断编码,把书里的概念都变成实践,只有自己动手做,才能理解,看会不等于学会,学会不等于学精,学好技术不等于会设计,层次会越来越高。实践是认识的唯一来源!!!一定要实践。

3、编码时你可以考虑看看《重构》这本书,觉得很好,同时还可以看看Thinking in Design Pattern with java,会使你的代码越来越漂亮。

4、 现在你的代码已经很专业了,而且可以分出不同的层次,因为你知道了最基本的原则,那就是要高内聚,低耦合,要不断地解耦,但是怎么更好的解耦,什么是最佳实践,你可能并不知道,虽然你看了下面这本书,你会发现你有些做法已经是最佳实践了,但是依然会存在这种情况,有些你并不确定,那就看看core java pattern吧,都是14年以上开发经验的架构师和众多java大师的经验总结,书中序言所写,看完这本书,你将成为Java架构师。

5、这些知道之后,你已经对分层的本质很理解了,你可以知道Struts不过是框架而已,只是运用了页面助手,前端控制器,应用控制器等这些表示层或者表示层和业务层(Tier)中间连接层(Layer)的模式,对于标签的理解你也是深刻的。而到集成层,采取不同的策略和模式,数据持久化的理论和经验,框架不过是把大家都用得着的东西做好了给你用,没有框架的话很多事需要你自己做,仅此而已,跟那些伟大的思想相比,它们太简单了。至于到具体的容器,DAO策略还是CMP,BMP,在具体使用怎样的ORM工具,都是更简单的事情了。但是看spring,struts这些框架时你会重新阅读前面的java教程的,因为spring用到了java的反射机制等。

6、到此为止,你会发现你OOP时,想到的就会是性能,到底用数组还是ArryList,还是用HashMap,OOD时,你会考虑并发性,扩展性,复用性,现有框架,池,事务等方面,你会发现每一个问题,你都有好几种选择方案,你会不断重构你的代码,改良你的设计。

7、下一步是OOA,那就看一本《分析模式》吧,会教你很多分析的现成方法。

此时,你已经是OO方面的专家了,构架一个大型系统应该没有问题了,而且你的能力可以很轻易的学会Web Service,AJAX等这些时髦的东西,你编程的时候可能最常翻的书是JDK API,但是你会遇到新的问题,就是让你设计一套股票系统,可是你对股票一无所知,现学,这是必须的,但是这时你会发现你基础好差,所以在学技术的同时,多看看各个领域的书吧,其实都是有模式的,比如ERP选型,CRM的几种样子,电子商务的几种模式,看多了你也就会了,所以要学会域建模,因为你是要为商务,政务服务的,是为人服务的。

我觉得这在技术方面就算到头了,如果你想学管理,当然前提是技术,要不你不知道完成一个项目到底要多久花多少钱。你必须了解开发方法,迭代开发,XP等,当你有了技术,再看这些很容易,因为你会明白为什么要测试先行,在技术上怎么实现技术先行;你也会知道结对编码的意义。学习了这些你会是项目经理。

但是你可能还需要多看看经济领域的书和法律书,还包括中国政府的报告等等,要政治敏感,这样你才能成为比尔盖茨。这离主题有点远了。

总的原则是:
1、先从语言层面掌握Java(很多说Java容易的人都是只掌握了语言层面的人,当你面对如何解耦,怎样利用线程,如何更好复用,面向对象时,你就会觉得它好复杂好难)然后再到深入理解Java,先学J2SE再学J2EE。

2、理论和实践相结合,先看操作,理解本质和原理,然后做,然后翻过来看理论,你会觉得这件事做起来就是顺理成章的了,因为当初理论就是这么被推出来的。

3、高处着眼,有了基础后,你可以从本质上去跟上时髦的东西,比如ORM,更细点说就是Hibernate等,比如各层框架,Spring,Struts等,都很简单。

4、学好理论,你用到多线程时可能会觉得自己对于线程机制不慎了解,对对象在内存中的生命周期不清楚,对于JUnit断言的不理解,对调试程序的原理不明白,去看计算机组成原理吧;可能搞不清楚数组的本质,去看数据结构,这时你会发现自己线性代数太差;去讨论Java自带的排序算法和你自己编写的算法,可能觉得自己对一个简单的函数都看不懂,设计复杂的函数就更不会了,去看计算方法吧,这时你可能会感到你的高等数学太差了;不理解HTTP的接收应答机制,不知道AJAX原理,那么多语言都有request,response,到底原理是什么,XML的作用是什么,SOAP协议,怎么在网络上传输这些数据,看看基础知识,这些都很简单。掌握基础,只有到这时你才会觉得它重要,那就等你知道了再去看吧,也不会太晚,而且你会学的更好。不要羡慕那些硕士博士,他们没编过程序,照样不如你,有些都是真的是你不做就永远不理解,不做底层,理解不了上层。

5、学好外语,因为你会发现很多资料很多问题的答案很多调试错误的解释都是外文的,这时google是最好的工具,但是你的英文要起码可以读懂人家说什么;还有研究Web service,SOA之类的东西,往往都是英文的。

学好我说的这些,大约需要3年,但是学好JAVA,达到语言层面,只需要1周,达到内部,需要半年,达到会设计,需要做3个以前项目,达到架构师,估计得2到3年,同时那些基础中的基础,你更需要好好学,那些是最慢的。

学到语言层面只需要两样东西:玩会IDE+拿一本包含我所说的那些基本语法的书。玩会IDE你要做到会简单配置,能运行出东西,会调试(不会调试就没法编程),然后拿本JDK API,打开google和百度,有了错误就去搜索,这样学习Java真的很简单。

Linux也是要先会玩,要能上网,会下载东西,安装软件,写文档,然后就是能听歌看电影,就够了。接下来在编程,关键要会shell那些命令。看看多用户操作系统的书,建立一个理论高度,就OK了

最后说一句,中国大多数程序都停留在语言层面,很多人都是在懵懂中编程,可能调不通程序,突然改了个东西就通了,但是深层原因并不知道,很多都是东试西试试验出来的,都是黑箱编程,总感觉隔着雾看程序,我身边很多人写了一万行代码,还不理解equals和==的区别呢,还不知道Class object=new Class()等号左右两边各代表什么呢。但是他们一样能编程,一样能开发出系统,很多人都以为这样就算Java高手了,什么都能编并不等于编的好,当然什么都能编是个前提。所以要学,就学深入,起码一种语言要学深,在web开发方面,我推荐java学深,或者说沿着java路学深,这样去研究C#,.Net平台就很容易,再看ASP和PHP就觉得大家都一样了,上升到高度不过也就是设计模式的问题了,殊途同归。

该算法是做什么的,背景意义什么的网上搜一搜,copy
流程图画出来,能占一两页篇幅
针对该流程图再写一下文字版流程,一步一回车,写好后剪切到流程图前面
核心代码copy进来
该算法由何种思想演变而来,写一写
讨论该算法的时间复杂度
和其他有可比性的算法进行比较,同一组输入,同样的环境,对输出进行统计,绘制表格,写出结论
该算法的改进可能性探讨
感想(多凑点字数)

暂时就想到这么多,如果你有其他课设的报告模版,可以再加点

课程设计和实验报告的区别
答:课程实验报告是实验之后写的,课程设计报告是课程之前写的。实验报告就是做了实验后写的,分实验题目,实验目的,实验准备,实验过程等。课程设计报告是课程之前写的,包括系统规划,系统分析,系统设计,系统实施报告。课程设计是课程内容的一部分,就是交作品,实验报告之类的,然后有学分。

关于数字钟的课程设计报告
答:数字钟的课程设计报告 数字钟的课程设计报告应该涵盖设计的背景、目标、方法、实现过程以及最终成果的评价和反思。在设计过程中,需要考虑到数字钟的基本功能,如时间的显示、时间的更新、以及可能的附加功能,如闹钟功能、计时器功能等。此外,还需要关注数字钟的显示方式,比如是否使用LED显示屏、LCD显示屏...

java 计算器课程设计报告
答:import java.awt.*;import java.awt.event.*;import javax.swing.*;//导包 class MyClass extends JFrame //创建一个MyClass类继承JFrame框架的窗口类,//也就是说JFrame里有的功能MyClass都能实现 { JLabel a1=new JLabel("第一个数");//创建一个显示“第一个数”的标签 JLabel a2=new...

课程设计包括什么
答:(2)课程设计指导教师要全课时跟班指导认真审阅学生拟订出的设计方案和设计步骤要启发学生独立思考指导学生使用手册和工具书等技术材料并随时掌握设计进度。 设计结束时指导教师要写出课程设计总结连同学生成绩分析表、报告表以及课程设计说明书一并交至教务科备查、存档。 ④ 课程设计主要包括哪些层次 体育教学设计概述 在...

音频功率放大器实验报告_音频功率放大器课程设计报告
答:本科实验报告 课程名称:姓名:学院:系:专业:学号:指导教师: 电子电路安装与调试 信息与电子工程学院 电子科学与技术 一、实验目的 二、实验任务与要求 三、实验方案设计与实验参数计算(3.1 总体设计、3.2 各功能电路设计与计算、3.3完整的实验电路„„) 四、主要仪器设备 五、实验步骤与过程 六、实验调试、实验...

课程实践报告【三篇】
答:【 #报告# 导语】课程实践不仅有利于自身的成长也有利于课程的学习。以下是 考 网整理的课程实践报告,欢迎阅读! 篇一 20xx的暑假充满着激情,但是作为将要...在项目开发过程中我也深刻的体会到详细设计对一个项目开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有具体的认识,并能减少在...

课程设计总结10篇精选
答:只有通过大家一起努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的能力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告...

数据结构课程设计报告(一元多项式的计算)
答:node * create(void) /*指针函数,返回指针类型;用尾插法建立一元多项式的链表的函数*/ { node *h,*r,*s;float c;int e;h=(node *)malloc(sizeof(node)); /*建立多项式的头结点,为头结点分配存储空间*/ r=h; /*r指针始终动态指向链表的当前表尾,以便于做尾插入,其初值指向头结点*...

讨论法,激活课堂的新魔法!
答:讨论法不仅是一种教学方法,更是一场思想的盛宴!在教师的巧妙引导下,学生们围绕一个问题展开热烈讨论,交换意见,相互启发,共同探索知识的奥秘。本文将介绍如何掌握黄金时机,让讨论法在课堂中熠熠生辉。️掌握黄金时机在课堂中,掌握黄金时机是讨论法成功的关键。教师需要在课程设计中合理安排时间,让讨论在适当的时候...

学校课程设计
答:设计结束时,指导教师要写出课程设计总结,连同学生成绩分析表、报告表以及课程设计说明书一并交至教务科备查、存档。 ⑸ 培训课程设计的基本原则是什么 设置培训课程应体现复以制下基本原则: 1.培训课程设计要符合企业和学员的需求。培训课程首先要满足企业和学员的需求,这是培训课程设计的基本依据。培训课程设计不同...