受空气阻尼的抛体运动课程设计模板.docx

上传人:b****6 文档编号:7568141 上传时间:2023-01-25 格式:DOCX 页数:17 大小:71.64KB
下载 相关 举报
受空气阻尼的抛体运动课程设计模板.docx_第1页
第1页 / 共17页
受空气阻尼的抛体运动课程设计模板.docx_第2页
第2页 / 共17页
受空气阻尼的抛体运动课程设计模板.docx_第3页
第3页 / 共17页
受空气阻尼的抛体运动课程设计模板.docx_第4页
第4页 / 共17页
受空气阻尼的抛体运动课程设计模板.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

受空气阻尼的抛体运动课程设计模板.docx

《受空气阻尼的抛体运动课程设计模板.docx》由会员分享,可在线阅读,更多相关《受空气阻尼的抛体运动课程设计模板.docx(17页珍藏版)》请在冰豆网上搜索。

受空气阻尼的抛体运动课程设计模板.docx

受空气阻尼的抛体运动课程设计模板

 

湖南工业大学

课程设计

资料袋

理学院(系、部)2008~2009学年第一学期

课程名称软件工程指导教师肖满生职称讲师

学生姓名孙燕飞专业班级信息051班学号0541110101

题目学生管理系统

成绩起止日期08年12月27日~08年12月31日

目录清单

序号

材料名称

资料数量

备注

1

课程设计任务书

2

课程设计说明书

3

课程设计图

4

5

6

湖南工业大学

课程设计任务书

2010—2011学年第1学期

理学院学院(系、部)应用物理学专业071班级

课程名称:

计算物理

一、设计题目:

利用Matlab研究受空气阻尼的抛体运动

二、完成期限:

自2010年12月27日至2010年12月31日共1周

1、分析抛体运动所受空气阻力的三种情况,写出质点运动的微分方程;

2、用龙格-库塔方法求解质点运动的微分方程;

3、画出粒子的空间轨迹和速度随时间变化的彗星图,找出轨迹的最高点,到达最高点的时间和速度。

起止日期

工作内容

10-12-27

分析抛体运动所受空气阻力的三种情况,写出质点运动的微分方程

10-12-28

设计计算流程图

10-12-29

根据计算流程图设计计算程序

10-12-30

对设计的程序进行调试和优化

10-12-31

写出课程设计的总结实验报告

[1]陈锺贤.计算物理学[M].哈尔滨:

哈尔滨工业大学出版社,2001:

37-49

[2]王沫然.Matlab与科学计算[M].北京:

电子工业出版社,2003:

219-229.

[3]石辛民,郝整清.基于MATLAB的实用数值计算〔M〕.北京:

清华大学出版社,北京交通大学出版社,2006.141-142.

指导教师(签字):

年月日

系(教研室)主任(签字):

年月日

(软件工程)

设计说明书

(学生管理系统)

起止日期:

2008年12月27日至2008年12月31日

 

学生姓名

孙燕飞

班级

051

学号

0541110101

成绩

指导教师(签字)

 

理学院(部)

2008年12月31日

1.课题研究的背景和意义

随着计算机技术的飞速发展,计算机在教学管理中应用的普及,利用计算机实现学生信息管理势在必行。

利用计算机完成学生基本信息管理,是适应现代教育教学制度要求,能更快捷地对学生信息进行管理;学生信息管理是一项琐碎、复杂而又十分细致的工作,学生基本信息、专业信息、课程信息以及学生成绩,一般不允许出错,利用计算机对信息进行收集和统计。

计算机具有着手工管理无法比拟的优点。

例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生管理的效率。

计算机进行学生管理工作,不仅能够保证学生信息正确无误、快速输出,而且还可以利用学生数据库对有关学生的各种信息进行统计,大大提高了管理水平和管理效率计,大大提高了管理水平和管理效率。

2.课题研究的内容

  首先,进行系统的需求分析。

系统功能分析是在系统开发的总体任务的基础上完成的。

学生管理系统是对学生的基本信息和成绩进行管理,在高校中各专业的学生所学的课程,甚至课程数量都不一样,所以系统中的成绩管理相对来说比较难于处理。

该系统应该有操作员管理,必须是经过授权的人员才能进行相应的权限操作,无管理权限的操作员可以修改自己的密码,系统管理员可以修改所有操作员的密码。

系统可以对学校的所有专业信息和课程信息进行管理,可以对学生的基本信息和成绩信息进行管理,最后该系统能对专业信息、课程信息、学生基本信息和成绩信息进行查询。

其次,经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在决定“怎么做”的时候了。

系统的基本目的就是回答“概括地说,系统应该如何实现?

”这个问题。

因此,系统设计又称为概要设计或初步设计。

系统设计阶段的另一个重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块之间的关系。

最后,针对学生管理的计算机化,进行细分的设计,这是课题最主要需要研究设计实现的部分,是文章重点讨论的对象。

包括操作员管理、学生信息管理和学生信息查询。

3.功能的拟实现

  通过对系统需求的分析和方便系统的管理和实时更新,拟实现以下功能:

