当前位置:文档之家› a算法演示系统设计大学本科毕业论文

a算法演示系统设计大学本科毕业论文

a算法演示系统设计大学本科毕业论文
a算法演示系统设计大学本科毕业论文

摘要

本次课程设计的题目是“A星算法的演示系统”,A*算法在人工智能中是一种典型的启发式搜索算法,这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或在线游戏的BOT的移动计算上。本次课程设计要求能够演示出整个算法的执行过程,能够进行单步演示,动态演示,把算法的执行过程的精髓演示出来。

在对算法充分了解的基础上,演示算法的执行过程,就要涉及到图像的绘制,而对于图像的编程,显然高级语言有其开发效率高的特点,java强大的运算和图形展示功能,使图像编程变得更加的简单和直观。本课题基于eclipse的java集成开发环境,设计并实现了A星算法的演示系统,展示A星算法如何进行启发式搜索和寻路的过程。实现了设置起点、设置终点、设置障碍、清除障碍、直接寻路、单步寻路、动态寻路、重新寻路、添加默认障碍这些功能的操作。使用者能够通过自己的要求进行A星算法的演示和使用,本软件充分展示A星算法的执行过程。

关键字:A*算法,启发式搜索,java

Abstract

The topic of the course design is"A star algorithm demo software", A * algorithm in artificial intelligence is A kind of typical heuristic search algorithm, this is A graphics in the plane ,have more than one node path, the algorithm of minimum through cost.it often be used in the game of mobile computing of NPC, or online games on mobile computing of BOT.The course design requirs to demonstrate the implementation process of the whole algorithm, can be single step demo, dynamic demonstration, the essence of the execution process of algorithm demo.

on the basis of full understanding of the algorithm, Demonstrateing the algorithm implementation process will involve the Graph drawing, and the programming on image, obviously a high-level language has the characteristics of its development of high efficiency, Java powerful computing and graphics display function, make the image programming more simple and intuitive.This project is based on eclipse's Java integrated development environment, A star algorithm demo software was designed and implemented, showing how A star algorithm of heuristic search and pathfinding.Implements set the starting point and end point, barriers, clear obstacles, directly pathfinding, single step pathfinding, dynamic pathfinding, pathfinding again, add default barrier function of these operations.the user can use the software according to their requirments, the software fully shows the execution of A star algorithm.

Keywords:AStar arithmetic ,heuristic search,java

目录

摘要 0

Abstract (1)

目录 (2)

1 需求分析 (3)

1.1 编写目的 (3)

1.2 背景 (3)

1.2.1 A*搜索算法介绍 (3)

1.2.2 Dijkstra算法 (4)

1.2.3 java语言介绍 (5)

1.2.4 java图形化编程的知识 (7)

1.3 任务概述 (7)

1.4 运行环境规定 (8)

1.5 其他A星软件的优劣 (8)

(1)软件一 (8)

(2)软件二 (9)

2 概要设计 (10)

2.1 界面设计 (10)

2.1.1 软件的进入界面设计 (10)

2.1.2 软件的进入界面的分析 (10)

2.1.3 软件主题界面的设计 (11)

2.1.4 软件主体界面的分析 (11)

2.2 程序需要实现的功能 (12)

3 详细设计 (13)

3.1 类图的设计 (13)

3.2 类之间的关系说明 (13)

3.3 类图的分析 (14)

3.4 程序的实现 (15)

3.4.1 程序逻辑的设计 (15)

3.3.2 找到link中结点的F值最小的结点 (19)

3.4.3 响应绘制方块paint的参数与getGraphics( ) (22)

3.4.4 程序主体界面MyPanel中paint函数做的工作 (23)

3.4.5 主体界面类做的工作 (23)

3.3.6 鼠标监听mouseClicked OR mousePressed (24)

3.3.7 动态寻路的演示 (24)

3.3.8 设置起点的工作 (24)

3.3.9 设置终点的工作 (24)

3.3.10 找不到路径的提示 (25)

4 总结 (26)

5 致谢 (27)

6 参考资料 (28)

1 需求分析

1.1 编写目的

A*算法作为为基本寻路算法常出现在游戏设计中,刚刚接触A*算法,难免初学者会产生迷惑,为了使算法的执行步骤更加的清晰,是算法的思路完整的展现出来,此次课题的要求就是用图形化的方式,一步一步的展现A*算法的执行步骤,使想了解A*算法的人能够更清晰的理解此算法,等真正理解了,就会发现,原来游戏的寻路是这样的,从而也会是学习者有更大的兴趣深入其他算法的学习。

1.2 背景

1.2.1 A*搜索算法介绍

A*在游戏设计中有它很典型的用法,是人工智能在游戏中的代表。 A*算法在人工智能中是一种典型的启发式搜索算法

在说启发式搜索之前先提状态空间搜索。状态空间搜索,如果按专业点的说法就是将问题求解过程表现为从初始状态到目标状态寻找这个路径的过程。通俗点说,两点之间求一线路,这两点是求解的开始和问题的结果,而这一线路不一定是直线,可以是曲折的。由于求解问题的过程中分枝有很多,主要是求解过程中求解条件的不确定性,不完备性造成的,使得求解的路径很多这就构成了一个图,我们说这个图就是状态空间。问题的求解实际上就是在这个图中找到一条路径可以从开始到结果。这个寻找的过程就是状态空间搜索。

常用的状态空间搜索有深度优先和广度优先。广度优先是从初始状态一层一层向下找,直到找到目标为止。深度优先是按照一定的顺序先查找完一个分支,再查找另一个分支,以至找到目标为止。这两种算法在数据结构书中都有描述,可以参看这些书得到更详细的解释。

前面说的广度和深度优先搜索有一个很大的缺陷就是他们都是在一个给定的状态空间中穷举。这在状态空间不大的情况下是很合适的算法,可是当状态空间十分大,且不预测的情况下就不可取了。他的效率实在太低,甚至不可完成。在这里就要用到启发式搜索了。

启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。

启发中的估价是用估价函数表示的,如:f(n) = g(n) + h(n)

其中f(n) 是节点n的估价函数,g(n)是在状态空间中从初始节点到n节点的实际代价,h(n)是从n到目标节点最佳路径的估计代价。在这里主要是h(n)体现了搜索的启发信息,因为g(n)是已知的。如果说详细点,g(n)代表了搜索的广度的优先趋势。但是当h(n) >> g(n)时,可以省略g(n),而提高效率。

