计算机毕业论文|计算机论文|计算机毕业设计|计算机网络论文  
设为首页 加入收藏 联系站长
论文无忧网|专业的计算机论文、计算机毕业论文服务网站
计算机毕业设计 计算机毕业论文 计算机论文 管理系统 工资 在线选课 图书
当前位置:计算机毕业论文网 >> Delphi论文设计 >> 浏览文章
delphi061基于Delphi题库系统与试卷生成

【说明】本站所列作品的内容只是论文的部分介绍,如果想了解此作品的详细资料,请联系在线客服。
全套设计作品包括系统+源程序+论文+开题报告+使用手册,可以直接作为毕业设计/论文使用.
本站作品全部经过技术员测试,完整无错,大家可以放心参考使用。包调试,包指导,售后全部免费,直到您通过答辩为止。
现成作品的购买流程请参照:购买现成作品流程 网站介绍 常见问题解答

摘  要一般情况教师想出一份试卷,要么到庞大的题库里一道一道的把题找出来,或是从几本相关的书里把题一道一道挑出来。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。正是为了能够帮助教师轻松的出一份高质量的试卷而开发了本软件。为了达到预期的目标我们最终选择了MicrosoftOfficeWord做为本软件的终端输出。本软件是在对现有控件的改进和VBA编程的研究的基础上开发的。本软件实现了以下主要功能:1.手动生成试卷;2.自动生成试卷;3.抽取现有试卷;4.用户管理;5.数据库管理。大量的测试表明本软件在Windows98/me/2000/XP平台配合OfficeXP/2003的环境下程序运行稳定且各项功能运行得都很正确,基本达到了预期的要求!!

结论:经过老师的实际试用本软件在界面上和功能上都有独到之处!!相信完全可以胜任出一份好的试卷任务。

目  录

摘  要1
Abstract2
前  言1
1.简述2
1.1开发工具简介2
1.1.1Delphi7.0的特点2
1.1.2主要的控件及其属性简介2
1.1.3数据库连接方式选择3
1.2程序运行环境4
2.需求分析5
2.1负责的功能模块5
2.2软件功能分析5
3.设计阶段8
3.1概要设计8
3.1.1系统数据库设计8
3.2详细设计12
3.2.1程序流程图12
3.2.2窗体功能简介14
4.软件实现20
4.1OOP简介20
4.2开发的关键技术20
5.软件测试及其维护24
5.1系统测试平台简介24
5.2测试方法24
5.3系统维护25
6.开发总结26
参考文献27
致  谢28
译文29
原文33


1.需求分析1.1负责的功能模块n设计试题生成功能,试题能分布整个教学内容

n设计试题的难易程度分析功能

n具有试题的答案生成功能

n数据库设计及维护

n程序的其它选项设置

1.2软件功能分析根据我负责的功能模块,主要是在试卷的生成上。

1.要显示书本章节信息以供用户使用。而在数据库里章节的存放是没有规则也即它们的顺序不一定按照真实书本的章节顺序来存储的。但是在显示章节信息的时候必须按照书本的章节顺序来显示。所以特别设置如下的数据类型:

type

ZJ=record

ZJID:double;

ZJName:string;

end;

在这里ZJID是设置成double的类型与相对应的是数据库里表ZhangJie里的ZJ字段此字段的类型为文本弄的。故在添加此数据库结构的时候要把文本型转化为double的类型。而ZJName对应的是数据库里表ZhangJie里的ZJName它们为同一种数据类型。再由于数据库里章节的数量是不定的,故此种数据类型的变量必须是一种长度可变的类型才行,所以我们选择了Delphi里的动态数组类型。变量定义如下:

Var

TempZJ:ZJ;

HaveZJ:arrayofZJ;

接下来的问题就是把这个变量记录的数据按一定顺序显示到TCheckTree的控件里了。由于章节的数量还是比较多的,所以我选择了“改进的选择排序”,具体的排序算法代码实现如下:

fori:=0toHigh(HaveZJ)do//对章节号进行排序

begin

k:=i;

forj:=i 1toMaxNumdo

ifHaveZJ[k].ZJID>HaveZJ[j].ZJIDthenk:=j;

ifi<>kthen

begin

TempZJ.ZJID:=HaveZJ[i].ZJID;

TempZJ.ZJName:=HaveZJ[i].ZJName;

HaveZJ[i].ZJID:=HaveZJ[k].ZJID;

HaveZJ[i].ZJName:=HaveZJ[k].ZJName;

HaveZJ[k].ZJID:=TempZJ.ZJID;

HaveZJ[k].ZJName:=TempZJ.ZJName;

end;

end;

2.手动生成试卷时要不断的将用户选择的题目临时存储起来,由于记录一道题所包含的信息不是很多,再因为这些信息一会儿还要在“保存答案”里使用,所以我设置了4个TStringList的全局变量,定义如下:

var

STTypeID,STBH,STND:TStringList;

每选一道题保存时的算法代码如下:

首先保证要添加入的试题与现有的试题不能重复。

LX:=ST_DBG.Fields[1].AsInteger;

BH:=ST_DBG.Fields[0].AsInteger;

fori:=0toSTTypeID.Count-1do

begin

if(StrToInt(STTypeID.Strings[i])=LX)and(StrToInt(STBH.Strings[i])=BH)thenbegin

MessageBox(handle,'要加入的试题已经存在了!','加入错误',MB_OKorMB_ICONERROR);

exit;

end;

end;

如果不重复的话则把试题添加进来!!

STTypeID.Add(IntToStr(LX));//记下试题类型

STBH.Add(IntToStr(BH));//记下试题编号

STND.Add(ST_DBG.Fields[4].AsString);//记下试题难度

3.在自动生成试卷里最主要的一点就是如何生成一个覆盖知道点广且试题不重复的试卷。其中的关键算法在于如何生成一个不重复的随机数序列。在Delphi里随机数的产生函数是Random,然而如果用这个函数来生成一定范围内的随机数重复的机率太大了。其中变量定义如下:

var

XTH:arrayofinteger;//存放随机选题号

以下是产生不重复随机数的算法:

num:=MaxBH-MinBH 1;

ifnum>0then//开始初始化

begin

SetLength(XTH,num);

fori:=0tonum-1do

XTH[i]:=MinBH i;//给动态数组设初值

Randomize;//初始化随机数生成器

fori:=0tonum-1do

begin

j:=random(num);

temp:=XTH[i];

XTH[i]:=XTH[j];

XTH[j]:=temp;

end;

end;

上一篇: delphi060基于Delphi银行学生助学贷款管理系统
下一篇: delphi062基于Delphi商品销售管理系统
在线客服  
点击这里给我发消息 点击这里给我发消息
点击这里给我发消息 点击这里给我发消息
QQ:528311109 QQ:528311109
  服务邮箱:Service@paper51.com
热门浏览
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
最近更新  
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 在线留言 | 网站地图
Copyright 2006-2008 Powered by Paper51.com,论文无忧网 All Rights Reserved.
声明:《论文无忧网》,根据《信息网络传播权保护条例》,如果我们网站上的的作品侵犯了您的权利,请及时通知我们,我们会及时删除。
《论文无忧网》为您提供优秀的计算机毕业设计|计算机毕业论文|计算机论文|毕业论文等资料,仅供学习参考使用。