第一篇:错位相减法毕业论文素材
导语:错位相减法是一种常用的数列求和方法。应用于等比数列与等差数列相乘的形式。下面是小编收集整理的错位相减法毕业论文素材,欢迎参考!
【错位相减法毕业论文素材一】
一、问题的提出
a1(1-qn)我们都知道,高一课本第一册(上)在推导等比数列前n项和公式Sn= 1-q,随即在书中的第137页复习参考题三B(q≠1)的过程中运用了著名的“错位相减法”。
组中出现了运用该方法来解决的求和问题:
6、S=1+2x+3x2+??+nxn-1。这类数列的主要特征是:已知数列{Cn}满足Cn=an?bn其中{an}等差,{bn}等比且公比不等于1,老师们形象地称这类数列{Cn}为“等差乘等比型”数列。求这类数列前n项的和时通常在和式的两边都乘以组成这个数列的等比数列的公比,然后再将得到的新和式和原和式相减,转化为同倍数的等比数列求和,这种方法即所谓的“错位相减法”。而且近年来的各地乃至全国高考的试卷中频频出现此类型的数列的求和问题,解法当然是不变的“错位相减法”,而且老师在平时的讲题中也一再强调该类型的前n项和只能用错位相减法来解决,似乎成了“自古华山一条道”的绝法。难道真的没有其他的解决方法了吗?这的确没有让我墨守成规,反而激起了我无限的探索欲。
二、特例解决带来的启发
当q≠1时等比数列{an}通项an=a1qn-1可变形为an=a1qn-1?a1-q=1(qn-1-qn)1-q1-q
于是前n项和Sn=a1a[(1-q1)+(q1-q2)+?+(qn-1-qn)]=1(1-qn)1-q1-q
受到上面变形的启发,我想既然等比数列的通项可以裂成两项的差的形式,那么公比不为1的“等差乘等比型”数列的通项如果也能裂成类似的形式,那么让我苦思冥想的那个求和方法不就神奇的找到了吗?在此之前,我们老师还一再强调此类数列的求和不能用裂项相消,如果这一设想成功的话,算不算是观念和方法上的一次突破。
三、一个方法的发现
裂项求和也是数列求和中最常用的一种方法,它的本质是将数列中的每一项都化为两项之差,并且前一项的减数恰好与后一项被减数相同,求和时中间项相抵消。
【错位相减法毕业论文素材二】
数列求和是数列的重要内容之一,在现行高中教材中,只对等差数列和等比数列的求和公式进行了计算推导,而数列种类繁多,形式复杂,绝大多数既非等差数列又非等比数列,也就不能直接用公式来求解。很多同学遇到数列求和问题总是感到力不从心,甚至有的同学把它看作是自己的死穴,觉得即使思考也做不出来,何必耽误时间,因此遇到这类问题就直接跳过。在这中间,错位相减是一个比较重要的内容,也是一个及其有效的解决数列求和的简便方法,但是由于它的计算量比较大,同时要反复列出几个式子并且不断求解,有的题目一眼看上去不容易找出公比,更加导致一些同学放弃或者只计算其中的一部分。实际上,通过分层次练习,总结经验,并找到规律,这类问题的求解会变得相当的简单。
一、错位相减理论分析
错位相减是高中数学教材中推导等比数列前n项和的一种思想方法,它在解决由一个等差数列和一个等比数列对应项之积所构成的数列求和,具有非常重要的意义。由于它的独特性与实用性,并且与课本知识紧密结合,所以,在高考中占有十分重要的地位。它所遵从的思想是一种转化的思想,经过转化可以把它转化成为等比问题求解。乘以相同的公比得到新式子,再同旧式子错位相减,就得到了一个含有等比数列的等式,细心计算,便不难求解。
二、错位相减题目举例
首先,我们先看一道最简单的例题,从简单题中得到启发。
例1.已知数列an=nλnλ,求数列的和。
解:∵Tn=λ+2λ2+…+n-1)λn-1+nλn,JY①
两边同时乘以λ,得
λTn=λ2+2λ3+…+n-1)λn+nλn+1,JY②
①-②,得
JZ1-λ)Tn=λ+λ2+…+λn-1+λn-nλn+1,JZ∴1-λ)Tn=SXλ1-λn)1-λSX)-nλn+1,JZ∴Tn=SXλ1-λn)1-λ)2SX)-SXnλn+11-λSX).这是一个最简单的错位相减,同时也是解决错位相减问题的一个基础题目。
下面,我们来看一道有些麻烦的题目。
例二.an=1-2n)2n,求Sn.解:由题意知,JZan=(1-2n)2n,JZ∴Sn=a1+a2+a3+…+an,即
DKSn=(1-2)2+(1-4)22+(1-6)23+…+(1-2n)2nDK)JY①
①×2得
DK2Sn=(1-2)22+(1-4)23+…+(3-2n)2n+(1-2n)2n+1DK)JY②
②-①得
JZSn=2+222+23+…+22n-(2n-1)2n+
1JZ=2+2SX4(1-2n-1)1-2SX)-(2n-1)2n+1
JZ=(1-n)2n+2+2n+1-6
例二是一个具体化的错位相减问题,对于这些直接列出的题目,大多数的学生都可以做出来,出错率也比较的低,但是,在如今这样一个考验学生综合素质=的社会中,我们遇到的大多都是多个知识点结合的题目。下面我们通过一道高考题来进一步认识一下错位相减。
例三.已知等差数列{an}的前3项和为6,前8项和为-4.(1)求数列的通项公式.(2)设bn=(4-an)qn-1q≠0,n∈求数列的前n项和.解:(1)设{an}的公差为d,则由已知得
JZJB{a1+a2+a3=6a1+a2+…+a8=-4,JB)即JB{3a1+3d=68a1+28d=-4,JB)
解得a1=3,d=-1,故an=3-n-1)=4-n.(2)由(1)知,bn=nqn-1,于是JZSn=1q0+2q1+3q2+…+nqn-1,若q≠1,上式两边同时乘以q.JZqSn=1q1+2q2+3q3+…+nqn-1,两式相减得:
JZ(1-q)Sn=1+q1+q2+…+qn-1-nqn=SX1-qn1-qSX)-nqn.JZ∴Sn=SX1-qn(1-q)2SX)-SXnqn1-qSX)=SXnqn+1-(n+1)qn+1(1-q)2SX).若q=1,则Sn=1+2+3+…+n=SXnn+1)2SX),JZ∴Sn=JB{HL2SXn(n+1)2SX)(q=1)
SXnqn+1-(n+1)qn+1(1-q)2SX)q≠1)HL)JB)
针对这个问题,许多同学容易忽视对于q的讨论致使题目出错。这个问题的关键是对于等比数列的定义的认识,若是忽视了等比数列定义中对于公比的界定,则很容易导致问题出错。我们回顾例一可以发现,在例一中我们对公比进行了限定,因此,在下面的解题中就不需要进行讨论。
三、方法总结
A.分析题型,确定类型。错位相减问题具有很强的规律性,当然也适应特定的题目,所以,在做题之前首先需要明确题目的类型,错位相减法是否使用。首先,确定是否为数列类型的题目;其次再确定是否为求和问题;最后,通过观察通项的类型,确定是否可以使用错位相减法解决问题。错位相减法是等差数列和等比数列的有效结合,即
JZTn=a1b1+a2b2+…+an-1bn-1+anbn
其中an为等差数列,bn为等比数列。
B.错位相减的做题方法
以例1为例,即
Tn=λ+2λ2+…+(n-1)λn-1+nλnJY①
λTn=λ2+2λ3+…+(n-1)λn+nλn+1JY②
(1-λ)Tn=λ+λ2+…+λn-1+λn-nλn+1JY③
1.①×公比λ得②式(或乘以公比的倒数,解题方法类似);
2.①-②得③(③式为:留①头,减②尾,中间对应次数相减的同系数);
3.③里面含有n+1项;
4.按照等比数列求和方法求③式的前n项的和,减去第n-1项;
5.③式两边同时除以SX1λ-1SX)得最后的结果。
在使用错位相减求和时,一定要善于识别这类题目,准确的识别是正确解题的关键。同时要十分注意等比数列的公比为负数的情形,此外,一定要注意在书写的时候注意将①②两式的“错项对齐”,即将相同幂指数的项对齐,这样有一个式子(即式①)前面空出一项,另外一个式子(即式②)后面就会多出一项,①②两式相减得到③式,在式③中除了第一项和最后一项,剩下的n-1项是一个等比数列。当然认真细致,悉心体会,记住规律,耐住性子也是相当重要的。
“知行统一”的重要性大家应该都知道,当我们记住了理论的知识,勤加练习,反复运用才会使我们事倍功半,恰巧,错位相减正需要我们的大量练习,在不断的练习,反复的刺激我们的记忆细胞下才有可能使我们在做题的时理论练习实际,减少出错率。
第二篇:《数列求和之错位相减法》教学设计
《数列求和之错位相减法》教学设计
教学目标:
让学生能够理解错位相减法,并能够应用错位相减法求数列的前n项和。教学重点: 错位相减法的应用 教学难点:
错位相减法的计算过程 教学内容:
一、课前复习
回顾等比数列前n项和的求和公式:
设计意图:由于应用错位相减法解题时必定会使用等比数列前n项和的通项公式求和,因此有必要做好复习铺垫工作。
二、问题探究
数列{an}的通项公式ann,数列{bn}的通项公式bn2n,求数列{anbn}的前n项和。设计意图:由具体问题引入课题,引导学生观察题目中所求数列通项的特点,即“等差×等比”型。
解决方法:展示并叙述“错位相减法”的具体操作步骤,具体如下:
由此归纳“错位相减法”核心要领:乘公比,错位,相减。设计意图:整个过程的完整展示,帮助学生建立一个清晰的计算步骤,以此学会解决此类型的数列求和问题,主要体现设计的实用性。
三、当堂练习
设计意图:为了巩固复习错位相减法,让学生对不同“长相”,但都属于“等差×等比”型题目能熟悉,从而确信并有意识强化学习。
四、归纳小结
1、首先进行使用“错位相减法”时易出错的4点进行归纳强调。
2、再整体上对此段的学习进行小结,再次提升
设计意图:有学习必有总结。任何一种解题方法都有其使用条件、适用范围,以及易错点等等。学生通过学习,也能自觉感知并总结,由此深化数学解题方法的学习。
五、作业布置
设计意图:课下练习,进一步巩固掌握“错位相减法”
第三篇:常规数列求和之错位相减法教案
常规数列求和之错位相减法
例
1、已知数列{an}前n项和为Sn,且a1=1,an+1=2Sn.
(1)证明数列{Sn}是等比数列;
(2)求数列{an}的通项公式;
(3)求数列{n·an}的前n项和Tn.
例
2、已知数列{an}满足Sn=2an+3n-12.
(1)证明数列{an-3}是等比数列;
(2)求数列{an}的通项公式;
(3)求数列{n·an}的前n项和Tn.
第四篇:高中数学常用方法总结——如何将错位相减法所得结论的公式化
错位相减法的简洁结论----公式化
错位相减法是推导等比数列前n项和公式的最简洁的方法之一,错位相减法还可以推广到求数列{anbn}的前项和,其中{an}是等差数列,公差为不为0,{bn}是等比数列,公比不为1.例:数列{an}的前n项和为Sn,a11,an12Sn,求数列{nan}的前n项和Tn.分析:当n1时,由an12Sn得an2Sn1,两式相减得an13an,所以数列{an}从第二项开始成等比,又a22S12a12,所以an23n2,因为a11不满足此式,所以nan1,n12n3n2,n1.Tn14306318322(n2)3n42(n1)3n32n3n23Tn34316328332(n2)3n32(n1)3n22n3n1两式相减: 2Tn22(3132333n33n2)2n3n1
33n1222n3n1(2n1)3n11
13所以: Tn(n)3n1.又因为T1a11也满足上式,所以: Tn(n)3n1,nN
错位相减法程序化的步骤让学生容易掌握和理解,但因计算量较大,学生常会因为计算的原因导致出错.如果错位相减法可以简化为一种形式简单的结论,我们又何乐而不为呢? 笔者在教学过程中发现,通项形如an(xny)qn,(q1,q0,x0)的数列,其前n项和必定形如Sn(AnB)qn1C,这个结论可以由错位相减法证明,就留给读者去证了,我简单从另外一个方法求得A,B, 因为: SnSn1[(AnB)qn1C][(AnAB)qnC]
12121212[A(q1)nB(q1)A]qn(xny)qn
对比系数得: AxyA,B,此时C可以由S1a1求得.q1q1上例中,设bnnan,则当n1时,b11,当n1时,bn2n3n2.根据公式有: A201111,B,所以Tn(n)3n1C, 3131221212又因为: T1Cb11C 所以:Tn(n)3n1,nN
解题思路和过程固然是重要的,但简洁的结论也很重要,它可以使我们少走弯路,少做重复的工作.单方面去强调过程或结论都是不可取的,在教学中,应让学生掌握好错位相减法的思想精髓上,再引出这个结论,才不会顾此失彼.从例题中可以看出,即使所求数列的首项不满足(xny)qn,也不会影响使用公式求和,但若所求数列前k项不满足(xny)qn,则求和结果必须加上条件nk,此时公式中的C值该由前k项和求出,当nk时,前n
1212项和须看具体情形而定.
第五篇:毕业论文素材
九江职业技术学院
Jiujiang Vocational & Technical College
学生姓名:专业班级:论文名称:指导教师:
罗
林 计算机1201班 教材管理系统
于
芬
摘要
教材管理系统是专为中小学校便于管理建立的管理应用系统。是面向一种异地分布的学校教材管理系统,支持供需链管理的计划和控制系统,系统还包括订单查询和管理以及各种综合查询等管理功能。
【关键词】 进库 教材领取 出库 Delphi 7.0 教材管理系统
引言
随着当今教育制度的改革,办事的快捷与高效成了急需解决的问题,而高校教材管理是高校教学管理工作中的一项重要任务,教材管理水平和工作效率的高低是反映高校教学和科研管理水平的重要标志。
随着办学规模的不断扩大,教材种类和数量也急剧上升,教材管理工作量之大,任务繁重,给教材购买和管理部门人员带来很多困难,差错率高,到书率低,对学校教学和科研工作产生较大的影响。
为了实现教材管理工作现代化、系统化、和规范化,管理水平上一个台阶,因此等待着一套使其更加便利的系统出现。
本系统对高校教材购销业务的具体情况和需求进行设计开发。本系统清晰明了地将各个管理细节综合起来,将分散的操作流程合并,其实用、简洁、方便的操作方法与界面能让非计算机专业的人员轻松上手。同时又便于数据库管理人员对数据库进行修改,节省不少人力、物力。系统分析 需求分析 开发背景分析
每学期工作人员根据各系所填课目信息和教材信息,以及教务处的选课信息,以班级为单位发放每班的下学期的教材使用信息,由各系将学生所需书目统计后上交图教材科,教材科工作人员按书目,出版社等信息,做好统计依次向出版社发放订购书目信息。当收到教材和课本单价后,做好入库的统计,开学后,发放班级收费信息,有各系向学生收费,并上交教材科工作人员,教材科同时做好与出版社的款目的核对与结帐。
这是工作的大致内容,但是也出现许多的例外。
当订购教材出版社不在印制的时候,由出版社将此信息发还教材科,教材科依次向各系教师征求教材修改信息,再寻找其他出版社。 班委统计数目与领书时的书目不合,原因部分学生在中途取消书目的订购,教材科处理办法:同意修改书的数目,但是余下的书作为零售,或转入下一年的定书中。
班级领书结束后,有部分学生需要退书,买书,原因:各系工作失误多定或少定,以及个人要求的改变,教材科处理方法:同意买书或退书,买书以零售价,退书以进价,同时开具发票。
功能分析
通过调查,要求系统需要有以下功能:
要有良好的人机界面,给人一种美观上的享受。 支持多人操作,要求有较好的权限分配功能。 在教材进库和领数(出库),要求详细明确。 为了方便用户查询,要求支持多条件查询。
明确的了解班级信息以及班级领书,同时也可以查询教师领书的情况。 支持多种报表打印。数据分析
一.数据主要有以下: 1.静态数据 1)班级具体信息 2)班级缴费情况 3)教材信息 4)退回书费信息 5)单位(院系)信息 6)教师领书信息 7)学生领书 8)书费信息 2.动态数据 1)管理员密码 2)书本单价 3)书本库存 4)操作员密码 二.数据库描述如下:
1.本系统主要用的数据库是SQL Server 2000。
2.本系统主要用到的数据表有:ym(用户信息表)、banji(班级信息表)、caozuoyuan(操作员信息表)、jiaocai(教材信息表)、danwei(单位信息表)、shufei(书费信息表)、tuihuishufei(退回书费信息表)、xueshenglingshu(学生领书信息表)、xueshengshufei(学生书费信息表)、jiaoshils(教师领书信息表)、jiaocairuku(教材入库信息表)。
3.数据关系表框架如下:
关系表1
关系表2 可行性分析 经济可行性分析 首先开发一个教材管理系统它是都具有市场,市场的经济潜力有多大,开发过程中所需要的人力、物力、财力。同时在开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
技术和具体实现中采集的关键技术分析
本系统数据库采用目前比较流行的Microsoft SQL Server,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;开发工具采用Delphi7,Delphi7是目前应用最广泛的数据库系统开发工具,可以快速开发Windows应用程序。总体设计 项目规划
教材管理系统是一个典型的数据库应用程序,由登录模块、主界面、系统管理模块、书费管理模块、出入库模块、综合查询、帮助。特规划功能模块如下:
系统管理模块
系统管理模块的主要实现操作员管理、密码修改、班级管理、单位信息和用户管理等管理。
书费管理模块
书费管理模块主要管理学校缴纳书费和退回书费管理。 出入库管理模块
出入库管理模块主要管理教材入库、学生领书、教师领书等功能。 综合查询管理模块
总和管理模块主要实现库存货品浏览、书费的查询。功能框架
图1 功能框图
系统设计 设计目标
根据企业的需求和进销存管理的特点,该系统实施后,应达到以下目标: 界面美观友好、信息查询灵活、方便、快捷、准确。 强大的库存预警功能,在意外中将损失降到最低。 提高工作效率,降低成本。 往来账目详细浏览。
对用户输入的数据进行过滤,当输入有误时提示用户。 数据保密性强,用户对应不同的操作级别。
系统最大限度地实现了易安装性、易维护性和易操作性。 系统运行稳定、安全可靠。开发及运行环境
系统开发平台:Delphi7.0。
数据库管理系统软件:SQL Server 2000。运行平台:Windowsxp/ Windows2000。分辨率:最佳效果1024*768。逻辑结构设计
本系统数据库采用SQL Server 2000数据库,数据库名称为“教材管理系统”。数据库教材管理系统中包含11个表。数据库中的数据表如下:
1.操作员信息表(cuozuoyuan)
2.班级信息表(banji)
3.单位信息表(danwei)
4.教材信息表(jiaocai)
5.教师领书信息表(jiaoshils)
6.书费信息表(shufei)
7.退回书费信息(tuihuishufei)
8.学生领书信息表(xueshenlingshu)
9.学生书费信息表(xueshengshufei)
10.用户信息表(ym)
11.教材入库信息表(jiaocairuku)
主要功能模块设计
主窗口目标
主窗体是程序的控制中心,其他模块都是通过主窗体来调用,所以主窗体的界面要设计的美观易操作。教材管理管理系统主窗体运行结果如图2所示:
图2 主窗体运行的结果
基础窗体创建
创建基础窗体主要为了提高开发速度和代码的利用率,从基础窗体继承的子窗体具有基础窗体的全部功能。基础窗体如图3所示:
图3 基础窗体
基础窗体设计步骤
添加一个新窗体,命名为“F_base”,设置其BorderStyle属性为“bsDialog”;KeyPreview属性为“True”。
相关程序代码如下: 在窗体的OnKeyPress事件处理过程中设置〈Enter〉键代替〈Tab〉键。代码如下:
procedure TF_base.FormKeyPress(Sender: TObject;var Key: Char);begin
if Key=#13 then
perform(WM_NEXTDLGCTL,0,0);end;系统管理模块设计
系统管理模块的主要实现操作员管理、密码修改、班级管理、单位信息和用户管理等管理。操作员管理
当你单击“系统管理”菜单中的“操作员管理”时,就会出现“操作员管理”窗体。通过本窗体可以进行的新增、删除、修改等操作,操作管理窗体如图4所示:
图4操作员管理窗体
相关程序代码如下:
procedure Tf_czy.Button2Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then begin
f_xitong.show;//显示窗体
f_czy.hide;//隐蔽窗体
end;end;procedure Tf_czy.Button1Click(Sender: TObject);begin
case radiogroup1.ItemIndex of
2:
if application.MessageBox('您确认要删除该信息吗?','删除确认',mb_okcancel)=idok then
//提示是否要删除该信息
begin
t6.Delete;
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';
edit5.Text :='';
end;//如果删除了该信息,文本框内的内容清空
1:
begin
t6.Edit;
t6['操作员']:=edit1.Text;
t6['密码']:=edit2.Text;
t6['所属部门']:=edit3.Text;
t6['操作员信息']:=edit4.Text;
t6['日期']:=edit5.Text;
t6.Post;
end;//添加信息,之后更新
0:
begin
t6.Append;
t6['操作员']:=edit1.Text;
t6['密码']:=edit2.Text;
t6['所属部门']:=edit3.Text;
t6['操作员信息']:=edit4.Text;
t6['日期']:=edit5.Text;
t6.Post;
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';
edit5.Text :='';
end;end;end;procedure Tf_czy.FormCreate(Sender: TObject);begin
t6.Open;//打开表6 end;procedure Tf_czy.DBGrid1CellClick(Column: TColumn);begin
edit1.Text:=DBGrid1.Fields[0].Value;
edit2.Text:=DBGrid1.Fields[1].Value;
edit3.Text:=DBGrid1.Fields[2].Value;
edit4.Text:=DBGrid1.Fields[3].Value;
edit5.Text:=DBGrid1.Fields[4].Value;end;end.班级管理
当你单击“系统管理”菜单中的“班级管理”时,就会出现“班级管理”窗体。通过本窗体用户可以进行班级的新增、删除、修改等操作,,班级管理如图5所示:
图5班级管理系统窗体
相关程序代码如下:
procedure Tf_bj.Button4Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then
begin
f_xitong.show;//显示窗体
f_bj.Hide;//隐蔽窗体
end;end;procedure Tf_bj.FormCreate(Sender: TObject);begin
t2.Open;//打开表2
edit1.Text :=t2['班级名'];
edit2.Text :=t2['入学时间'];
edit3.Text :=t2['班长'];
edit4.Text :=t2['班主任'];
edit5.Text :=t2['班级人数'];
edit6.Text :=t2['所学专业'];
edit7.Text :=t2['所在院系'];
edit8.text:=t2['班长联系电话'];
edit9.text:=t2['班主任联系电话'];end;//在文本框中显示数据表中的内容
procedure Tf_bj.DBGrid1CellClick(Column: TColumn);begin
edit1.Text:=DBGrid1.Fields[0].Value;
edit2.Text:=DBGrid1.Fields[1].Value;
edit3.Text:=DBGrid1.Fields[3].Value;
edit4.Text:=DBGrid1.Fields[5].Value;
edit5.Text:=DBGrid1.Fields[11].Value;
edit6.Text:=DBGrid1.Fields[10].Value;
edit7.Text:=DBGrid1.Fields[2].Value;
edit8.Text:=DBGrid1.Fields[4].Value;
edit9.Text:=DBGrid1.Fields[6].Value;end;procedure Tf_bj.Button1Click(Sender: TObject);begin
t2.Append;
t2['班级名']:=edit1.Text;
t2['入学时间']:=edit2.Text;
t2['班长']:=edit3.Text;
t2['班主任']:=edit4.Text;
t2['班级人数']:=edit5.Text;
t2['所学专业']:=edit6.Text;
t2['所在院系']:=edit7.Text;
t2['班长联系电话']:=edit8.Text;
t2['班主任联系电话']:=edit9.Text;
t2.Post;//添加信息
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';
edit5.Text :='';
edit6.Text :='';
edit7.Text :='';
edit8.Text :='';
edit9.Text :='';end;procedure Tf_bj.Button2Click(Sender: TObject);begin
if application.MessageBox('您确认好删除该信息吗?','确认删除',mb_okcancel)=IDOK then
begin
t2.Delete;
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';
edit5.Text :='';
edit6.Text :='';
edit7.Text :='';
edit8.Text :='';
edit9.Text :='';
t2.First;
end;//删除信息 end;procedure Tf_bj.Button3Click(Sender: TObject);begin
t2.Edit;
t2['班级名']:=edit1.Text;
t2['入学时间']:=edit2.Text;
t2['班长']:=edit3.Text;
t2['班主任']:=edit4.Text;
t2['人数']:=edit5.Text;
t2['所学专业']:=edit6.Text;
t2['所在院系']:=edit7.Text;
t2['班长联系电话']:=edit8.Text;
t2['班主任联系电话']:=edit9.Text;
t2.Post;//修改信息
self.DBGrid1.Refresh;end;end.密码修改和单位信息
当单击“系统管理”菜单中的“密码修改”或者“单位信息”时,就会出现“密码修改”或者是“单位信息”窗体。通过本窗体用户可以进行对密码的修改,单位信息查看、修改、删除等。密码修改和单位信息如图6和7所示:
图6 密码修改窗体
图7 单位信息窗体
密码修改窗体相关程序代码如下: procedure Tf_xiugai.Button1Click(Sender: TObject);begin
try
t.Filter :='用户名='''+edit1.Text +'''';
t.Filtered:=true;
t.Open;
except
application.MessageBox('用户名不对','请重新输入',mb_ok);
application.Terminate;
end;
if t.RecordCount =1 then
begin
if t['密码']=edit2.Text then
begin
if edit3.Text =edit4.Text then
begin
t.Edit;
t['密码']:=edit3.Text;
t.Post;
end
else
application.MessageBox('两次密码输入不一致,请检查','提示信息',mb_ok);
end
else
application.MessageBox('密码错误','请重新输入',mb_ok);
end;
application.MessageBox('密码修改成功','恭喜你呀!',mb_ok);
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';end;procedure Tf_xiugai.Button3Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then begin
f_xitong.show;
f_xiugai.Hide;
end;end;procedure Tf_xiugai.Button2Click(Sender: TObject);begin edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';
edit1.SetFocus;end;end.单位信息窗体相关程序代码如下:
procedure Tf_dx.Button2Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then
begin
f_xitong.show;
f_dx.Hide;
end;end;procedure Tf_dx.FormCreate(Sender: TObject);begin
t3.Open;
edit1.Text :=t3['单位名'];
edit2.Text :=t3['负责人'];
edit3.text:=t3['联系电话'];end;procedure Tf_dx.DBGrid1CellClick(Column: TColumn);begin
edit1.Text:=DBGrid1.Fields[0].Value;
edit2.Text:=DBGrid1.Fields[1].Value;
edit3.Text:=DBGrid1.Fields[2].Value;end;procedure Tf_dx.Button1Click(Sender: TObject);begin
case radiogroup1.ItemIndex of
2:
if application.MessageBox('您确认要删除该信息吗?','删除确认',mb_okcancel)=idok then
begin
t3.Delete;
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
end;
1:
begin
t3.Edit;
t3['单位名']:=edit1.Text;
t3['负责人']:=edit2.Text;
t3['联系电话']:=edit3.Text;
t3.Post;
end;
0:
begin
t3.Append;
t3['单位名']:=edit1.Text;
t3['负责人']:=edit2.Text;
t3['联系电话']:=edit3.Text;
t3.Post;
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
end;end;end;end.书费管理模块设计
书费管理模块主要管理学校缴纳书费和退回书费管理。缴纳书费
可以查询、打印各班级缴纳书费情况和操作。缴纳书费如图8所示:
图8缴纳书费窗体 缴纳书费相关程序代码如下:
procedure Tf_jf.Button2Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then begin
f_xitong.show;
f_jf.Hide;
end;end;procedure Tf_jf.FormCreate(Sender: TObject);begin
t4.Open;
while not t4.Eof do
begin
combobox1.AddItem(t4['班级名'],nil);
t4.Next;
end;end;procedure Tf_jf.Button1Click(Sender: TObject);begin
t4.Filter :='班级名='''+combobox1.Text+'''';
t4.Filtered :=true;
edit1.Text := t4['班级人数'];
edit2.Text := t4['本期费用'];
edit3.Text := t4['说明'];
edit4.Text := t4['上期费用'];
edit5.Text := t4['操作员'];
edit6.Text := t4['经办人'];end;end.退回书费
可以查询、打印各班级退回书情况和操作。退回书费如图9所示:
图9 退回书费窗体 退回书费相关代码如下:
procedure Tf_tf.Button3Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then begin
f_xitong.show;//显示窗体
f_tf.hide;// 隐蔽窗体
end;end;procedure Tf_tf.FormCreate(Sender: TObject);begin
t5.Open;
while not t5.Eof do
begin
combobox1.AddItem(t5['班级名'],nil);
t5.Next;
end;end;procedure Tf_tf.Button1Click(Sender: TObject);begin
t5.Filter :='班级名='''+combobox1.Text+'''';
t5.Filtered :=true;
edit1.Text := t5['班级人数'];
edit2.Text := t5['总书记费'];
edit3.Text := t5['退回书费'];
edit4.Text := t5['经办人'];
edit5.Text := t5['说明'];end;procedure Tf_tf.Button2Click(Sender: TObject);begin f_tf.RvProject1.ProjectFile:=ExtractFilePath(Application.ExeName)+'printproject1.rav';
self.RvProject1.Execute;
end;end.出入库管理模块设计
出入库管理模块主要管理教材入库、学生领书、教师领书等功能。教材入库
当你单击“系统管理”菜单中的“教材入库”时,就会出现“教材入库”窗体。通过本窗体可以进行的查询、打印等操作,教材入库如图10所示:
图10教材入库窗体
相关程序代码如下:
procedure Tf_rk.Button2Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then begin
f_xitong.show;
f_rk.Hide;
end;end;procedure Tf_rk.FormCreate(Sender: TObject);begin
t7.Open;while not t7.Eof do
begin
combobox1.AddItem(t7['订书单位'],nil);
t7.Next;
end;end;procedure Tf_rk.Button1Click(Sender: TObject);begin
t7.Filter :='订书单位='''+combobox1.Text +'''';
t7.Filtered :=true;
t7.Open;
edit1.Text :=t7['教材名'];
edit2.Text :=t7['获奖情况'];
edit3.Text :=t7['出版年月'];
edit4.Text :=t7['经办人'];
edit5.Text :=t7['上期数量'];
edit6.Text :=t7['获奖情况'];
edit7.Text :=t7['入库时间'];
edit8.Text :=t7['出版社'];
edit9.Text :=t7['教材单价'];
edit10.Text :=t7['操作员'];
edit11.Text :=t7['本期数量'];
edit12.Text :=t7['使用说明'];
edit13.Text :=t7['说明'];end;procedure Tf_rk.Button3Click(Sender: TObject);begin f_rk.RvProject1.ProjectFile :=ExtractFilePath(Application.ExeName)+'printproject2.rav';
self.RvProject1.Execute;end;end.学生领书和教师领书
查询各班学生和教师的领书情况。学生领书和教师领书如图11和12所示:
图11学生领书窗体
图12教师领书窗体
学生领书相关程序代码如下:
procedure Tf_lshu.Button2Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then begin
f_xitong.show;
f_lshu.hide;
end;end;procedure Tf_lshu.FormCreate(Sender: TObject);begin
t8.Open;
while not t8.Eof do
begin
combobox1.AddItem(t8['班级名'],nil);
t8.Next;
end;end;procedure Tf_lshu.Button1Click(Sender: TObject);begin
t8.Filter :='班级名='''+combobox1.text+'''';
t8.Filtered :=true;
t8.open;
edit1.Text :=t8['总书记费'];
edit2.Text :=t8['教材名'];
edit3.Text :=t8['班级人数'];
edit4.Text :=t8['所在院系'];
edit5.Text :=t8['出版社'];
edit6.Text :=t8['作者'];
edit7.Text :=t8['领书数量'];
edit8.Text :=t8['书费'];
edit9.Text :=t8['库存数'];
edit10.Text :=t8['单价'];
edit11.Text :=t8['经办人'];end;procedure Tf_lshu.DBGrid1CellClick(Column: TColumn);begin
combobox1.Text :=DBGrid1.Fields[0].Value;
edit1.Text:=DBGrid1.Fields[4].Value;
edit2.Text:=DBGrid1.Fields[1].Value;
edit3.Text:=DBGrid1.Fields[10].Value;
edit4.Text:=DBGrid1.Fields[9].Value;
edit5.Text:=DBGrid1.Fields[3].Value;
edit6.Text:=DBGrid1.Fields[2].Value;
edit7.Text:=DBGrid1.Fields[8].Value;
edit8.Text:=DBGrid1.Fields[5].Value;
edit9.Text:=DBGrid1.Fields[7].Value;
edit10.Text:=DBGrid1.Fields[6].Value;
edit11.Text:=DBGrid1.Fields[11].Value;end;end.教师领书相关程序代码如下:
procedure Tf_jshu.Button2Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then begin
f_xitong.show;
f_jshu.Hide;
end;end;procedure Tf_jshu.FormCreate(Sender: TObject);var i:integer;f:boolean;begin
t0.Open;
t9.Open;
while not t9.Eof do
begin
f:=true;
for i:=1 to combobox1.Items.Count-1 do
if combobox1.Items[i]=t9['教师名'] then
f:=false;
if f then
combobox1.AddItem(t9['教师名'],nil);
t9.Next;
end;end;procedure Tf_jshu.ComboBox1Change(Sender: TObject);begin
t9.Filter :='教师名='''+combobox1.text+'''';
t9.Filtered :=true;
t9.Open;
combobox1.Text :=DBGrid2.Fields[0].Value;end;end.综合查询模块设计
综合查询管理模块主要实现库存货品浏览、书费的查询。书费查询
可以查询各班级书费等操作。书费查询如图13所示:
图13 书费查询窗体 书费查询相关程序代码如下:
procedure Tf_cxsf.Button1Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then begin
f_xitong.show;
f_cxsf.Hide;
end;end;procedure Tf_cxsf.FormCreate(Sender: TObject);begin
t10.Open;
while not t10.Eof do
begin
combobox1.AddItem(t10['班级名'],nil);
t10.Next;
end;end;procedure Tf_cxsf.ComboBox1Change(Sender: TObject);begin
t10.Filter :='班级名='''+combobox1.text+'''';
t10.Filtered :=true;
t10.Open;
combobox1.Text :=DBGrid1.Fields[0].Value;end;end.库存查询
可以查询书本库存的存货和打印等操作。库存查询如图14所示:
图14库存查询窗体
库存查询相关程序代码如下:
procedure Tf_cxk.Button1Click(Sender: TObject);begin if application.MessageBox('您确认要退出吗?','删除退出',mb_okcancel)=idok then
begin
f_xitong.show;
f_cxk.Hide;
end;end;
procedure Tf_cxk.ComboBox1Change(Sender: TObject);begin
case radiogroup1.ItemIndex of
0:
begin
t11.Filter :='教材名='''+combobox1.text+'''';
t11.Filtered :=true;
t11.Open;
end;
1:
begin
t11.Filter :='出版社='''+combobox1.text+'''';
t11.Filtered :=true;
t11.Open;
end;
2:
begin
t11.Filter :='入库时间='''+combobox1.text+'''';
t11.Filtered :=true;
t11.Open;
end;
3:
begin
t11.Filter :='订书单位='''+combobox1.text+'''';
t11.Filtered :=true;
t11.Open;
end;end;end;procedure Tf_cxk.RadioGroup1Click(Sender: TObject);var
i:integer;
f:boolean;begin
case radiogroup1.ItemIndex of
0:
begin
combobox1.Items.Clear;
t11.First;
while not t11.Eof do
begin
f:=true;
for i:=0 to combobox1.Items.Count-1 do
if combobox1.Items[i]=trim(t11['教材名'])then //按教材名查询
f:=false;
if f then
combobox1.AddItem(t11['教材名'],nil);
t11.Next;
end;
end;
1:
begin
combobox1.Items.Clear;
t11.First;
while not t11.Eof do
begin
f:=true;
for i:=0 to combobox1.Items.Count-1 do
if combobox1.Items[i]=trim(t11['出版社'])then //按出版社查询
f:=false;
if f then
combobox1.AddItem(t11['出版社'],nil);
t11.Next;
end;
end;
2:
begin
combobox1.Items.Clear;
t11.First;
while not t11.Eof do
begin
f:=true;
for i:=0 to combobox1.Items.Count-1 do
if combobox1.Items[i]=trim(t11['入库时间'])then //按入库时间查询
f:=false;
if f then
combobox1.AddItem(t11['入库时间'],nil);
t11.Next;
end;
end;
3:
begin
combobox1.Items.Clear;
t11.First;
while not t11.Eof do
begin
f:=true;
for i:=0 to combobox1.Items.Count-1 do
if combobox1.Items[i]=trim(t11['订书单位'])then //按订书单位查询
f:=false;
if f then
combobox1.AddItem(t11['订书单位'],nil);
t11.Next;
end;
end;end;end;procedure Tf_cxk.FormCreate(Sender: TObject);begin
t11.Open;end;end.帮助模块设计
帮助模块如图15所示:
图15帮助窗体
系统使用说明 系统运行环境
运行环境要求:以上,本系统是本系统是采用Delphi开发工具以及后台数据库SQL server2000。同时本系统的运行环境要求在windows 2000以上的操作系统。
系统操作说明
本系统在使用之前先还原数据库(教材管理系统)数据库的命名为“教材管理系统”。
在打开之后会显示登录窗体,其中用户名和密码默认的都是“1”,或者是用户名“小罗”,密码是“1”。登录后会显示一个主窗体,之后就可以在主窗体上进行用户所想操作的功能。致谢
经过几个月的构思与设计,在指导老师的精心指导和安排下,本系统已经设计完毕。其使用功能基本符合在实际工作的需要,具有一定的实用性。但是由于时间比较仓促,加上本人软件设计经验的不足。因此,在分析问题、解决问题时显得不够严密、完善,还需要在以后的工作中不断地改进和完善。本次毕业设计历时两个多月,从选题、开题答辩,完成说明书。其间每一过程都得到指导教师的悉心指导,指导老师每周安排见面会,身体力行、兢兢业业地为我们排忧解难,不仅治学严谨而且为人师表,堪称良师益友,教给我们的不仅是知识还有待人处世的积极态度,在此表示衷心的感谢。
还要感谢九江职业技术学院图书馆及图书馆热情的管理员为我提供丰富的参考资料。感谢某些同学,给我提供了一些方便,同时他们给了我很多宝贵的意见和参考,使我获益很多,最后感谢所有关心、帮助过我的朋友和同学。
在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。最后,我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的毕业设计。同时,也要感谢我的老师和同学们及实习企业在本系统的设计过程中给予我的支持和帮助。