启发式搜索其实有很多的算法,比如:局部择优搜索法、最好优先搜索法等等。当然A*也是。这些算法都使用了启发函数,但在具体的选取最佳搜索节点时的策略不同。像局部择优搜索法,就是在搜索的过程中选取“最佳节点”后舍弃其他的兄弟节点,父亲节点,

而一直得搜索下去。这种搜索的结果很明显,由于舍弃了其他的节点,可能也把最好的节点都舍弃了,因为求解的最佳节点只是在该阶段的最佳并不一定是全局的最佳。最好优先就聪明多了,他在搜索时,并没有舍弃节点(除非该节点是死节点),在每一步的估价中都把当前的节点和以前的节点的估价值比较得到一个“最佳的节点”。这样可以有效的防止“最佳节点”的丢失。那么A*算法又是一种什么样的算法呢?

其实A*算法也是一种最好优先的算法,只不过要加上一些约束条件罢了。由于在一些问题求解时,我们希望能够求解出状态空间搜索的最短路径,也就是用最快的方法求解问题,A*就是干这种事情的!

我们先下个定义,如果一个估价函数可以找出最短的路径,我们称之为可采纳性。A*算法是一个可采纳的最好优先算法。A*算法的估价函数可表示为:

f'(n) = g'(n) + h'(n)

这里,f'(n)是估价函数,g'(n)是起点到节点n的最短路径值,h'(n)是n到目标的最短路经的启发值。举一个例子,其实广度优先算法就是A*算法的特例。其中g(n)是节点所在的层数,h(n)=0,这种h(n)肯定小于h'(n),所以由前述可知广度优先算法是一种可采纳的。实际也是。当然它是一种最臭的A*算法。

再说一个问题,就是有关h(n)启发函数的信息性。h(n)的信息性通俗点说其实就是在估计一个节点的值时的约束条件,如果信息越多或约束条件越多则排除的节点就越多,估价函数越好或说这个算法越好。这就是为什么广度优先算法的那么臭的原因了,谁叫它的h(n)=0,一点启发信息都没有。但在游戏开发中由于实时性的问题,h(n)的信息越多,它的计算量就越大,耗费的时间就越多。就应该适当的减小h(n)的信息,即减小约束条件。但算法的准确性就差了,这里就有一个平衡的问题。

游戏中速度和精确度之间的选择并不是全局的。在地图上的某些区域,精确度是重要的,你可以基于此进行动态选择。例如,假设我们可能在某点停止重新计算路径或者改变方向,则在接近当前位置的地方,选择一条好的路径则是更重要的,因此为何要对后续路径的精确度感到厌烦?或者,对于在地图上的一个安全区域,最短路径也许并不十分重要,但是当从一个敌人的村庄逃跑时,安全和速度是最重要的。所以A星算法应用在游戏中时可以根据具体的情况为各种不同的障碍设置不同的加权值是尽可能的出最有效的方案。

1.2.2 Dijkstra算法

图1.1 Dijkstra算法的执行图

Dijkstra算法迪科斯彻算法使用了广度优先搜索解决非负权有向图的单源最短路径问题,算法最终得到一个最短路径树。并没有启发寻路,属于A*算法的特例。这个算法的

工作过程就是从起始点开始,不断的向未知点扩展,使从已知点集合到达任意未知点的距离权重都是最小的,这样当扩展到终止点的时候,也就找到了最短的权重。

1.2.3 java语言介绍

(1)起源

Java是由Sun Microsystems公司于 1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。用Java实现的HotJava 浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。

(2)组成

Java由四方面组成:

●Java编程语言

●Java文件格式

●Java虚拟机(JVM)

●Java应用程序接口(Java API)

(3)体系

Java分为三个体系JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版),JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

(4)优势

与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。

Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。(5)语言特征

Java编程语言的风格十分接近C语言、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的性能。

(6)主要特性

Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。

Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

1.2.4 java图形化编程的知识

java的GUI编程(Graphic User Interface,图形用户接口),是在它的抽象窗口工具箱(Abstract Window Toolkit,AWT)上实现的,java.awt是AWT的工具类库,其中包括了丰富的图形、用户界面元件和布局管理器的支持。

GUI主要用在两个地方:

Application;Applet。

1)GUI界面:

用户与程序之间交互的一个控制面板,其内包含有菜单,控件(或组件),容器并能响应用户的事件。

现在有各种各样的窗口系统,不同的窗口系统提供给程序设计的程序库是大不一样的,例如,基于Windows的SDK,和基于Unix平台的X Windows的Xlib。

为了使程序能在不同的窗口系统下运行,Java提出了“抽象窗口系统”的概念,提供了AWT(抽象窗口工具箱),使得java能够在不同的窗口系统下运行。

2)Java中的GUI实现方式:

采用AWT(抽象窗口工具集)从而可使GUI适用于不同OS的环境。

特点如下:

①其具体实现由目标平台下的OS来解释,从而导致Java GUI在不同平台下会出现不同的运行效果(窗口外观、字体等的显示效果会发生变化)。

②组件在设计时不应采用绝对定位,而应采用布局管理器来实现相对定位,以达到与平台及设备无关。

3)新增的Swing GUI组件

AWT组件以及事件响应不及微软的SDK丰富(因为有些OS平台无微软的Windows组件),Sun在Java2中新增了Swing GUI组件。但是,AWT比较简单,功能也能满足大多数界面需求,特别在Java Applet的设计中受到了普遍的应用。

1.3 任务概述

本次课程设计的题目是“A星算法的演示系统”,A*算法在人工智能中是一种典型的启发式搜索算法,这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或在线游戏的BOT的移动计算上。本次课程设计要求能

够演示出整个算法的执行过程,能够进行单步演示,动态演示,把算法的执行过程的精髓演示出来。

实现了设置起点、设置终点、设置障碍、清除障碍、直接寻路、单步寻路、动态寻路、重新寻路、添加默认障碍这些功能的操作。

1.4 运行环境规定

任何安装java运行环境的系统

1:在eclipse中加载该项目,直接打开并运行该项目。

2:安装java运行环境的机器中,控制台下,进入bin目录,输入java https://www.doczj.com/doc/7712484694.html,.java1 3:安装java运行环境的机器中,直接运行已经打包好的axing.jar

1.5 其他A星软件的优劣

(1)软件一

图1.2 C#完成的A*算法的演示程序

这个程序的好处就是实现的功能很全。

优点:

(1)对于障碍的不同级别,进行了设置,表现在程序上我觉得就是障碍的加权值的不同,而且在实际的执行过程中也可以越过一些障碍。