(1) 主程序主要设计主菜单,通过模块调用,实现对各功能的调用。

(2) 系统管理模块主要实现登录用户的合法性检查和读取操作权限,它包括操作员管理、修改密码和初始化。

(3) 信息资料模块包括对各种信息的操作,如专业信息、课程信息和成绩信息的相应操作。

(4) 查询模块主要是对存储的数据进行查询,相应的有课程查询、学生资料查询和成绩查询。

设计(研究)方案和进度安排:

第一阶段:

(12月8日—12月14日)课程设计的相关资料的搜集。

第二阶段:

(12月15日―12月21日)更多的接触相关的知识,如Delphi7.0的接触,以及学生管理系统的部分设计。

第三阶段:

(12月22日―12月26日)根据已掌握的方法及的相关知识完成代码编写,同时系统进行测试,改进需要改进的地方。

第四阶段:

(12月27日―12月29日)根据导师的意见,进一步完善系统。

第五阶段:

(12月30日―12月31日)系统验收并撰写课程设计论文,论文初稿、定稿的完成。

 

所用软件:

MicrosoftSQLServer2000

BorlandDelphi7.0

所用语言:

BorlandDelphi7.0

所需设备:

PC电脑一台

组员:

周丹汪彬雯郭霞谭燕青吕海娟孙燕飞

附件:

学生管理系统数据库设计和分析

一、基本功能:

二、数据库设计

操作员operator

列名

数据类型

长度

是否为空

PK键

说明

备注

username

varchar

8

Y

用户名

password

varchar

8

密码

units

varchar

20

Y

right_1

bir

1

right_2

bit

1

right_3

bit

1

opera

varchar

8

操作员

stamp

datatime

8

最后修改时间

学生基本信息表student

列名

数据类型

长度

是否为空

PK键

说明

备注

number

varchar

10

Y

学号

name

varchar

8

姓名

address

varchar

30

通信地址

postcode

varchar

6

Y

邮编

phone

varchar

20

Y

联系电话

parents

varchar

20

Y

联系人

sex

varchar

2

Y

性别

birthday

datatime

8

Y

出生年月

id

varchar

18

Y

身份证号

score

smallint

2

Y

入学成绩

speciality

varchar

20

Y

专业

class

varchar

20

Y

班级

registerdata

datatime

8

Y

入学时间

dorm

varchar

50

Y

备注

opera

varchar

8

Y

操作员

stamp

datatime

8

Y

最后修改时间

专业信息表speciality

列名

数据类型

长度

是否为空

PK键

说明

备注

name

varchar

30

专业名称

units

varchar

30

length

int

4

课时

score

int

4

学分

type

varchar

20

Y

专业类型

operator

varchar

8

操作员

stamp

datatime

8

最后修改时间

课程信息表course

列名

数据类型

长度

是否为空

PK键

说明

备注

number

varchar

8

课程编号

name

vachar

20

课程名称

speciality

vachar

20

专业

college

vachar

20

院系

time

vachar

10

课时

score

int

4

学分

semester

vachar

2

开课学期

book

vachar

30

教材

operator

vachar

8

操作员

stamp

datatime

8

最后修改时间

成绩表result

列名

数据类型

长度

是否为空

PK键

说明

备注

number

varchar

10

Y

学号

name

varchar

8

姓名

speciality

varchar

20

专业

coursename

varchar

20

课程名

courstype

vachar

20

课程类型

grade

vachar

4

年级

value

float

8

成绩

note

varchar

20

说明

opera

varchar

8

操作员

stamp

datatime

8

最后修改时间

软件开发思想:

采用BDE方式将Delphi与SQLServer连接起来,通过数据访问组件:

TQuery组件、TDataSourse组件、TDatabase组件来访问数据库。

 

项目分配:

系统管理模块

(1)用户检测模块程序设计

该模块主要实现登录用户的合法性检查和读取操作权限。

用户在启动应用程序是,首先弹出该模块窗口,要求用户输入登录名和密码,程序对输入的用户名和密码进行验证(数据表Operator中保存了全部操作用户信息)。

如果验证没有通过,则允许重试3次,若3次均出错,则退出,如果正确,则读取该用户的操作权限,传递给主程序,这时主程序便设置该用户允许操作的菜单条,针对该用户无操作权限的菜单条和按钮,则设置其灰色,用户无法点击。

用户登录界面:

代码:

unitcheckuser;

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,StdCtrls,Buttons,DB,DBTables;

type

TCheckUserForm=class(TForm)

Label1:

TLabel;

Edit1:

TEdit;

Label2:

TLabel;

Edit2:

TEdit;

BitBtn1:

TBitBtn;

BitBtn2:

TBitBtn;

Database1:

TDatabase;

procedureBitBtn2Click(Sender:

TObject);

procedureFormActivate(Sender:

TObject);

procedureBitBtn1Click(Sender:

TObject);

procedureDatabase1Login(Database:

TDatabase;LoginParams:

TStrings);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

CheckUserForm:

TCheckUserForm;

i:

integer;

implementation

usesmain;

{$R*.dfm}

