【第1篇】大学物理实验课程设计实验报告
北方民族大学
大学物理实验(设计性实验)
实验报告
指导老师:王建明
姓 名:张国生
学 号:XX0233
学 院:信息与计算科学学院
班 级:05信计2班
重力加速度的测定
一、实验任务
精确测定银川地区的重力加速度
二、实验要求
测量结果的相对不确定度不超过5%
三、物理模型的建立及比较
初步确定有以下六种模型方案:
方法一、用打点计时器测量
所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等.
利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒×两点间隔数.由公式h=gt2/2得g=2h/t2,将所测代入即可求得g.
方法二、用滴水法测重力加速度
调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.
方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面
重力加速度的计算公式推导如下:
取液面上任一液元a,它距转轴为x,质量为m,受重力mg、弹力n.由动力学知:
ncosα-mg=0 (1)
nsinα=mω2x (2)
两式相比得tgα=ω2x/g,又 tgα=dy/dx,∴dy=ω2xdx/g,
∴y/x=ω2x/2g. ∴ g=ω2x2/2y.
.将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标x、y测出,将转台转速ω代入即可求得g.
方法四、光电控制计时法
调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.
方法五、用圆锥摆测量
所用仪器为:米尺、秒表、单摆.
使单摆的摆锤在水平面内作匀速圆周运动,用直尺测量出h(见图1),用秒表测出摆锥n转所用的时间t,则摆锥角速度ω=2πn/t
摆锥作匀速圆周运动的向心力f=mgtgθ,而tgθ=r/h所以mgtgθ=mω2r由以上几式得:
g=4π2n2h/t2.
将所测的n、t、h代入即可求得g值.
方法六、单摆法测量重力加速度
在摆角很小时,摆动周期为:
则
通过对以上六种方法的比较,本想尝试利用光电控制计时法来测量,但因为实验室器材不全,故该方法无法进行;对其他几种方法反复比较,用单摆法测量重力加速度原理、方法都比较简单且最熟悉,仪器在实验室也很齐全,故利用该方法来测最为顺利,从而可以得到更为精确的值。
四、采用模型六利用单摆法测量重力加速度
摘要:
重力加速度是物理学中一个重要参量。地球上各个地区重力加速度的数值,随该地区的地理纬度和相对海平面的高度而稍有差异。一般说,在赤道附近重力加速度值最小,越靠近南北两极,重力加速度的值越大,最大值与最小值之差约为1/300。研究重力加速度的分布情况,在地球物理学中具有重要意义。利用专门仪器,仔细测绘各地区重力加速度的分布情况,还可以对地下资源进行探测。
伽利略在比萨大教堂内观察一个圣灯的缓慢摆动,用他的脉搏跳动作为计时器计算圣灯摆动的时间,他发现连续摆动的圣灯,其每次摆动的时间间隔是相等的,与圣灯摆动的幅度无关,并进一步用实验证实了观察的结果,为单摆作为计时装置奠定了基础。这就是单摆的等时性原理。
应用单摆来测量重力加速度简单方便,因为单摆的振动周期是决定于振动系统本身的性质,即决定于重力加速度g和摆长l,只需要量出摆长,并测定摆动的周期,就可以算出g值。
实验器材:
单摆装置(自由落体测定仪),钢卷尺,游标卡尺、电脑通用计数器、光电门、单摆线
实验原理:
单摆是由一根不能伸长的轻质细线和悬在此线下端体积很小的重球所构成。在摆长远大于球的直径,摆锥质量远大于线的质量的条件下,将悬挂的小球自平衡位置拉至一边(很小距离,摆角小于5°),然后释放,摆锥即在平衡位置左右作周期性的往返摆动,如图2-1所示。
f =p sinθ
f
θ
t=p cosθ
p = mg
l
图2-1 单摆原理图
摆锥所受的力f是重力和绳子张力的合力,f指向平衡位置。当摆角很小时(θ<5°),圆弧可近似地看成直线,f也可近似地看作沿着这一直线。设摆长为l,小球位移为x,质量为m,则
sinθ=
f=psinθ=-mg =-m x (2-1)
由f=ma,可知a=- x
式中负号表示f与位移x方向相反。
单摆在摆角很小时的运动,可近似为简谐振动,比较谐振动公式:a= =-ω2x
可得ω=
于是得单摆运动周期为:
t=2π/ω=2π (2-2)
t2= l (2-3)
或 g=4π2 (2-4)
利用单摆实验测重力加速度时,一般采用某一个固定摆长l,在多次精密地测量出单摆的周期t后,代入(2-4)式,即可求得当地的重力加速度g。
由式(2-3)可知,t2和l之间具有线性关系, 为其斜率,如对于各种不同的摆长测出各自对应的周期,则可利用t2—l图线的斜率求出重力加速度g。
试验条件及误差分析:
上述单摆测量g的方法依据的公式是(2-2)式,这个公式的成立是有条件的,否则将使测量产生如下系统误差:
1. 单摆的摆动周期与摆角的关系,可通过测量θ<5°时两次不同摆角θ1、θ2的周期值进行比较。在本实验的测量精度范围内,验证出单摆的t与θ无关。
实际上,单摆的周期t随摆角θ增加而增加。根据振动理论,周期不仅与摆长l有关,而且与摆动的角振幅有关,其公式为:
t=t0[1+( )2sin2 +( )2sin2 +……]
式中t0为θ接近于0o时的周期,即t0=2π
2.悬线质量m0应远小于摆锥的质量m,摆锥的半径r应远小于摆长l,实际上任何一个单摆都不是理想的,由理论可以证明,此时考虑上述因素的影响,其摆动周期为:
3.如果考虑空气的浮力,则周期应为:
式中t0是同一单摆在真空中的摆动周期,ρ空气是空气的密度,ρ摆锥 是摆锥的密度,由上式可知单摆周期并非与摆锥材料无关,当摆锥密度很小时影响较大。
4.忽略了空气的粘滞阻力及其他因素引起的摩擦力。实际上单摆摆动时,由于存在这些摩擦阻力,使单摆不是作简谐振动而是作阻尼振动,使周期增大。
上述四种因素带来的误差都是系统误差,均来自理论公式所要求的条件在实验中未能很好地满足,因此属于理论方法误差。此外,使用的仪器如千
【第2篇】数据库课程设计实验报告
数据库课程设计实验报告
导语:通过本课程设计,培养学生具有c/s模式的数据库应用软件系统的设计和开发能力。以下是小编为大家整理的数据库课程设计实验报告,欢迎大家阅读与借鉴!
数据库课程设计实验报告(1)
有关于数据库实验的心得体会,总的来说,受益匪浅。在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对c语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们平时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。 开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大三开学后有数据库原理必修课,非常高兴。当时感觉sql sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的作业,也没有太苛刻的要求。
当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。学习完sql sever数据库后感觉可分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用oracle的develop工具做form。有点类似于程序员。开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对sql sever数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。这些东西都是从老师哪里和朋友的讨论中得到的心得,也希望其他朋友能多多向老师和朋友请教,如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难,现在基本上都是团队类型的,而且他们的效率高开发的周期也快。由于数据库管理的责任重大,很少公司愿意请一个刚刚接触sql sever的人去管理数据库。对于我们这些初出茅庐的新手而且电子商务的专业,个人认为可以先选择做管理,有一定经验后转型,去做数据库的开发。当然,这个还是要看人个的实际情况来定。
sql server数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。就像我学习c语言,当时不能说是学习的棒,但不算差。所以我对以后的语言感觉都不是很困难,了解了vb、c++还有网页中用的html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的`东西。希望在今后中,sql server能给我更多帮助。感谢学校开设这样一门优秀使用的课程,让我对数据库有了更深的了解。
数据库课程设计实验报告(2)
由于平时接触的都是一些私人项目,这些项目大都是一些类库,其他人的交流相对可以忽略不计,因此也就不考虑规范化的文档。实际上从学习的经历来看,我们接触的知识体系都是属于比较老或比较传统的,与现在发展迅速的it行业相比很多情况已不再适用,尤其是当开源模式逐渐走近开发者后更是如此。
虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。对于ooa/ood的开发模式有时不免要提出一些疑问,uml是设计阶段的工具,而它基本涵盖了软件设计的方方面面,也就是说按照这一软件工程的正常流程,在动手写第一句代码之前,开发人员已经非常熟悉软件产品了,这对于相当有经验的架构师一类人说可能会很容易,但是我们作为学生,连足够的编码经验都没有,却首先被教授并要求先ooa再oop,这样直接导致的问题就是文档与编码对不上号,在修改代码的时候基本不会再去审查文档和先前的分析。甚至根本就是现有代码再有文档,即便是这种情况,代码与文档还是不对应。不可否认,在传统软件工程的详细设计之前的项目过程中还是有很多利于项目开发的部分的。所以我就一直在寻找适合我——针对探究型项目——的开发模式,这次的项目也算是一次尝试,当然这个过程并不会太短。
回到数据库设计上了,这次的数据库设计我是严格按照数据库建模的步骤来进行的,老实说我并没有感觉这样的流程对开发带来多大的帮助,反倒是觉得将思维转化为图表很浪费时间。总体上来说这次的项目也不是很大,而且在数据库的设计上比较保守,也就是说实际上数据库设计还可以再完善完善的。随着我对计算机领域的拓宽和加深,我也会静下心来思考在接触计算机之前的行为,很多次我能深切感觉到,其实我的大脑(未于别人比较)本身就是在使用一种更接近关系数据库的方式来记忆,所以我很可恨自然的设计出符合三范式的表结构来,即便我不知道这些范式的确切含义。可能就像“范式不太容易用通俗易懂的方式解释”一样,在“让工具用图标表述我的思维”时费了一番力气。
从我作为项目的提出人和实现者来看,这是个失败的项目,结合几次教学项目的的实践,发现这也已经不是第一次了。主观原因占多数,比如,尝试新的开发方式,根据设计花了太多的时间来抽象出公用的库而忽略业务逻辑。就这次项目而言,失败的原因有以下几点:
1、使用了新的开发环境(vim),这是首次在脱离高级ide的情况下编码。
2、使用了新的开发语言(python,actionscript3),因为我一直比较喜欢“学以致用”,而且这样的“数据驱动型”软件的整套自实现的库都已经完成了,但是由于语言本身的差异,迁移时问题很多,当发现这一点是,已没有多少有效剩余时间了。
3、编码流程的不妥,我比较喜欢从底层的库开始开发,因为一旦库测试通过,将很容易将它放到不同的表示层下。但如果库没有测试成功,将导致整个项目没有任何可视化模型,所以这次的项目无法提交“可运行的代码”。
4、实践目的的不同,我轻易不放弃锻炼的机会,事实上,有机会就一定要比以前有所突破,总是照搬以前的做法还不如就不做呢。这个前提是因为现在能完全用来的学习的时间比较多,等到工作时再这样做的可能性就很小了,因此当然要抓紧机会了。不过还有一个隐藏原因,总以为自己很了不起,其实“遇到的问题数跟人的能力是成正比的”。
5、客观原因在这里就不说了。
由于项目还未完成,暂时无法提出需要改进了地方。
【第3篇】c语言课程设计实验报告
c语言课程设计实验报告
c语言是一门通用计算机编程语言,应用广泛。下面就随小编一起去阅读c语言课程设计实验报告,相信能带给大家帮助。
第一章 基础掌握
1.1 实验目的
掌握c程序设计编程环境visual c++,掌握运行一个c程序的基本步骤,包括编辑、编译、链接和运行。(]
1.2 实验要求
在报告中记录建立、保存c程序实习过程。
1.3 实验基本内容
编写程序,在屏幕上显示一个短句“hello world”
(1) 程序:
1) 编译如下程序:
#include
void main
{
printf (“hello world! ”);
}
2)链接。执行build-命令。
3)运行。执行build execute 命令。显示结果。
4)关闭程序工作区。
(2) 运行结果:
输出结果:hello world!
总结:
掌握c语言程序设计的基本框架,能够编写简单的程序。
第二章 数据类型
2.1 实验目的
(1) 掌握c语言的运算符和表达式的正确使用以及c语言的几种基本数据类型和基本输入输出函数的使用方法。()
(2)通过编程进一步理解和掌握运算符的确切含义和功能。
2.2 实验要求
(1) 在报告中记录建立、保存c程序实习过程。 (2) 完成典型题目,分析遇到的困难和实验中的收获。
2.3 实验基本内容
输入程序,观察输出结果 1>;./*test2.1c*/
1)编译如下程序: #includevoid main {
char ch; int k;
ch='a',k='b';
printf('%d,%x,%c',ch,ch,ch,ch,k); printf('k=%%d ',k) }
2)链接。执行build-命令。
3)运行。执行build execute 命令。显示结果。
4)关闭程序工作区。
2>;./*test2.2c*/
1)编译如下程序: #includevoid main {
float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12;
b2=0.000001;
printf('%f,%l f ',a1+a2,b1+b2);
}
2)链接。执行build-命令。
3)运行。执行build execute 命令。显示结果。
4)关闭程序工作区。
实验结果:
97.61,141,ak=xd
实验结果:
扩展:c语言程序实验报告 / c语言实验报告 / c语言程序设计报告
1234.120089,1234.120001
总结:
学会c语言的运算符和表达式的正确使用
第三章 选择结构程序设计
3.1 实验目的
学会改正程序中的错误
3.2 实验要求
(1) 在报告中记录建立、保存c程序实习过程。(]
(2) 完成典型题目,分析遇到的困难和实验中的收获。
3.3 实验基本内容
输入实验程序,程序有错,改正程序中的.错误
1)输入如下程序:
#include
#include
void main
{
double a,b,c,d;
printf('输入一元二次方程a=,b=,c= ');
scanf('a=%l f,b=%l f',&a,&b,&c); if(a==0) { if(b=0) } { } else print f('x=%0.2f ',-c/b); if(c==0) print f('0==0参数对方程无意义!”); else print f('c!=0方程不成立'); else if(d>;=0) { printf('x1=%0.2f ',(-b+sq rt(d))/(2*a)); printf('x1=%0.2f ',(-b-sq rt(d))/(2*a)); } else {
printf('x1=%0.2f+%0.2fi ',-b/(2*a),s q rt(-d)/(2*a)); printf('x1=%0.2f-%0.2fi ',-b/(2*a),s q rt(-d)/(2*a));
}
}
2)链接。()执行build-命令。
3)运行。执行build execute 命令。显示结果。
4)关闭程序工作区。
实验结果:
运行不了程序 ,做以下修改:
#include
#include
void main
{
//
//
double a,b,c,d; printf('输入一元二次方程a=,b=,c= '); scanf('a=%l f,b=%l f',&a,&b,&c); c=5; if(a==0) //{ /*if(b=0) { } else printf('x=%0.2f ',-c/b); if(c==0) printf('0==0参数对方程无意义!”); else printf('c!=0方程不成立'); }*/ else if(d>;=0) { } else { } printf('x1=%0.2f ',(-b+sq rt(d))/(2*a)); printf('x1=%0.2f ',(-b-sq rt(d))/(2*a)); printf('x1=%0.2f+%0.2fi ',-b/(2*a),sq rt(-d)/(2*a)); printf('x1=%0.2f-%0.2fi ',-b/(2*a),sq rt(-d)/(2*a));
}
这样就可以输出程序了。
总结: 学会使用逻辑运算符和逻辑表达式,掌握简单的查错方法,并改错。
第四章 循环程序设计
4.1 实验目的
熟练使用whiledo…while语句实现循环程序设计。[)
4.2 实验要求
(1) 在报告中记录建立、保存c程序实习过程。
(2) 完成典型题目,分析遇到的困难和实验中的收获。
4.3 实验基本内容
1) 编译如下程序:
#include
void main
{
int m,n,j,k; printf('input m n '); while(scan f ('%d',&m,&n),m<0&&n<0); j=m; while(j/n!=0) j=j+m; k=(m*n)/j; printf('最小公倍数是%d 最大公约数是%d ',j,k); }
2)链接。执行build-命令。
3)运行。执行build execute 命令。显示结果。
4)关闭程序工作区。
实验结果:
input m n
5 2
然后运算出来结果:
最大公倍数是5
最大公约数是0
总结:
学使用for,while,do...while语句实现循环程序,
第五章 程序设计
5.1 实验目的
检验最近学习成果,进一步巩固c语言的学习
5.2 实验要求
1)输入任意四位数,写出个,十,百,千位上的数 2)连接任意两个字符串
5.3 实验基本内容
1)编译如下程序: #includevoid main {
int a,b,c,d,x; scanf('%d',&x); if(999<10000) {
a=x/1000;
b=x/100-a*10;
c=x/10-a*100-b*10; d=x-a*1000-b*100-c*10; printf('%d ',x);
1)编译如下程序: #includemain {
char s1[10],s2[5]; int i,j;
scanf('%s',s1); scanf('%s',s2); i=j=0;
while(s1[i]!='') i++;
printf('a=%d,b=%d,c=%d,d=%d ',a,
b,c,d); }
}
while((s1[i++]=s2[j++])!=''); printf('string no.1. %s ',s1); }
2)链接。(]执行build-命令。
3)运行。执行build execute 命令。显示结果。
4)关闭程序工作区。
2)链接。执行build-命令。
3)运行。执行build execute 命令。显示结果。
4)关闭程序工作区。
实验结果: abcd
adsg
string no.1.abcdadsf
实验结果:
2678 2678
a=2,b=6,c=7,d=8
总结:通过对程序的设计提高编程能力
【第4篇】课程设计实验报告
一、实验目的
1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。
2. 使用本学期学习的java se技术(也可以使用课堂教学中没有学习过的java技术,但是应当以java se技术为主)完成多功能日历gui程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。
二、实验要求
1.问题描述准确、规范。
2.程序结构合理,调试数据准确、有代表性.。
3.界面布局整齐,人机交互方便。
4.输出结果正确。
5.正确撰写实验报告。
三、实验内容
编写一个gui程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。
四、实验步骤
1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。
2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。
3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。
4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。
5.详细的上机实验步骤见任务分工及程序设计进度表。
五、实验结果
经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。
下面是程序运行效果截图:
日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):
备忘录主界面(实现备忘录的添加,及当前日历的显示):
备忘录主界面(实现备忘录的`显示,及对当前备忘录的修改删除等):
时钟主界面(显示当前时间,实现报整点报时功能):
六、实验总结
两周的课程设计结束了,在这其中历尽酸甜苦辣咸各种滋味,不过收获颇丰。从学习c语言、数据库等等计算机编程类课程开始,自己始终有种感觉,那就是太理论化了、缺少实践。而这次的java程序设计可以说与以往大不相同,先是在课堂上老师讲述了有关的基础理论、基本语法知识,而后再加上这两周的课程设计,可以说是真正能够体会到程序编程的乐趣,也第一次发现自己原来对程序设计是如此的感兴趣。尤其是由于课程时间较紧,课上时间老师只是简单给我们讲述了一下java swing的基础知识,并没有去深入,而在此次课程设计中大量用到的监听事件的有关知识需要自己去查标准文档,去网上找相关系料,这无疑对自己是一个挑战。但是两周下来,我做到了,我独立完成了对备忘录程序的编写,累积下来这部分共涉及到包括action listener,mouse listener,menu listener,document listener等各种各类监听18个监听,分为6个类,累计完成程序千余行。而给我印象最深刻的便监听了,可以说是整个备忘录的大部分代码都是与监听相关,这也是让我我学会了对程序监听的运用,当然只是学会远远谈不上精通。
我编写的类有test、mainwin、mymenulistener1、policelisten、policelisten2、mywindowlistener。其中test类主要是用来定义备忘录主窗口的各种组件以及在相关组件上添加监听以实现备忘录添加、修改、删除等功能。mainwin类主要是用来创建test对象,用以显示窗口的。
课程设计实验报告
【第5篇】软件工程课程设计实验报告
在我们整个软件工程过程中,我体会到了许多,也学到了许多。
在项目要进行自由分组后,我们的项目小组便诞生了。我们小组由3个成员组成,在相互商量后我们也确定了我们组的项目,是做一个校园文件管理系统。我们也随即做了分工,。我们的项目也正式开始了。
需求调研和分析对于软件开发过程至关重要。我们在开发时如果不进行调研和分析,那么对于后来的项目进展将产生致命的后果。我们在项目的开发中便遇到了这样的问题。我们开始自己随意的计划整个系统的设计,然后报给老师,老师作为一个客户并不是全部认同,随后我们也必须按着客户的要求更改我们的设计报告。我也明白了,再做一个系统时,必须随时和客户保持沟通,随时了解他们需要什么,他们想要什么功能。如果我们不去和客户沟通,不去调研客户的需求,做出来的系统即使在我们看来是一个很好,很完美的产品,但是如果客户不认同,那么我们所做的一切都是徒劳,还要返工去修改,费时费力。所以在做任何一个项目时,前期的需求调研和需求分析都是必须的,这是在做一个项目的基本,是关系成败的重要一环。
对于一个项目,它的需求设计也非常重要。在我们的文件管理系统开发的过程中,遇到了一些问题,出现的这些问题很多都是非常棘手的,我们为了解决这些棘手的问题浪费了大量的时间,我们不得不在工程代码上改了又改,在数据库里增表、删表、加数据、减数据,当然,在文档里也要做出相应的修改以适应新的功能。还好,我们能及时地发现问题,通过相互沟通讨论,问题也得到了解决。通过总结,我们也意识到,我们大家在做需求分析和进行需求了解时仅仅考虑了一些基本的功能,而至于管理员和客户之间的联系,以及具体的一些流程我们都没有深究,而导致我们到后期花费了大量的时间用于修复之前没有考虑周全而带
来的问题。如果我们的需求设计能够比较清晰和完善,那么我们在开发过程中便会很明白的知道我们应该实现什么样的功能,在数据库里应该怎样建表,以什么方式插入数据,从而可以避免反复修改工程的问题,也能避免出现可能毁坏整个工程的问题。整个工程的需求设计对于一个项目的顺利进展至关重要。
对于文档在软件工程中的作用,我在这次项目开发过程中有了更加深刻的理解。文档在软件开发过程中是很有用的,文档是一项必不可少的东西,但文档也不能太多,太过繁琐,如果是那样就不太好了。首先我们要明确开发过程中为什么要写这些文档,文档的最根本的作用是为了更好的沟通。一个项目或产品可能需要延续很长的时间,开发过程中可能需要很多的环节,可能会遇到很多的问题和很多的解决的方法,这时,我们需要文档的帮助,我们需要有一个东西来记录,我们需要有一个共同的声音。文档只不过是一个准绳,将开发中的各个树枝树叶扶正。如果,这个准绳太多太紧,大树可能会发育的很高很直,但是就是有些畸形,如果这个准绳太少太松,大树可能就会变成灌木丛。文档的多少、繁简是有度的,绝对不能说越多越好。我觉得,文档需要说明解决问题的方法而不是解决问题的理论,因为解决问题的理论是在文档形成中做到的。文档完整即可,每一份文档说明一个问题,无需将多个文档的内容放在一个文档的里面。除了重要阶段形成文档,其它部分都只是讨论或者说是想法。不要让文档成为累赘,如果真是这样,我认为就是该考虑写这些文档的必要性的时候了。 我们在文档的`时候,一定要明白为什么要写这些。
在整个项目开发过程中,我们也同时遇到了许多程序接口问题,页面和功能相结合的问题,数据库建表的问题,这些问题都是源于我们项目小组成员之间的沟通不足。我深刻认识到,在项目开发时,项目小组中各个成员之间的相互沟通是非常重要的。如果我们要在功能方面作出修改,那么程序人员和页面人员及数据库人员就必须相互沟通,共同对整个程序作出相应的修改,这样才能避免最终整合时出现问题。
在这十个周里,我还对软件工程有了新的理解。在我以前的理解当中,软件工程,无非就是一个人或者几个人或一个团队集中在一起进行编写代码的工作,以实现开发出所用的软件。但现在我明白了,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程上。所以,软件工程就不仅仅是单一的编程过程了。它包括了系统分析->;建模->;概要设计->;详细设计->;编码->;测试->;维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。
在这次项目里我完成了许多工作,在界面设计上我完成了,首页、全部的商品页面、全部的用户页面及部分管理员页面的制作,在后期项目整合过程中修改了功能和界面结合时出现的bug,还有数据库插入数据及解决数据库集中整合时出现的问题。这些工作我都顺利完成了,虽然并不能算是非常的出色,但也算是尽力了。现在看到自己辛劳的成果,我感到很欣慰。
当然,在这次项目过程中我也发现了自己的一些问题。如现在的网站开发技术还不够强,在和小组成员相互沟通上还不够积极等。我希望以此为契机,在将来的项目开发中能做得更好。
软件工程课程设计实验报告
【第6篇】软件课程设计实验报告
一、 目的、要求
通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。
二、 主要内容
要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华大学出版社出版),按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。
三、 进度计划
略
四、 设计成果要求
1.至少提交4个文档,包括软件计划、软件需求规格说明书、软件设计说明书、软件测试
计划,要求文档格式规范、逻辑性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;
2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、 考核方式
(1)提交的文档规范,工作量大,文档逻辑性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》实验报告评分表)占60%
(2)系统验收、讲解、答辩 占25% (3)考勤占15%
软件课程设计实验报告
【第7篇】企业方案设计实验报告
一、实验过程与内容
会计实验分为初级和中级,初级是一人分别模拟担任出纳,会计等多个职位,然后建账,根据经济业务编制凭证,填制单据,登账等操作。中级则是需要数人为一个团队,每个人分配不同的职位,相互协调合作,凭证之间相互传递,模拟公司的账务流程,我们组为4个人,其中我分配到的职位是财务主管。 在初级的实验中,主要分为出纳,往来业务,成本费用,固定资产,投资核算,资本金核算六个模块。
出纳的主要职责是根据经济业务填写费用报销单、现金支票、借款凭单、发票等原始单据,审核外来原始单据,根据原始单据填制记账凭证,然后建立和登记银行存款日记账和库存现金日记账。
往来业务主要的工作内容是核算应收账款、其他应收款、应付账款和其他应付款、预收预付账款。往来业务会计要根据经济业务审核原始凭证;根据经济业务和原始凭证及相关自制单据编制记账凭证;填写记账凭证各项内容。设置三栏式明细账账簿,根据实验资料里面的期初数据填写期初余额;根据本期发生金额登记三栏式明细账的发生额。设置应交增值税账簿,根据实验资料里面的期初数据填写期初金额;通过凭证查询或者经纪业务中的记账凭证,找出本期发生金额,登记应交增值税的发生额。结账,月末合计栏划双红线结账,进行合计数额的核算。
成本费用会计要开设生产成本明细账、制造费用明细账。根据资料编制记账凭证。根据会计凭证凳记成本费用明细账。编制生产成本计算单及填制产成品入库单。实验中的产品核算主要以产品的品种作为成本核算对象,以会计报告期作为成本计算期,采用加权平均法计算。产品成本项目设置直接材料、直接人工、制造费用。入库单、收款凭证、收料单、领料单、材料盘点报告单等自制单据的填写。建立三栏式明细账,根据自制或外来的原始单据填制记账凭证,登记明细账。
固定资产会计主要工作内容:进行固定资产分类和计价,对固定资产进行分类编号,设立固定资产明细卡片。掌握固定资产增、减的明细分类核算,根据会计凭证登记固定资产明细账。进行固定资产折旧的核算,包括固定资产折旧率的计算、固定资产折旧的计算、编制固定资产折旧计提表。了解固定资产清查方法,编制固定资产盘盈盘亏报告单。固定资产会计同样也是需要填制和审核原始凭证,填制记账凭证,登记账簿。
投资核算主要是核算交易性金融资产、持有至到期投资、可供出售金融资产、长期股权投资、投资收益和投资减值准备,根据不同的资产类型和公司的业务,选择不同的会计处理方法,进行填制凭证和记账。
资本金核算岗位要填写固定资产投资入账单、接受投资收据、收款凭证、利息计算表、转账支票等自制单据,根据投资者投入的实物,资金等选择合适的会
计处理办法编制记账凭证和登记账簿。
中级会计实验则是综合了初级的内容,由4个人为一组,分工合作,从经济业务发生,填制原始凭证,记账凭证,审核,记账一系列流程,模拟一个公司的运行。
二、遇到的问题及解决方法
在计算各类费用的分配结转中,财务会计和成本会计的好多知识都已忘记,包括库存商品的加权平均法,制造费用的定额工时分配法等等,实验中还得带上以前的课本,边学习边做实验,这次实验也相当于一次对以前学的知识的总复习。收益良多。
以前学习的都是课本上的知识,仅仅只是简单的借什么,贷什么,在会计实验中发现会计工作并不是那么简单,其中还有好多细节没有注意到,比如原始凭证日期的填写,月和日有的需要在前面填零。类似的细节还有很多,每次填写原始凭证都会出现这样那样的错误,所幸这个实验系统有答案参考,知道自己在哪里出错了。慢慢的也就改正了自己的错误,会计工作马虎不得。
在人员的分工时,各个职位之间的不相容性还理解不透彻,比如出纳能否填制记账凭证,为什么实验里会单独有个记账员。然后通过询问老师,老师耐心的解答了我的问题。
三、心得体会
经过这些天轮换角色的实验,使我对会计工作有了进一步的认识,在取得实效的同时,我也在实习过程中发现了自身的一些不足。比如自己不够细心,经常看错或抄错数字,导致核算结果出错,引起不必要的麻烦;在编制分录方面还不够熟练,今后还得加强练习。总而言之,这次的会计实习让我学到了许多在课堂上所学不到的经验,在实践中巩固了知识,也为我们以后走向社会奠定了坚实的`基础。还有,我觉得在课堂上不能忽略老师讲授的知识。如果,在课堂上不认真听课,不认真做笔记,那么,在实际操作的过程中,就会发现有很多问题自己不知如何下手,没有办法解决问题。只有认真的在课堂上学习理论知识,在实践的过程中把学到的理论知识应用到实践中,才能够更好更快地解决问题。 通过这次实验我了解了会计工作的相关流程。在会计工作中,作为一名会计工作人员首先要取得相关的原始凭证,然后根据这些原始凭证登记记账凭证。登记完记账凭证后,在根据登记的内容填写明细账。在每个月或每年年末,要填写科目汇总表,进行试算平衡,然后才把所有内容记入总账。根据总账合计,填制资产负债表、利润表等等。这一系列工作,说起来让人觉得很简单。其实理论性的知识看起来都是那么的浅显易懂,但你真的把这些理论性的知识应用到实际中时,会发现,自己懂得的真实太少了,有句话说,纸上谈来终觉潜啊!所以在实验中我总是发现自己对某些工作经常是无从下手。
通过这学期会计培训,深刻的让我体会到会计工作在企业的日常运转中的重要性,以及会计工作对我们会计从业人员的严格要求。在实际操作过程中我找出自身存在的不足,对今后的会计学习有了一个更为明确的方向和目标。通过实训,
我们对会计核算的感性认识进一步加强。加深理解了会计核算的基本原则和方法,将所有的基础会计、财务会计和成本会计等相关课程进行综合运用,了解会计内部控制的基本要求,掌握从理论到实践的转化过程和会计操作的基本技能;将会计专业理论知识和专业实践,有机的结合起来,开阔了我们的视野,增进了我们对企业实践运作情况的认识,为我们毕业走上工作岗位奠定坚实的基础 。
四、完善综合会计实验的建议
通过这次的综合会计实验收益良多,但是其中也有一些不足的地方。一是综合会计实验安排在了大四,这个时候正是企业招聘的高峰期,每天都会有企业来进行校园招聘,也就难免的和课程有所冲突,两者相较总难以取舍,如果可以的话把希望能把课程尽量的安排在大四之前,这样可以在学完会计课程之后能够马上复习回顾,对知识能有更深刻的理解,又可以避免了大四的校园招聘高峰期。
第二会计实验都是通过电脑系统完成,和实际工作也难免会有一些脱轨,毕竟在实际工作中很多情况都不能是这么书面化的。在应用电脑软件的同时也可以适当的增加一些手工环节,比如手工填制真实的原始凭证等。
第三是实验时间偏短,其实整套实验系统挺庞大的,在几周的简短时间里很难完全做完掌握,可以适当增加会计实验的时间。还有这个会计实验系统只能在实验室里做,毕竟实验室有比较多的限制,比如不能连外网,遇到问题不能通过网络咨询查询解决;在实验室上课还有时间限制,不能课余时间研究会计的账务处理流程。
第四是这次会计实验所使用的软件有挺多不完善的地方,有时候会出现很明显的错误,比如答案借贷方都不相等,正确的输入凭证反而被系统判断为错误。还有会出现无法完成的任务。
企业方案设计实验报告
【第8篇】语言课程设计实验报告
语言课程设计实验报告
古往今来,语言就是人与人之间沟通的工具,它是丰富多彩的,也是变化多端的。没有它,人与人之间将很难沟通,人类社会将是毫无生机。那么怎么写一份实验报告呢?下面和小编一起来看看吧!
语言课程设计实验报告
一、 目的、要求
通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。
二、 主要内容
要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华大学出版社出版),按照软件工程的'生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。
三、 进度计划
四、 设计成果要求
1.至少提交4个文档,包括软件计划、软件需求规格说明书、软件设计说明书、软件测试
计划,要求文档格式规范、逻辑性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;
2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、 考核方式
(1)提交的文档规范,工作量大,文档逻辑性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》实验报告评分表)占60%
(2)系统验收、讲解、答辩 占25% (3)考勤占15%
一、 课程设计的目的与要求
1. 课程设计目的
软件工程课程设计是学习软件工程课程后所进行的实践环节,目的是培养学生用工程化的思想和标准文档化的思想进行软件开发。本次课程设计通过开发一个小型实用的软件系统,亲身体验软件生命周期中的各个环节,以加深对软件工程课程的深入理解、锻炼独立分析、解决问题的能力。
2. 课程设计要求
2.1 课程设计准备
1)复习软件工程课程的主要内容,熟练掌握软件生命周期的理论以及各阶段的基本概念。
2)明确可行性分析、需求分析、设计、测试等阶段的基本任务和基本方法。 3)熟练运用规范化的描述方法和文档,描述软件开发的各个阶段。 4)熟悉开发环境和开发工具。
2.2 内容要求
1)对所设计和实现的系统进行可行性分析,提交可行性分析报告;
2)对系统进行需求分析,可以选择传统的分析方法或者面向对象的分析方法,提交软件需求规格说明书(srs);
3)在srs的基础上进行软件的概要设计和详细设计,提交软件设计文档; 4)遵循上述文档的要求,实现软件;
5)对所实现系统进行软件测试,完成软件测试报告。
二、 设计正文
1. 可行性分析报告
1.1 项目简介
1.1.1 项目目标
随着社会的发展、网络的普及,生活中有许许多多的事情可以通过网络解决。比如在网上查询火车票以及预订火车票等等。然而网上预订火车票预订系统诞生了,开发火车票预订系统主要是帮助人们 能够及时购买火车票,查询火车出发时间,节约人们的时间和精力。 1.1.2 系统的简要描述,主要功能
用户可以在本系统查询票价、余票,然后通过注册登录进行预订车票,若没有登录则不能预订车票和查看我的订单。一般的用户可以通过本网站选择出发地点和到达地点来查询车票,然后进行车票预订,用户还可以通过我的订单来进行对预订的车票进行退票和查询自己预订的车票详细信息。
1.2 对现有系统的分析
1.2.1 处理流程和数据流程(系统流程图)
1.2.2 对现有系统的其他说明
本软件在开发过程中,分为技术实现与使用软件说明书两大部分,这两部分都有它的重要之处,若技术支持出现故障或疑难问题无法解决、程序开发出现偏差,程序严重错误而不解的,会影响开发软件的进度和该软件不能按期完成。若软件说明书陈述出现问题,那出现部分描述含糊不清,则会影响该软件的完整性与可继承性。
【第9篇】c语言程序设计实验报告
实验名称 计算出1000以内10个最大素数之和
实验目的
1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
实验内容
计算并输出1000以内最大的10个素数以及它们的和。
要求:
在程序内部加必要的注释。
由于偶数不是素数,可以不考虑对偶数的处理。
虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。
输出形式为:素数1+素数2+素数3+…+素数10=总和值。
算法描述流程图
Main函数:
判断素数:
源程序
#include
#include
int sushu(int n)/* 判断素数的函数 */
{
int t,i;
t=sqrt(n);
for(i=2;i<=t;i++)
if(n%i==0)/* 如果不是素数,返回 0 */
return 0;
return n;/* 如果是素数,返回该数 */
}
void main()
{
int i,j=0,n,m=0,a[1000],x;
/*clrscr();*/
printf('Please input a number form 1 to 1000:');
scanf('%d',&x);
if(x==2)/* x=2时的处理 */
printf('%dn',x);
else if(x<=1) /* x在1~1000范围外时的处理 */
printf('Error!n');
else
{
if(x%2==0)/* x为偶数时,把x变为奇数 */
x--;
for(i=x;i>1;i-=2)/* x为奇数时,做函数计算 */
{
n=sushu(i); /* 做判断素数的函数调用 */
if(n!=0)/* 对素数的处理 */
{
a[j]=n;/* 把素数由大至小存入数组a[ ]中 */
j++;
if(j<11)
m+=n; /* 统计前10个素数之和 */
}
}
if(j<10)/* 当素数个数小于10个时,结果输出 */
{
for(i=0;i
{
n=a[i];
printf('%d',n);
printf('+');
}
printf('2=');
printf('%dn',m+2);
}
else for(i=0;i<10;i++)/* 当素数个数大于等于10个时,结果输出 */
{
n=a[i];
printf('%d',n);
if(i<9)
printf('+');
else
{
printf('=');
printf('%dn',m);
}
}
}
}
测试数据
分别输入1000、100、10测试。
运行结果
出现问题及解决方法
当素数个数小于10时的处理不够完善,考虑不够周全。把“+2”的处理做的太勉强。
程序过大,不够精简,无用文字太多。
学习耐心与细心不足,如scanf(“%d”,&n);中的“&”经常忘记。
编程思想不够发散,例如如何判断素数,只能想出2种方式(其中1种为参考教科书上内容);在今后学习中应更多的动脑,综合运用所学。
基本功不够,如清屏clrscr()等函数用的不好,有时同样的问题多次犯,给实验课老师带来很大的麻烦。这说明我的知识不够广,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。就算以后C语言这门课程结束后,也应多看相关东西,多上机练习,才能真正从本质上提高自己。
物理实验报告 ·化学实验报告 ·生物实验报告 ·实验报告格式 ·实验报告模板
知识不够广泛,如VC++6.0等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。
实验心得
通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过……随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。感谢高克宁老师的高标准、严要求,感谢实验课上小老师们的耐心指点,也感谢我在实验中经历过的点点滴滴……伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言,我会更加努力。
【第10篇】java课程设计实验报告
一、实验目的
1、加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。
2、 使用本学期学习的java se技术(也可以使用课堂教学中没有学习过的java技术,但是应当以java se技术为主)完成多功能日历gui程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
3、在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。
二、实验要求
1、问题描述准确、规范。
2、程序结构合理,调试数据准确、有代表性、。
3、界面布局整齐,人机交互方便。
4、输出结果正确。
5、正确撰写实验报告。
三、实验内容
编写一个gui程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农
历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报
时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。
四、实验步骤
1、在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。
2、在第一次上机实验时讨论分工,分工明确之后,分头合作进行。
3、各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。
4、 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。
5、详细的上机实验步骤见任务分工及程序设计进度表。
五、实验结果
经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。
下面是程序运行效果截图:
日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):
备忘录主界面(实现备忘录的添加,及当前日历的显示):
备忘录主界面(实现备忘录的显示,及对当前备忘录的'修改删除等):
时钟主界面(显示当前时间,实现报整点报时功能):
六、实验总结
两周的课程设计结束了,在这其中历尽酸甜苦辣咸各种滋味,不过收获颇丰。从学习c语言、数据库等等计算机编程类课程开始,自己始终有种感觉,那就是太理论化了、缺少实践。而这次的java程序设计可以说与以往大不相同,先是在课堂上老师讲述了有关的基础理论、基本语法知识,而后再加上这两周的课程设计,可以说是真正能够体会到程序编程的乐趣,也第一次发现自己原来对程序设计是如此的感兴趣。尤其是由于课程时间较紧,课上时间老师只是简单给我们讲述了一下java swing的基础知识,并没有去深入,而在此次课程设计中大量用到的监听事件的有关知识需要自己去查标准文档,去网上找相关系料,这无疑对自己是一个挑战。但是两周下来,我做到了,我独立完成了对备忘录程序的编写,累积下来这部分共涉及到包括action listener,mouse listener,menu listener,document listener等各种各类监听18个监听,分为6个类,累计完成程序千余行。而给我印象最深刻的便监听了,可以说是整个备忘录的大部分代码都是与监听相关,这也是让我我学会了对程序监听的运用,当然只是学会远远谈不上精通。
java课程设计实验报告
【第11篇】最新大学物理实验课程设计实验报告
大学物理实验(设计性实验)
实验报告
指导老师:王建明
姓 名:张国生
学 号:xx0233
学 院:信息与计算科学学院
班 级:05信计2班
重力加速度的测定
一、实验任务
精确测定银川地区的重力加速度
二、实验要求
测量结果的相对不确定度不超过5%
三、物理模型的建立及比较
初步确定有以下六种模型方案:
方法一、用打点计时器测量
所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等.
利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒×两点间隔数.由公式h=gt2/2得g=2h/t2,将所测代入即可求得g.
方法二、用滴水法测重力加速度
调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.
方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面
重力加速度的计算公式推导如下:
取液面上任一液元a,它距转轴为x,质量为m,受重力mg、弹力n.由动力学知:
ncosα-mg=0 (1)
nsinα=mω2x (2)
两式相比得tgα=ω2x/g,又 tgα=dy/dx,∴dy=ω2xdx/g,
∴y/x=ω2x/2g. ∴ g=ω2x2/2y.
.将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标x、y测出,将转台转速ω代入即可求得g.
方法四、光电控制计时法
调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.
方法五、用圆锥摆测量
所用仪器为:米尺、秒表、单摆.
使单摆的摆锤在水平面内作匀速圆周运动,用直尺测量出h(见图1),用秒表测出摆锥n转所用的时间t,则摆锥角速度ω=2πn/t
摆锥作匀速圆周运动的向心力f=mgtgθ,而tgθ=r/h所以mgtgθ=mω2r由以上几式得:
g=4π2n2h/t2.
将所测的n、t、h代入即可求得g值.
方法六、单摆法测量重力加速度
在摆角很小时,摆动周期为:
则
通过对以上六种方法的比较,本想尝试利用光电控制计时法来测量,但因为实验室器材不全,故该方法无法进行;对其他几种方法反复比较,用单摆法测量重力加速度原理、方法都比较简单且最熟悉,仪器在实验室也很齐全,故利用该方法来测最为顺利,从而可以得到更为精确的值。
四、采用模型六利用单摆法测量重力加速度
摘要:
重力加速度是物理学中一个重要参量。地球上各个地区重力加速度的数值,随该地区的地理纬度和相对海平面的高度而稍有差异。一般说,在赤道附近重力加速度值最小,越靠近南北两极,重力加速度的值越大,值与最小值之差约为1/300。研究重力加速度的分布情况,在地球物理学中具有重要意义。利用专门仪器,仔细测绘各地区重力加速度的分布情况,还可以对地下资源进行探测。
伽利略在比萨大教堂内观察一个圣灯的缓慢摆动,用他的脉搏跳动作为计时器计算圣灯摆动的时间,他发现连续摆动的圣灯,其每次摆动的时间间隔是相等的,与圣灯摆动的幅度无关,并进一步用实验证实了观察的结果,为单摆作为计时装置奠定了基础。这就是单摆的等时性原理。
应用单摆来测量重力加速度简单方便,因为单摆的振动周期是决定于振动系统本身的性质,即决定于重力加速度g和摆长l,只需要量出摆长,并测定摆动的周期,就可以算出g值。
实验器材:
单摆装置(自由落体测定仪),钢卷尺,游标卡尺、电脑通用计数器、光电门、单摆线
实验原理:
单摆是由一根不能伸长的轻质细线和悬在此线下端体积很小的重球所构成。在摆长远大于球的直径,摆锥质量远大于线的质量的条件下,将悬挂的小球自平衡位置拉至一边(很小距离,摆角小于5°),然后释放,摆锥即在平衡位置左右作周期性的往返摆动,如图2-1所示。
f =p sinθ
f
θ
t=p cosθ
p = mg
l
图2-1 单摆原理图
摆锥所受的力f是重力和绳子张力的合力,f指向平衡位置。当摆角很小时(θ<5°),圆弧可近似地看成直线,f也可近似地看作沿着这一直线。设摆长为l,小球位移为x,质量为m,则
sinθ=
f=psinθ=-mg =-m x (2-1)
由f=ma,可知a=- x
式中负号表示f与位移x方向相反。
单摆在摆角很小时的运动,可近似为简谐振动,比较谐振动公式:a= =-ω2x
可得ω=
于是得单摆运动周期为:
t=2π/ω=2π (2-2)
t2= l (2-3)
或 g=4π2 (2-4)
利用单摆实验测重力加速度时,一般采用某一个固定摆长l,在多次精密地测量出单摆的周期t后,代入(2-4)式,即可求得当地的重力加速度g。
由式(2-3)可知,t2和l之间具有线性关系, 为其斜率,如对于各种不同的摆长测出各自对应的周期,则可利用t2—l图线的斜率求出重力加速度g。
试验条件及误差分析:
上述单摆测量g的方法依据的公式是(2-2)式,这个公式的成立是有条件的,否则将使测量产生如下系统误差:
1. 单摆的摆动周期与摆角的关系,可通过测量θ<5°时两次不同摆角θ1、θ2的周期值进行比较。在本实验的测量精度范围内,验证出单摆的t与θ无关。
实际上,单摆的周期t随摆角θ增加而增加。根据振动理论,周期不仅与摆长l有关,而且与摆动的角振幅有关,其公式为:
t=t0[1+( )2sin2 +( )2sin2 +……]
式中t0为θ接近于0o时的周期,即t0=2π
2.悬线质量m0应远小于摆锥的质量m,摆锥的半径r应远小于摆长l,实际上任何一个单摆都不是理想的,由理论可以证明,此时考虑上述因素的影响,其摆动周期为:
3.如果考虑空气的浮力,则周期应为:
式中t0是同一单摆在真空中的摆动周期,ρ空气是空气的密度,ρ摆锥 是摆锥的密度,由上式可知单摆周期并非与摆锥材料无关,当摆锥密度很小时影响较大。
4.忽略了空气的粘滞阻力及其他因素引起的摩擦力。实际上单摆摆动时,由于存在这些摩擦阻力,使单摆不是作简谐振动而是作阻尼振动,使周期增大。