(2)时间的延迟进行了设置,对于程序的演示效果能有更好的展现。

(3)方格的大小也进行了设置,可以进行随便的调节,也是为了方便展示。

缺点:

(1)功能过于复杂,初次拿到软件的人会先进行一段时间的熟悉,不适合激发初学A 星算法的人的兴趣。

(2)文字说明多,也是其复杂原因的一种,如果用图形化的方式进行更多的说明会事半功倍。

(2)软件二

图1.3 VC++完成的A*算法的演示程序

这个软件演示的很清晰,说明很到位,没有实现动态执行的功能。

优点:

该有的功能一般都有了,操作起来并不复杂,演示效果很好,图形化的执行很不错。缺点:

每次执行都要全屏展示,在我的电脑上如果一旦按WINDOWS键进行其他操作,在打开此程序,发现看不到之前的执行路径了。

基于上面的研究成果,我本次使用JAVA语言写的A星算法演示程序,争取尽可能的简单易操作。

2 概要设计

2.1 界面设计

2.1.1 软件的进入界面设计

图2.1 软件的进入界面

2.1.2 软件的进入界面的分析

(1)一般软件都有自己的进入界面,软件的进入界面能够使软件更富有意义,界面设计是为了满足软件专业化标准化的需求而产生的对软件的使用界面进行美化优化规范化

的设计分支。

(2)此界面大小长950像素,宽710像素,能够满足大部分计算机的整个屏幕的显示,跟程序的主体界面大小一致。图形的显示位置在x=30,y=10的位置。“AStar算法演示软件”几个字采用70号字,总体加粗。作者和姓名及“进入演示程序”字体采用40号,Font _LAYOUT _NO _LIMIT_CONTEXT号字。

(3)整个框架是外面的MyFace 包含FacePanel ,左右图形的绘制通过FacePanel中的paint函数实现。

(4)背景是宇宙,有很多的星星,周围放出万丈光芒,宇宙能够给人以无限的想象,此处希望本程序的演示也能给使用者以无限的想象。蓝色的光线是从两边的中心位置依次向上面和下面画线,下面的间距为30个像素,这样的设计能够突出中间文字的显示效果。

(5)此处星星的设计和程序的名称有相对应的地方,星星的绘制是通过在界面的区域内随机产生450个三种颜色的点来显示的。

(6)当点击“进入程序演示”就会启动一个线程执行显示程序主体界面的程序,同时本界面会隐藏。

2.1.3 软件主题界面的设计

图2.2 软件主体界面

2.1.4 软件主体界面的分析

(1)整个FRAME的大小,长950像素,宽710像素,内包含两个Panel,顶层的Panel 包含4个JRadioButton,分别是“设置起点”、“设置终点”、“设置障碍”,“清除障碍”。下面的Panel是自定义的,包含左边的方块区域和右边的说明区域,方块区域的长700像素,宽600像素。

(2)小方块的边长为50,整个区域长14个方块,高12个方块。之所以这几这么大小,是因为,这样的大小基本适合13寸以上的电脑能够在整个屏幕内演示,能够满足大部分使用此软件的人员的要求。

(3)JRadioButton刚开始默认选定是设置障碍,可以通过点击其他的单选按钮,进行相应的操作。当点击其他的单选按钮后,鼠标对下面方框区域的操作与其对应。

(4)右边说明的主题意思是通过方块颜色的不同来区分起始结点,终止结点,CLOSE 中的节点,OPEN中的节点等。另外箭头指向启发式寻路过程中的每个节点的前驱。

2.2 程序需要实现的功能

1:设置起点

2:设置终点

3:设置障碍

4:清除障碍

5:直接寻路(点击按钮就显示出最后的寻路结果)

6:单步寻路(通过不断的点击按钮,一步一步显示出程序的寻路过程)7:动态寻路

8:重新寻路

9:添加默认障碍

3 详细设计

3.1 类图的设计

图3.1 A星算法演示软件的类图

3.2 类之间的关系说明

(1)继承关系:继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。

(2)实现关系:实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性。在UML类图设计中,实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。

(3)依赖关系:简单的理解,依赖就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖。表现在代码层面,为类B作为参数被类A在某个method方法中使用。在UML类图设计中,依赖关系用由类A指向类B的带箭头虚线表示。

(4)关联关系:关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。关联可以是单向、双向的。表现在代码层面,为被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。在UML类图设计中,关联关系用由关联类A指向被关联类B的带箭头实线表示,在关联的两端可以标注关联双方的角色和多重性标记。

(5)聚合关系:聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a 的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。比如计算机与CPU、公司与员工的关系等,比如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。在UML类图设计中,聚合关系以空心菱形加实线箭头表示。

(6)组合关系:组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。在UML类图设计中,组合关系以实心菱形加实线箭头表示。

3.3 类图的分析

(1)类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等,一般在详细设计过程中出现,主要用来描述系统中各个模块中类之间的关系,包括类或者类与接口的继承关系,类之间的依赖、聚合等关系。

(2)此次的A*算法演示程序共用到了7个类,此7个类的关系相对比较简单,有依赖关系和聚合关系组成。

(3)java1类是程序的入口点,包含程序需的main函数,main函数产生了界面类的对象。进而界面类会调用界面类包含的Panel类的paint函数,绘制出软件的进入界面。

(4)软件的进入界面类对应MyFace类,MyFace类包含FacePanel类的对象,此界面的绘图操作是通过FacePanel类的paint函数来绘制的,(见上面的图2.1 软件的进入界面)

(5)当点击“进入演示程序”按钮之后,会启动一个线程,此线程会产生MyFrame类的对象。

(6)MyFrame类是程序的主题界面显示的类,如图2.2 软件主体界面,此类包含两个Panel,顶层的Panel包含单选按钮和按钮,底层的Panel包含图形的绘制主体方块和说明信息。

(7)MyPanel是自己定义的JPanel,它继承自JPanel,这个类主要是画出主体方块区域和现实说明信息。

(8)Axing类用来设计整个A星算法,其中包含图形的起始坐标,终止坐标,每走一步的带权值,以及最重要的A星算法的实现代码等。

(9)AxingNode类是程序的结点类,它设计了程序的结点,因为A星算法要用到两个链表,链表的结点类型就是AxingNode类型,每个节点都包含自己在方块区域的坐标,G、

毕业论文管理系统设计研究.doc

毕业论文管理系统设计研究 2020年4月