procedureTCheckUserForm.BitBtn2Click(Sender:

TObject);

begin

close;

end;

procedureTCheckUserForm.FormActivate(Sender:

TObject);

begin

Edit1.text:

='';

Edit2.Text:

='';

Edit1.SetFocus;

i:

=3;

end;

procedureTCheckUserForm.BitBtn1Click(Sender:

TObject);

var

query1:

TQuery;

begin

query1:

=TQuery.Create(self);

query1.DatabaseName:

='student';

database1.Connected:

=true;

query1.Close;

query1.SQL.Clear;

query1.SQL.add('select*fromoperatorwhereusername=:

s0andpassword=:

s1');

query1.Params.Clear;

query1.Params.CreateParam(ftstring,'s0',ptinput);

query1.Params[0].Value:

=edit1.text;

query1.Params.CreateParam(ftstring,'s1',ptinput);

query1.Params[1].Value:

=edit2.text;

query1.Prepare;

query1.Open;

ifnotquery1.IsEmptythen

begin

username:

=edit1.text;

right[1]:

=query1.FieldByName('right_1').AsBoolean;

right[2]:

=query1.FieldByName('right_2').AsBoolean;

right[3]:

=query1.FieldByName('right_3').AsBoolean;

i:

=0;

end

else

begin

i:

=i-1;

username:

='';

Application.MessageBox('您输入的用户名或密码错误,请检查!

','提示信息',mb_ok);

end;

ifi=0then

begin

close;

end;

query1.Close;

database1.Connected:

=false;

end;

procedureTCheckUserForm.Database1Login(Database:

TDatabase;

LoginParams:

TStrings);

begin

loginparams.Clear;

loginparams.add('user_name=administator');

loginparams.add('password=650124');

end;

end.

(2)密码修改模块程序设计

该模块主要对操作员密码进行修改,具有管理权的操作员可以修改其他操作员的密码,除此之外的操作员只能修改自己的密码。

密码修改界面:

代码:

unitpassword;

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,StdCtrls,Buttons,DB,DBTables;

type

TPasswordForm=class(TForm)

Label1:

TLabel;

Edit1:

TEdit;

Label2:

TLabel;

Edit2:

TEdit;

Label3:

TLabel;

Edit3:

TEdit;

BitBtn1:

TBitBtn;

BitBtn2:

TBitBtn;

Database1:

TDatabase;

procedureBitBtn2Click(Sender:

TObject);

procedureFormActivate(Sender:

TObject);

procedureDatabase1Login(Database:

TDatabase;LoginParams:

TStrings);

procedureEdit1Exit(Sender:

TObject);

procedureBitBtn1Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

PasswordForm:

TPasswordForm;

implementation

usesmain;

{$R*.dfm}

procedureTPasswordForm.BitBtn2Click(Sender:

TObject);

begin

database1.Connected:

=false;

Close;

end;

procedureTPasswordForm.FormActivate(Sender:

TObject);

begin

Edit2.Text:

='';

Edit3.Text:

='';

ifnotright[1]then

begin

edit1.Text:

=username;

edit1.Enabled:

=false;

edit2.setfocus;

end

else

begin

edit1.text:

='';

edit1.SetFocus;

end;

database1.Connected:

=true;

end;

procedureTPasswordForm.Database1Login(Database:

TDatabase;

LoginParams:

TStrings);

begin

loginparams.Clear;

loginparams.add('user_name=administator');

loginparams.add('password=650124');

end;

procedureTPasswordForm.Edit1Exit(Sender:

TObject);

var

query1:

TQuery;

begin

ifedit1.text<>''then

begin

query1:

=TQuery.Create(self);

query1.DatabaseName:

='student';

query1.Close;

query1.SQL.clear;

query1.sql.Add('select*fromoperatorwhereusername=:

s0');

query1.Params.Clear;

query1.Params.CreateParam(ftstring,'s0',ptinput);

query1.Params[0].Value:

=edit1.text;

query1.Active:

=true;

ifquery1.IsEmptythen

begin

Application.MessageBox('您输入的用户名错误,请检查!

','提示信息',mb_ok);

edit1.setfocus;

end;

query1.Close;

end;

end;

procedureTPasswordForm.BitBtn1Click(Sender:

TObject);

var

query1:

TQuery;

begin

ifEdit1.text<>''then

begin

ifEdit2.text=Edit3.Textthen

begin

query1:

=TQuery.Create(self);

query1.DatabaseName:

='student';

query1.Close;

query1.sql.clear;

query1.sql.add('updateoperatorsetpassword=:

s0whereusername=:

s1');

query1.Params.Clear;

query1.Params.CreateParam(ftstring,'s0',ptinput);

query1.Params[0].Value:

=edit2.text;

query1.Params.CreateParam(ftstring,'s1',ptinput);

query1.Params[1].Value:

=edit1.text;

query1.ExecSQL;

query1.close;

end

else

begin

Application.MessageBox('您两次输入的密码不一致,请检查!

','提示信息',mb_ok);

Edit2.Text:

='';

edit3.Text:

='';

edit2.SetFocus;

end;

end;

end;

end.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1