面向对象程序课程设计方案20120826

  • 格式:doc
  • 大小:1.37 MB
  • 文档页数:21

《面向对象课程设计》方案对象:计科2011-2、3班时间:2012年9月3日-7日,10日-14日,每天下午1:30-4:30,共30个小时地点:电信楼2楼计算中心联系方式:盛啸涛:665588;EMAIL:sxt@;一、基本要求:1、仔细阅读《面向对象》课程设计方案,认真主动完成课程设计的要求。

有问题及时主动通过各种方式与教师联系沟通。

2、同学要发挥自主学习的能力,善于查找资料,充分利用上机时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况。

3、每个学生必须独立完成一个课程设计题目。

特殊情况(如项目难度和规模特别大),经老师同意,可以2-3人共同协作完成,其每个组员的课程设计成绩=组成绩*该生在组内的权重。

(每组学生权重之和等于该组学生数)4、每天必须记录工作日志,包括工作时间,工作地点,工作内容,工作进展,收获与问题等。

本日志作为最终上交作业的不可缺少部分。

5、成绩根据上机成果检查和纸介质文档(作业)确定。

欢迎提前申请成果检查;文档包括题目、实验目的(与数据结构理论的关系)、组员与权重(若是合作)、实施计划、系统设计、模块结构、详细设计、数据结构、数据流图、源程序(详细的注释)、经验和教训、工作日志、参考书籍和网址等。

6、程序必须用C++语言开发。

每个题目的程序行总量不得少于400行,2人合作项目的代码行数>700,3人的行数>1000。

7、上机成果检查可在14日前,随机提问方式;纸质文档和电子文档在14日4:30前交。

电子文档文件名为“班级-姓名-题目名”8、每个同学必须对其所做项目有透彻了解,甚至每一行程序的含义、目的,严禁照搬照抄,不求甚解,甚至应付。

检查的重点是成果,是否原创或有创新,以及报告书质量。

9、题目可选择下面的任一个,鼓励同学另选题目和创新。

二、基本流程1、确定课程设计题目;2、查找资料,确定系统结构;3、系统总体设计;4、详细设计5、系统编码实现;6、测试;7、进行答辩检查。

8、撰写设计报告并上交纸质和电子文档三、备选题目(一)编写一份我国的农历要求:(1)实现月份与节气的对应;(2)显示节气时要有对应的公历时间,并且提示该节气之前与之后的农历节气。

(二)写屏幕保护程序要求:(1)当系统检测到一段时间内没有鼠标和键盘信息输入时即自动进入屏幕保护程序,以避免长时间显示静止画面而引起荧光体损坏;(2)可及时删除留在屏幕上的敏感信息,一旦有鼠标或键盘信息输入,就自动关闭屏幕保护程序;(3)能够通过控制面板的显示器控制设置屏幕保护的各种属性:使屏幕保护程序有效或者无效,从一系列屏幕保护程序中选择自己喜欢的屏保程序、配置和预览屏保程序、指定空闲时间长度、设置屏保口令等。

(三)写实现计算器功能的应用程序要求:(1)能够实现简单的加、减、乘、除、乘方、开方运算,界面美观。

(四)写通讯录应用程序要求:(1)能够实现通讯录数据库中数据的浏览、删除和添加以及修改功能。

界面简洁美观。

(五)画图应用程序要求:(1)可绘制直线、椭圆、三角形、矩形;(2)可填充形体、绘制文本;可改变线条颜色、类型、填充方式;(3)可对图形进行删除、拷贝、剪切、平移、恢复和撤销操作;(4)可完成图形文件的保存、打开、打印且能提供将所绘图形转换为位图进行存储的功能。

(六)编写PING程序要求:(1)创建一个自己的PING 工具,用来检测网络连接速;(2)会在本机和给出的远程主机名之间建立一个SOCKET 连接并向其发送一个ICMP协议格式的数据包,然后远程主机作出响应,发回一个数据包,通过计算发送到接收数据包的时间间隔,以确定连接的速度。

(七)编写浏览器程序要求:(1)有URL连接地址窗口;(2)具备浏览器基本功能,完成网上冲浪任务。

(八)编写服务器端聊天程序要求:实现以下功能(1)在特定端口等待客户连接请求,并维护一个客户连接表用来记录所有成功的连接。

(2)能及时接受各客户端发送来的信息。

(3)服务器端要监控连接状态,在客户主动离开或发生故障时从列表中删除相应表项,并及时更新连接表。

(九)编写客户端聊天程序要求:(1)负责建立、维护与服务器的连接,通过获取用户的设置尝试与服务器连接,并随时控测连接状态。

(2)要能把用户信息及时发送到聊天服务器。

(3)要随时准备好接受来自服务器的信息,随时把接收到的信息显示出来,让用户及时看到对方的响应。

(4)退出时关闭于服务器的连接。

(十)编写能够播放视频文件的应用程序要求:(1)运行时,首先出现空窗口,单击左键可建立并显示要播放视频文件的第一帧;在此空窗口任何地方单击左键,开始播放视频文件。

(2)再次单击左键暂停并重新开始。

(3)任何时间,用户都可将进度条拖到任意位置。

(4)在窗口任意地方单击,可关闭该应用程序。

其他可供参考的题目有:1、排序算法的比较:随机产生一批数据,选择5种排序算法完成排序,比较结果,包括运算时间等。

2、查找算法的比较:随机产生一批数据,选择5种查找算法完成查找,比较结果,包括查找次数等。

3、HUFFMAN树的建立、生成和HUFFMAN编码的生成:随机输入一篇英文文章(或读一个TXT文件),生成并显示HUFFMAN树,输出每个字母的HUFFMAN编码,判断ASCII编码与HUFFMAN编码对本篇报文长度节省效果。