毕业论文管理系统设计研究本文关键词:管理系统,毕业论文,研究,设计 毕业论文管理系统设计研究本文简介:毕业论文管理工作现状当前,大多数的高校的毕业论文管理状况如下。(1)学生无法及时准确选题选题初期的大多数学生不能在前期及时、清晰且全面的了解导师的课题研究方向,也不能准确的选择合适的题目,导致了学生在选题时仅考虑到个人兴趣,盲目的进行选题,未根据自己个人能力做出正确的选择,一些学生可能会错失选题的时 毕业论文管理系统设计研究本文内容: 毕业论文管理工作现状 当前,大多数的高校的毕业论文管理状况如下。(1)学生无法及时准确选题选题初期的大多数学生不能在前期及时、清晰且全面的了解导师的课题研究方向,也不能准确的选择合适的题目,导致了学生在选题时仅考虑到个人兴趣,盲目的进行选题,未根据自己个人能力做出正确的选择,一些学生可能会错失选题的时间和机会。(2)论文各阶段需要提交大量文件,师生无法及时交流首先,学生必须先提交论

文开题报告,指导教师同意开题后,方可继续完成论文。然后,需要在一段时间内将完成论文的阶段性成果提交给导师,方便导师及时了解学生论文完成的进度,以便导师督促学生及时完成论文。如今,很多大学的论文指导方式仍旧以纸质文件进行师生之间的交流,在这种情况下,一会导致资源浪费,也会由于时间和空间限制,导致沟通不畅。(3)统计论文选题工作复杂在毕业论文管理工作中,教师的工作量较大,其中,有很多重复的工作量,处于管理工作的各级人员需要统计学生选题状况、毕业论文完成状态以及答辩成绩等信息,在这样大量的工作状态下,就会产生失误。而毕业论文对于学生来也十分重要,关系能否毕业问题,责任巨大,不容有失。毕业论文管理系统设计意义毕业论文管理系统的最大优势就是学生可以远程在陷上选题,将复杂的工作流程简单化,也会减轻毕业论文指导教师工作中不必要的压力,具有很强的现实意义,具体可以表现为以下功能。(1)缩短毕业论文题目审核时间审核毕业论文题目是为了防止出现选题过大、不切实际或与专业特点不相关的现象。各教学单位在前期的主要任务就是审核已提交的论文题目,若论文题目不合条例,审核不通过,需要单位给指导教师反馈是否通过的信息,之后审核过的信息,需要由教师通知给学生,学生需要结合实际情况以及自身的兴趣选择毕设题目,督促学生积极与指导教师沟通。通过系统可以在线随时随地审核,

高校自动排课系统毕业设计

自动排课系统 摘要:制定一个学校的排课计划是一项非常耗时且相当辛苦的工作,而且它还得由有学校排课工作经验或者这方面知识的人才能做好。在一所高校时一个课程表的制定是一个难题,因为在有关课程表的问题上有很多的限制条件得考虑,还有大量的数据空间被挖掘,即便你的输入数据量并不是实际意义上的大批量。 课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动课程编排系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 本系统经过测试,运行稳定,可投入使用。 关键字:排课管理,VB,数据库

Abstract:Formulates a school platoon class plan is an item consumes extremely when also the quite laborious work, moreover it also must by have the school row of class work experience or this aspect knowledge talented person can complete. When a university a class schedule formulation is a difficult problem, because has the very many limiting condition in the related class schedule question to result in the consideration, but also has the massive data space to excavate, even if your input data quantity is not in the practical significance mass. The curriculum arranges the system is a school essential part, Its content said regarding the school policy-maker and the superintendent all very important, Therefore the automatic curriculum arranges the system to be supposed to be able to provide the sufficient information and the quick inquiry method for the user. But the people have since always used the traditional artificial way management document file, this management way has many shortcomings, For example: The efficiency low, the secrecy is bad, Moreover the time one is long, Will produce the massive documents and the data, This regarding the search, the renewal and the maintenance has all brought many difficulties. Along with science and technology unceasing enhancement, The computer science is mature day after day, Its formidable function had profoundly known for the people, t entered the human society each domain and is playing the more and more vital role. This system after the test, the movement is stable, may put into the use. Key words: Curriculum management, VB, database

图像分割算法的研究与实现本科学士学位毕业论文

TP391.41 学士学位论文(设计) 论文题目图像分割算法研究与实现 作者姓名 指导教师 所在院系 专业名称 完成时间

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

自动排课系统设计与实现论文

摘要:制定一个学校的排课计划是一项非常耗时且相当辛苦的工作,而且它还得由有学校排课工作经验或者这方面知识的人才能做好。在一所高校时一个课程表的制定是一个难题,因为在有关课程表的问题上有很多的限制条件得考虑,还有大量的数据空间被挖掘,即便你的输入数据量并不是实际意义上的大批量。 课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动课程编排系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 本系统经过测试,运行稳定,可投入使用。 关键字:排课管理,VB,数据库

Abstract:Formulates a school platoon class plan is an item consumes extremely when also the quite laborious work, moreover it also must by have the school row of class work experience or this aspect knowledge talented person can complete. When a university a class schedule formulation is a difficult problem, because has the very many limiting condition in the related class schedule question to result in the consideration, but also has the massive data space to excavate, even if your input data quantity is not in the practical significance mass. The curriculum arranges the system is a school essential part, Its content said regarding the school policy-maker and the superintendent all very important, Therefore the automatic curriculum arranges the system to be supposed to be able to provide the sufficient information and the quick inquiry method for the user. But the people have since always used the traditional artificial way management document file, this management way has many shortcomings, For example: The efficiency low, the secrecy is bad, Moreover the time one is long, Will produce the massive documents and the data, This regarding the search, the renewal and the maintenance has all brought many difficulties. Along with science and technology unceasing enhancement, The computer science is mature day after day, Its formidable function had profoundly known for the people, t entered the human society each domain and is playing the more and more vital role. This system after the test, the movement is stable, may put into the use. Key words: Curriculum management, VB, database

(完整版)个人博客系统毕业设计论文

编号: 审定成绩:先锋软件学院2011届 毕业设计(论文) 题目:个人博客系统 分院:软件工程分院 学生姓名:________ 印聪___________ _ __ 专业:软件设计与开发 班级:0805 学号: 指导教师:魏伟华

填表时间:2011年6月