4、对有向带权图,用FLOYED算法求任2点间最短路径;对AOE网,求出关键路径5、分别用PRIM算法和KRUSKAL算法求最小生成树6、速算24:输入4张牌,1-10,用+-*/()求出24点。

7、迷宫问题8、俄罗斯方块游戏9、贪吃蛇游戏10、黑白棋游戏11、扫地雷游戏12、八皇后问题13、围棋步骤地记录和复盘能记录每步的走法(甲乙两方,注意提子的记录),以及复盘,前进回退14、中国象棋马步的判读在中国象棋盘上,马可以在任意点位上,同时棋盘上随机产生一些障碍物在一些点位上,马可以逐步走下去,直至无法走或满20步。

四、考核方式各部分所占比例如下:1、平时成绩 20%2、实习成果 40%3、课程实习报告 40%九、课程设计报告格式1、封面:按系统一格式书写;2、目录:每章节均要有页号;3、正文:分若干章节书写;4、课程实习报告要求包括以下内容:(1)需求分析报告(应用背景、采用的技术等)(2)系统结构设计(系统结构模型、模块划分及实现方法)(3)程序模块设计与调试(设计和调试各程序模块,提交主要的程序段)(4)结束语(系统应用前景、不足与改进、体会)(5)系统使用说明书(可选)5、参考文献按下列格式填写:(1)主编姓名.书名.出版城市名称:出版社名称,出版年.月(2)第一作者姓名.论文名.《杂志名称》. 某年某月第几卷第几期6、字数不少于4000字。

六、课程设计报告模板注意仅供参考,希望有自己的亮点和创新2012.8.26 By 盛啸涛宁波工程学院电信学院课程设计报告书二○一二~二○一三学年第一学期课程名称:面向对象程序设计班级:计科11-2学号:姓名:吴玫琳指导教师:盛啸涛二○一二年九月一、题目对有向带权图,用FLOYED算法求任2点间最短路径;对AOE网,求出关键路径,边数不少于15点。

存储方式任意,提供算法分析。

二、实验目的通过这次对有向带权图,用FLOYED算法求任2点间最短路径和对AOE网求出关键路径,边数不少于15点的课程设计,进一步了解栈(包括进栈、出栈)和图的概念。

一方面通过对程序算法的设计和分析提高我们对问题进行文字论述和文字表达的能力并且培养我们进行知识综合,软件开发和软件的调试技术,开发较大程序的能力。

另一方面培养了我们相互合作的精神并培养了我们的创新意识。

三、组员与权重吴玫琳1.05陈丹风0.95四、需求分析对于一个庞大的工程,缩短工期不仅可以减少成本,更能提高效率。

所以要求在保证工程中各个活动按时完成的前提下缩短整个工期。

在工程中路径长度最长的路径称为关键路径,若能缩短关键路径的工期,则能缩短整个工程的工期,程序要求找出工程的关键路径。

对于一个项目用不同的方法,不同的阶段会产生不同的效益,在此我们需要的是效率高的,所以在不同的方法同一个效果的情况下要求能够找出用时最短的路径。

五、系统设计AOE:用关键路径的求法,将工程的各个项目活动拟成AOE网。

在不改变关键路径的前提下,缩短关键活动从而缩短整个工期。

为求工程中的关键路径判断一个活动的最早开始时间与最晚开始时间是否相等,若相等则该活动为关键活动,由关键活动连成的路径即为关键路径。

并得出关键路径的长度。

数据流程图Folyd:直接在图的带权邻接矩阵中用插入顶点的方法依次构造出v个矩阵D(1)、D(2)……D(3),使最后得到的矩阵D(v)成为图的距离矩阵,同时也求出插入点矩阵以便得到两点间的最短路径。

数据流程图六、模块结构AOE通过输入的活动、节点个数以及活动的先后序号和时间,判断是否有回路,得出工程的关键路径及关键路径长度。

Floyd 通过输入端点及其权重输出路径矩阵七、详细设计Floyd 算法(1)求距离矩阵把带权邻接矩阵W 作为距离矩阵的初值,即()()()W d D VV ij==⨯00。

1.()1D =νν⨯)()1(ij d ,其中)0(1)0()1(,min{i ij ij d d d =})0(1j d +,)1(ij d 是从v i 到v j 的只允许以v 1作为中间点的路径中最短路的长度。

2. ()2D =νν⨯)()2(ij d ,其中)1(2)1()2(,min{i ij ij d d d =})1(2j d +,)2(ij d 是从v i 到v j 的只允许以v 1 、 v 2作为中间点的路径中最短路的长度。

…V. ()V D =ννν⨯)()(ij d ,其中)1()1()(,min{--=ννννi ij ij d d d })1(-+ννj d ,)(νijd 是从v i 到v j 的只允许以v 1、v 2、…、νv 作为中间点的路径中最短路的长度.即是从v i 到v j 中间可插入任何顶点的路径中最短路的长,因此()V D 即是距离矩阵。

(2)求路径矩阵在建立距离矩阵的同时可建立路径矩阵R 。

R=νν⨯)(ij r , r ij 的含义是从v i 到v j 的最短路要经过点号为r ij 的点。

νν⨯=)()0()0(ij r R , j r ij =)0(每求得一个D (k)时,按下列方式产生相应的新的R (k)否则若)1()1()1()1()(----+>⎩⎨⎧=k kjk ik k ij k ijk ij d d d r kr即当v k 被插入任何两点间的最短路径时,被记录在R (k)中,依次求()V D 时求得()V R ,可由()V R 来查找任何点对之间最短路的路径。