先锋软件学院 学生毕业设计(论文)工作自查表 学生姓名印聪专业软件设计与开发学号 导师姓名魏伟华职称导师每周指导次数每次:小时题目名称个人博客系统 作息时间上午8时~ 12 时下午 1时~ 5 时 晚间 6时~ 9 时 个人精力实际投入日均工 作小时 10 周均工 作小时 缺席天数出勤率% 毕业设计(论文)工作进度已完成主要内容% 待完成主要内容% 自己写好自己写好

存在问题 自己写好 工作措施 指导教师(签字):日期:年月日

(上面要不要空行啊?)摘要 随着Internet的广泛应用,动态网页技术也应运而生。本文介绍了应用ASP动态网页技术开发博客系统的设计与实现。 博客系统主要为用户提供发表文章、浏览文章等功能,用户通过Internet可以发表一些自己撰写的文章以和其他网友进行交流。博客系统主要实现了文章管理的数字化、信息化、智能化,是打破传统报刊、杂志发表文章方式的新尝试。 本系统的开发设计实现采用ASP技术,系统后台使用Microsoft的Access 2000数据库,并通过使用ODBC技术访问。 本文对博客系统进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块;在数据库设计部分,详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想,提出系统的程序设计思路,对前台与后台功能的程序实现进行了详细论述;系统测试部分,具体分析测试过程中出现的主要问题,并提出了解决方案,实现系统功能。最后,对系统作以客观、全面的评价,并对进一步改进提出了建议。 关键字:博客;ASP ;Access 2000 ;ODBC

基于遗传算法的自动排课系统毕业设计

摘要 随着科学技术和社会信息技术的不断提高,计算机科学的日渐成熟,其强大的功能已为人们深刻认识,它在人类社会的各个领域发挥着越来越重要的作用,给人们的生活带来了极大的便利,成为推动社会发展的首要技术动力。排课是学校教学管理中十分重要、又相当复杂的工作之一。解决好教学工作中的排课问题对整个教学计划的进行,有着十分重要的意义。首先对排课的已有算法作了相关的调查研究,决定采用遗传算法。通过设计实现基于遗传算法的自动排课系统,研究了遗传算法在排课系统中的应用。 关键词:遗传算法、自动排课、Java。

Abstract Along with science technical and community information technical increases continuously, calculator science is gradually mature, its mighty function has behaved deep cognition, and it has entered the human social each realm erupts to flick the more and more important function, bringing our life biggest of convenience. Curriculum arrangement is an important and complicated working in school,so solving the problem is of great importance for teaching programming.Investigated and studied the algorithm existed, determine that adoptgenetic algorithm. ThroughDesign Implementation theAuto CourseArrangementManagement System Base onGenetic Algorithm, researched the application of genetic algorithmin theCourseArrangementManagement System. Keywords: Genetic Algorithm Auto Course Arrangement ManagementJava.

基于特征的图像匹配算法毕业设计论文(含源代码)

诚信声明 本人声明: 我所呈交的本科毕业设计论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。本人完全意识到本声明的法律结果由本人承担。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:日期:2010 年05 月20日

毕业设计(论文)任务书 设计(论文)题目: 学院:专业:班级: 学生指导教师(含职称):专业负责人: 1.设计(论文)的主要任务及目标 (1) 了解图象匹配技术的发展和应用情况,尤其是基于特征的图象匹配技术的发展和应用。 (2) 学习并掌握图像匹配方法,按要求完成算法 2.设计(论文)的基本要求和内容 (1)查阅相关中、英文文献,完成5000汉字的与设计内容有关的英文资料的翻译。(2)查阅15篇以上参考文献,其中至少5篇为外文文献,对目前国内外图象匹配技术的发展和应用进行全面综述。 (3)学习图象匹配算法,尤其是基于特征的图象匹配算法。 (4)实现并分析至少两种基于特征的图象匹配算法,并分析算法性能。 3.主要参考文献 [1]谭磊, 张桦, 薛彦斌.一种基于特征点的图像匹配算法[J].天津理工大学报,2006, 22(6),66-69. [2]甘进,王晓丹,权文.基于特征点的快速匹配算法[J].电光与控制,2009,16(2), 65-66. [3]王军,张明柱.图像匹配算法的研究进展[J].大气与环境光学学报,2007,2(1), 12-15.

毕业论文的排版方法(最全)

如何用Word编辑参考文献 每个需要写毕业论文的朋友都会发现,修改文献是一件非常痛苦的事情,虽然现在也有很多软件可以编排参考文献,其实word本身就可以。 采用合适的编辑方法会方便地做到整齐,规范,自动排序和交叉引用。 1.以尾注的方式插入第一个参考文献。 将光标定位于word文档中将要插入参考文献的位置,按“插入/引用/脚注和尾注”。出现一菜单,选择“尾注”,“文档结尾”,编号格式为“1,2,3”。按“插入”按钮。 2.按要求的格式输入参考文献内容。 这时你会发现文本中的序号“1”字是上标格式的,这是你所希望的。但尾注中的“1”也是上标格式的,这不是你希望的。其余的格式也不合你愿,别急。用鼠标在最左侧处选中尾注中的序号“1”,按快捷键“ctrl+shift+=”就可以使序号不再是上标,或用鼠标右击,出现一菜单,选择“字体”,在第二张菜单中去掉“效果”栏中“上标”前面的“√”。 3.说明: 序号周围有似隐似现的框,这表示所插入手稿的尾注是一种“域”,不必理会它。 插入第二个尾注的方法是同样的。Word会根据所在位置的前后自动排序。 在第一个参考文献的前面有一条横线,你会发现无法删除。它叫“尾注分隔符”。 4. 去除“尾注分隔符” 我们一般的编辑界面叫“页面视图”,选择“视图/普通”进入普通视图。 按“视图/脚注”,此时编辑界面分为两个部分,下面的编辑框是尾注编辑框。 选择尾注编辑框中的“尾注”下拉框,选择“尾注分隔符”,出现一条横线,选择该横线,删除它,再选择“尾注延续分隔符”,也会出现一条横线(这是尾注分页时会出现的很长的横线),选择该横线,删除它。关闭后,再按“视图/页面”切换回来。

(完整版)个人博客系统毕业设计论文40121149

人生最大的幸福,是发现自己爱的人正好也爱着自己。 摘要 随着Internet的广泛应用 动态网页技术也应运而生 本文介绍了应用ASP动态网页技术开发博客系统的设计与实现 博客系统主要为用户提供发表文章、浏览文章等功能 用户通过Internet可以发表一些自己撰写的文章以和其他网友进行交流 博客系统主要实现了文章管理的数字化、信息化、智能化 是打破传统报刊、杂志发表文章方式的新尝试 本系统的开发设计实现采用ASP技术 系统后台使用SQL Server 2008数据库 并通过使用ODBC技术访问 本文对博客系统进行整体分析 明确了系统的可行性和用户需求;根据模块化原理 规划设计了系统功能模块;在数据库设计部分 详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想 提出系统的程序设计思路 对前台与后台功能的程序实现进行了详细论述;系统测试部分 具体分析测试过程中出现的主要问题 并提出了解决方案

实现系统功能 最后 对系统作以客观、全面的评价 并对进一步改进提出了建议 关键字:博客ASP SQL Server 2008 ODBC 目录 1 系统概述 3 1.1项目背景3 1.2系统开发的意义 4 1.2.1发布想法 4 1.2.2博客的用途4 1.3 系统开发的目标 5 1.3.1任何拥有博客的人都可以做到5 1.3.2 访问博客系统的人 可以做到 5 1.4系统概述5 1.5 系统的开发方法 6 2 系统分析8 2.1 可行性分析8 2.2 需求分析8 2.2.1 管理员登录8 2.2.2 文章管理9

2.2.3 系统信息管理9 2.3 系统的主要技术分析9 2.3.1 ASP技术概论9 2.3.2 ASP工作原理10 2.3.3 ODBC技术10 2.3.4 硬件设备及操作系统11 2.3.5 系统开发平台11 2.4 数据分析11 2.5 数据流图12 3 数据库设计13 3.1 数据库技术概述13 3.2 数据库选择13 3.3数据库逻辑结构设计13 3.4 数据库的完整性和安全性15 3. 4.1 数据库的完整性约束15 3.4.2 数据库的安全性16 4 系统设计17 4.1系统总体设计17 4.2公用模块的编写17 4.2.1数据库连接文件17 4.2.2用户登录和注销17 4.3客户界面的设计与实现17 4.3.1 界面头设计17 4.3.2 界面尾设计18 4.3.3首页设计与实现18

自动排课系统的设计与实现毕业论文_设计说明

目录 摘要 (1) 第1章绪论 (1) 1.1系统开发背景 (1) 1.2国内外的研究现状 (1) 1.3系统解决的主要问题 (3) 1.4本文的主要工作 (3) 1.5本文的组织结构 (4) 第2章需求分析 (5) 2.1系统概述 (5) 2.1.1总体业务描述 (5) 2.1.2系统的目标和解决的问题 (6) 2.1.3系统的开发模式 (7) 2.2系统需求问题描述 (10) 2.2.1功能性需求 (10) 2.3.2系统非功能性需求 (13) 第3章系统构架设计 (15) 3.1构架的目标和约束 (15) 3.2构架设计 (16) 3.2.1系统总体架构 (16) 3.2.2系统功能构架 (17) 3.2.3系统技术构架 (19) 3.2.4系统安全构架 (20) 第4章系统详细设计 (22) 4.1 系统建模 (22) 4.2 系统数据库设计 (26) 4.2.1生成数据库表 (26) 4.2.2数据分析 (36) 4.2.3数据库管理技术 (37) 第5章计算机排课系统的实现 (38) 5.1系统总体实现 (38) 5.1.1数据录入模块的设计与实现 (43) 5.1.2报表模块的设计与实现 (48) 5.1.3用户管理模块的设计与实现 (52)

5.2教学计划的关键实现 (55) 5.2.1算法描述 (55) 5.2.2教学计划算法过程 (56) 5.3排课算法的关键实现 (58) 第6章总结与展望 (74) 参考文献 (75) 致谢 (77)

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

毕业论文排版格式及图表插入全攻略

目录 令狐采学 引言0 一、另起一页0 二、插入文献0 (一)自动插入文献0 (二)交叉引用0 (三)替换成有中括号的文献编号0 (四)尾注中编号的变换1 (五)把参考文献弄到中间1 三、插入页码1 四、插入页眉2 五、自动生成目录3 六、善用替换功能3 七、插入图表—百分比图与均数±标准差图4 八、在PPT中插入表格10

引言 印象中,我老师每一届都会让师兄师姐讲怎么自动插入文献等论文格式,但从同门的论文格式来看,感觉收效甚微(不过,操作性的东西,单是讲,效果相对是比较差的)。于是,我想,何不把最主要的东西都总结出来呢,既可以一步步跟着学习,容易掌握,又可以一届传一届,方便大家。因此,我觉得有必要进行这项工作。如能让以后的同门受益一二,小潭便自感十分欣慰。 正文之前,强调一句,这不仅仅是单纯的汇总工作,小潭还不会无聊到把别人的东西一汇总就拿来发表,这文章自有创新之处。如你认为以下所涉内容能全部百度出来(至少我说的话不能百度出来,哈哈),那不仅费时费力,更可能会大失所望。所以,建议有基础的同门持虚心态度,认真阅读。如有不足之处,请提出并予以谅解。 一、另起一页 首先,要讲的就是这个另起一页的很基本问题,不过相信至少有40%的人中枪,这40%的人还在狂敲“回车”键,一直敲到下一页,真是超级无敌奥特曼啊!这也不是说不行,但当需要在两页之间增添内容的时候,你又得回头删减那些多余的段落符号…!word文档功能这么强大,你非得弄得这么麻烦,叫它情何以堪! 那么,这里就建议,当你上一页编辑完毕,用“CTRL+回车”,另起一页。 二、插入文献 接着要讲的,就是插入文献的问题,如果你还在手动插入文献,那么,真替你感到悲催,你不觉得修改起来很麻烦吗!这里就教你自动插入文献,尽管你之前看过很多相关的贴,但我敢说,没几个有我写得这么全面的,废话少说,看了才知道。 (一)自动插入文献 1、将鼠标光标移到文本中需要第一次引用参考文献的位置,点击“插入”菜单,选择“引用”,接着选择“脚注和尾注”,弹出“脚注和尾注”窗口; 2、点击“尾注”,选择“文档结尾”,编号格式选择1,2,3,并选择连续编号;点击插入;光标会对自动跳到文件尾部,在此处输入参考文献。双击该编号,光标自动回到文本中引用处; (二)交叉引用 1、当同一文献要多次引用时,可利用交叉引用:光标移到引用处,“插入”→“引用”→“交叉引用”,引用类型为“尾注”,引用内容为“尾注编号”(只能选“尾注编号”而不能选“尾注编号带格式”,否则后来交叉引用加上的方括号不是上标格式),选中需要的文献。 2、若你后来又在前面的文档中插入新的文献,这时后继的尾注会自动更新编号,但“交叉引用”不会自动更新。为此,可以按“ctrl+A”选择所有内容后,点右键→“更新域”或按“F9”键就可以完成手动更新,这一步建议在论文完稿时,再操作一次,预防有遗漏。 3、交叉引用的时候,建议马上手动为编号添加中括号,具体原因见下(三)的第4点。 (三)替换成有中括号的文献编号

毕业论文不可不知的几个技巧

毕业论文不可不知的几个技巧 简单地说,毕业论文就是大学生毕业前提交的一份具有一定学术价值的文章,是对大学所学知识以及自身工作、社交、学习能力的一次总结和提高,学校重点通过毕业论文来考察大学生掌握知识的程度以及分析问题和解决问题的能力。毕业论文写作过程一般分为以下几个阶段: 1.题目选择; 2.课题调研; 3.文献检索与应用; 4.撰写论文; 5.论文答辩。 毕业论文通常由题目、摘要、目录、引言、正文、结论、参考文献和附录等部分构成。对于本科生,论文字数一般在5000至20000字之间,同时对于论文打印和排版的格式也有着十分严格的要求。表1列出了常见论文写作的格式要求。 很多时候,我们写文章都是先在Word中写好后再排版,但对于毕业论文这种篇幅较长的文章,这样做往往效率不高。下面的实战通过先制定论文格式,再动笔写论文的方式进行,相信你会觉得这种方式对你的论文写作更有帮助。 1.页面设置 按照表1的要求及论文打印的需要(要预留装订线距离以及设置行间距)进行页面设置。第一步:在菜单中依次选择“文件→页面设置”,调用出“页面设置”对话框。在“页边距”选项卡中分别做以下设置:“上:3.7cm,下:1.7cm,左:1.0cm,右:1.4cm,装订线:1.35cm”(注意:具体的页面设置,不同学校的要求可能不同)。 第二步:选择“纸张”选项卡,将“纸张大小”设置为“16开”。第三步:选择“文档网格”选项卡,将对应选项设置为“每行:32个字符,跨度:12.75磅,每页:21行,跨度:27.45

磅”。 2.设置样式 设置好样式之后,在写作过程中,你就能很方便地设置字体大小等格式而不用麻烦地每次重复格式设置的繁琐工作。第一步:选择“格式→样式和格式”,可以看到Word的右边会出现一个设置窗口。第二步:按照表1的格式要求“正文每章标题用三号黑体居中打印”,进行设置。点击“新样式”,弹出“新建样式”设置窗口,将对应项目设置为:“名称:正文每章标题,格式:黑体、三号,居中”。这样就设置好了一个样式,以后每当要输入每章标题时,只需要在样式选择中选择“正文每章标题”,之后输入标题,即可按照设置后的样式在输入文字的同时自动设置好标题的格式了。同时,你也可以在输入标题后,选择输入的标题文字,再在样式中选择“正文每章标题”来进行标题的样式套用。按照上面的方法,你可以逐一对论文中不同格式的部分进行设置,在写作中方便的调用。 3.文章的分节 我们通常在写论文详细内容之前先写好论文的提纲,也可以说是分好论文的章节。第一步:写好论文的提纲(即每章标题,每小节标题等)。第二步:在分章处和分节处插入“分节符”。用鼠标将光标定位在论文两章的交接处,选择“插入→分隔符”,在弹出的分隔符设置窗口中,选择“分节符类型”为“下一页”,这样即可在分章节的同时另起一页继续下一章的内容,而不用敲入多次回车键来通过插入换行符使下一章另起一页(如果是两小节之间,这里的“分节符类型”要选择“连续”,因 为我们一般不需要在两个小节之间分页)。

高校排课系统开题报告

青岛农业大学 毕业论文(设计)开题报告 题目:青岛农业大学排课系统的设计与实现 姓名: 学院:理学与信息科学学院 专业:计算机科学与技术 班级: 学号: 指导教师: 2013 年 3 月 18 日

说明 一、有关说明 毕业论文(设计)题目确定后,学生应尽快征求导师意见,讨论题意与整个毕业论文(或设计)的工作计划,然后根据课题要求查阅、收集有关资料并编写研究提纲,主要由以下几个部分构成: 1.研究(或设计)的目的与意义。应说明此项研究(或设计)在生产实践上或对某些技术进行改革带来的经济、生态与社会效益。有的课题过去曾进行过,但缺乏研究,现在可以在理论上做些探讨,说明其对科学发展的意义。 2.国内外同类研究(或同类设计)的概况综述。在广泛查阅有关文献后,对该类课题研究(或设计)已取得的成就与尚存在的问题进行简要综述,只对本人所承担的课题或设计部分的已有成果与存在问题有条理地进行阐述,并提出自己对一些问题的看法。 3.课题研究(或设计)的内容。要具体写出将在哪些方面开展研究,要重点突出。研究的主要内容应是物所能及、力所能及、能按时完成的,并要考虑与其它同学的互助、合作。 4.研究(或设计)方法。科学的研究方法或切合实际的具有新意的设计方法,是获得高质量研究成果或高水平设计成就的关键。因此,在开始实践前,学生必须熟悉研究(或设计)方法,以避免蛮干造成返工,或得不到成果,甚至于写不出毕业论文或完不成设计任务。 5.实施计划。要在研究提纲中按研究(或设计)内容落实具体时间与地点,有计划地进行工作。 二、注意事项 1.开题报告的撰写完成,意味着毕业论文(设计)工作已经开始,学生已对整个毕业论文(设计)工作有了周密的思考,是完成毕业论文(设计)关键的环节。在开题报告的编写中指导教师只可提示,不可包办代替。 2.无开题报告者,不准申请答辩。 3.本表要用计算机填写,签字要手写,一式三份,本人、导师、所在学院(要原件)各一份。 4.学生可根据内容的多少调整表格的大小。

(完整版)图像分割算法的研究与实现_本科毕业设计

数字图像处理期末考试 题目图像分割算法研究与实现专业班级11通信工程一班

毕业论文(设计)诚信声明 本人声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得青岛农业大学或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 论文(设计)作者签名:日期:2013 年3月10 日 毕业论文(设计)版权使用授权书 本毕业论文(设计)作者同意学校保留并向国家有关部门

或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为青岛农业大学。 论文(设计)作者签名:日期:2013 年 3 月10 日 指导教师签名:日期:年月日

目录 摘要: (1) 1.前言 (2) 2.图像分割概念 (3) 2.1图像分割定义 (3) 2.2图像分割方法综述 (4) 2.3阈值法 (5) 2.4 基于边缘检测的分割方法 (9) 2.5基于区域的分割方法 (12) 3.图像分割方法详述 (14) 3.1图像分割方法 (14) 3.2 图像分割方法实现 (14) 4.实验结果及分析 (16) 4.1 实验结果 (16) 4.2 实验结果分析 (20) 5.小结 (23) 5.1 主要工作总结 (23) 5.2 结论 (23) 6.附录 (27)

毕业论文的排版方法(最全)

如何用Word 编辑参考文献 每个需要写毕业论文的朋友都会发现,修改文献是一件非常痛苦的事情,虽然现在也有很多软件可以编排参考文献,其实word 本身就可以。 采用合适的编辑方法会方便地做到整齐,规范,自动排序和交叉引用。 1. 以尾注的方式插入第一个参考文献。 将光标定位于word 文档中将要插入参考文献的位置,按“插入/引用/脚注和尾注”。出现一菜单,选择“尾注”,“文档结尾”,编号格式为“1,2,3 ”。按“插入”按钮。 2. 按要求的格式输入参考文献内容。 这时你会发现文本中的序号“ 1 ”字是上标格式的,这是你所希望的。但尾注中的“ 1 也是上标格式的,这不是你希望的。其余的格式也不合你愿,别急。用鼠标在最左侧处选中尾注中的序号“ 1”,按快捷键“ ctrl+shift+= ”就可以使序号不再是上标,或用鼠标右击,出现一菜单,选择“字体”,在第二张菜单中去掉“效果”栏中“上标”前面的“ √”。 3. 说明:序号周围有似隐似现的框,这表示所插入 手稿的尾注是一种“域”,不必理会它。插入第二个尾注的方法是同样的。Word 会根据所在位置的前后自动排序。 在第一个参考文献的前面有一条横线,你会发现无法删除。它叫“尾注分隔符”。 4. 去除“尾注分隔符” 我们一般的编辑界面叫“页面视图”,选择“视图/普通”进入普通视图。 按“视图/脚注”,此时编辑界面分为两个部分,下面的编辑框是尾注编辑框。选择尾注编辑框中的“尾注”下拉框,选择“尾注分隔符”,出现一条横线,选择该横线,删除它,再选择“尾注延续分隔符”,也会出现一条横线(这是尾注分页时会出现的很 长的横线),选择该横线,删除它。关闭后,再按“视图/页面”切换回来。

网上信息管理系统设计毕业论文

网上信息管理系统设计毕业论文1.1 项目开发背景 近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校的教学管理都受到了极大的挑战。Internet技术持续迅猛的发展,也给传统的办学提出了新的模式。通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。作为新型的办学模式,它们具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。在此开发的大学信息学院管理信息系统,旨在探索一种以互联网为基础的办学模式。通过这种新的模式,为信息学院营造一种新的办学环境,使管理突破时空限制,扩大教学规模,提高工作效率和办学水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行学习与交流。基于这些优点,信息学院委托计算机系统研究所以及计算机软件与理论研究所共同开发“大学信息学院管理信息系统”。 1.2 项目开发的目的 为了适应信息时代发展,提高考试工作效率和办学水平,实现现代化大学的运行机制和高水平的管理,体现大学计算机学院自己的特色,使数字化学院建设成为一流信息学院建设的重要组成部分。用“数字化校园”的整体概念来统一规划、组织和建设学院的办公自动化系统、数字化教学系统、系统、图书资料管理系统和数字化校园体验系统。在这个概念下,统一设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理等。 开发后的数字化学院管理系统包括学院概况、组织机构、师资队伍、学科与专业、招生与就业、数字化教学、数字图书馆、数字化校园体验和办公自动化九部分。

(完整版)LDPC码的编译码算法研究本科毕业设计

毕业论文题目:LDPC码的编译码算法研究

摘要 低密度奇偶校验码(Low Density Parity Check Codes,简称LDPC 码),本质上是一种线性分组码,更接近香农限。目前的研究均表明LDPC 码是信道编码中纠错能力最强的一种码,其译码器结构简单,在深空探测、卫星通信等领域可得到广泛的应用。文章介绍了LDPC 码,综述了其编码方法和译码方法。在编码方法中分别描述了校验矩阵的构造和基于校验矩阵的编码算法,对LDPC 码的快速编码方法进行分析。在译码方法中主要论述了消息传递译码算法、置信传播译码方法、最小和译码算法、比特翻转译码算法和加权比特翻转译码方法。对部分LDPC码的编译码就行了仿真,同时对LDPC 码的编译码方法的发展及应用前景作了分析。 本文的重点是对LDPC码的编译码算法的论述与研究,介绍LDPC码的基本原理和分类,分别从基于生成矩阵和基于校验矩阵详细讨论了LDPC码编码算法,简单介绍了线性分组码编码,LU分解法,RU分解法。并用简明例子对RU算法做了清晰的解释。对译码大致做了解释:分为软判决译码(MP算法)和硬判决译码(比特翻转算法和加权比特翻转算法)。在本文的最后用AWGN信道下LDPC码的性能仿真,主要是针对比特翻转算法进行仿真。做出理论比较。 关键词:LDPC码编译码MATLAB

Title:Encoding and Decoding Algorithms of LDPC Codes Abstract:LDPC code, namely Low Density Parity Check Code, is a kind of linear block codes in nature, and the decoding performance of LDPC is more nearer to the Shannon limit. With it s best performance and simple decoder structure, LDPC codes will be widely used in deep space exploration, salite communications and other fields. While briefly introducing LDPC codes are introduced briefly, this paper summarizes the encoding and decoding algorithms. The encoding algorithm is described in two steps: the const ruction of parity-check matrix and the encoding method based on parity-check matrix. Analyze the rapidly coding method for LDPC code. As to decoding algorithm, MP decoding method, BP decoding method, Min-Sum decoding method, Bit-Flipping method and Weighted Bit-Flipping method are discussed. Emulate for the LDPC codes .The development and application of encoding and decoding methods is analyzed as well. This article focuses on encoding and decoding algorithms of LDPC codes,According to the different methods of decoding algorithm, and makes the theoretical MATLAB simulation.

相关主题
文本预览
相关文档 最新文档