设计实验报告(通用10篇)
学生姓名: 郭倩
班级:信息112
学号:
实验地点: 经管实验中心证券实验室
指导教师:赵利平
实验日期:
实验环境:Windows 20xx+JDK1.6
1. 实验目的
(1) 理解子类派生的概念
(2) 学习创建子类对象
(3) 掌握方法覆盖的使用
2.实验内容
(1) 设计三个类:完成实验教材P52页程序清单4-2;
(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;
2. 实验过程
报告撰写具体要求:上述实验内容要求写出源代码及运行结果。
实验内容(1):
//Polymorphism.java
abstract class Student{
final static int CourseNo=3;
String name;
String type;
int courses;
String courseGrade;
public Student(String name){
this.name=name;
courses=new int[CourseNo];
courseGrade=null;
}
public abstract void calculateGrade;
public String getName{
return name;
}
public String getType{
return type;
}
public String getCourseGrade{
return courseGrade;
}
public int getCourseScore(int courseNumber){
return courses[courseNumber];
}
public void setName(String name){
this.name=name;
}
public void setType(String type){
this.type=type;
}
public void setCourseScore(int courseNumber,int courseScore){this.courses[courseNumber]=courseScore;
}
}
class Undergraduate extends Student{
public Undergraduate(String name){
super(name);
type="本科生";
}
public void calculateGrade{
int total=0;
double average=0;
for(int i=0;i=80&&average=70&&average=60&&average=50&&average<60) coursegrade="及格";else coursegrade="不及格";
}
}
class Postgraduate extends Student{
public Postgraduate(String name){
super(name);
type="研究生";
}
public void calculateGrade{
int total=0;
double average=0;
for(int i=0;i=90&&average=80&&average=70&&average=60&&average建模->概要设计->详细设计->编码->测试->维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。
在这次项目里我完成了许多工作,在界面设计上我完成了,首页、全部的商品页面、全部的用户页面及部分管理员页面的制作,在后期项目整合过程中修改了功能和界面结合时出现的bug,还有数据库插入数据及解决数据库集中整合时出现的问题。这些工作我都顺利完成了,虽然并不能算是非常的出色,但也算是尽力了。现在看到自己辛劳的成果,我感到很欣慰。
当然,在这次项目过程中我也发现了自己的一些问题。如现在的网站开发技术还不够强,在和小组成员相互沟通上还不够积极等。我希望以此为契机,在将来的项目开发中能做得更好。
活动:探究眼球的结构与功能
目的要求
解剖观察眼球的结构
材料器具
猪眼球、解剖盘、放大镜、单面刀片、解剖剪、解剖针、橡胶手套、培养皿、载玻片。
方法步骤
1、观察眼球的外形
找出视神经、角膜、巩膜、虹膜(注意观察虹膜的颜色)、瞳孔。注意:区分眼球的前端和后端(角膜部为前端,视神经部为后端),仔细观察角膜与虹膜之间的房水。
眼球外形近似 。在它的前端能看见无色透明的 ,后端有一条乳白色的 。
2、观察眼球的内部结构
解剖方法指导:选取眼球前后端的中点部位,用单面刀片在巩膜上割一小孔(注意:不能一刀切下去,以免损坏玻璃体)。然后将解剖剪伸进小孔,剪刀头略微向上,沿着中线,把眼球壁剪一圈,使眼球成为前后两半,并用镊子轻轻把玻璃体与眼球壁分离(注意:当眼球刚剖开时,观察流出的液体呈什么颜色)。
(1)观察眼球内容物
①在剖开眼球时,流出的无色透明液体是 。
②将玻璃体从眼球内分离出来并进行观察。
③用放大镜观察晶状体的侧面四周,有 状的`悬韧带。悬韧带的功能为 。
④用镊子将晶状体剥离后,发现晶状体呈 形,将它放在文字上,字体会 (填“变大”或“缩小”)。用镊子轻轻按压晶状体,可以感觉到它有 ,这说明 。
小结:通过观察得知眼球内容物包括: 三部分。
(2)观察眼球壁(注意:先观察后半部分,再观察前半部分)。
观察眼球壁后半部分(观察顺序:由内向外)
①细辨认眼球壁最里面的一层膜——内膜,又叫 。
②仔细辨认眼球壁中间的一层膜——中膜,颜色呈 ,叫 。根据颜色,说明其内含有大量 ,其功能为 。此外,该部分里还有血管,对眼球具有 作用。
③观察眼球壁的最外面一层膜——外膜,颜色呈 ,叫 。触摸该部分,可以感觉到该部分 ,说明该部分具有 的功能。
观察眼球壁前半部分
①仔细观察白色巩膜,在前端方向成为无色透明的 ,其功能是 。
因此,眼球壁的外膜包括 和 。
②仔细观察脉络膜,用手触摸,脉络膜往前端延伸渐渐增厚成 。用放大镜观察该部分,推测该部分由 组织组成,其功能为 。再往前突然变薄成 。
③观察虹膜中间的瞳孔。光线强时瞳孔变 ,光线弱时瞳孔变 。
因此,眼球壁的中膜包括 、和 。
教学目标:
1、认识9个生字,会写12个生字。
2、正确、流利、有感情地朗读课文。
3、理解课文内容,学习老科学家为了科学事业无私奉献的伟大精神。
教学重、难点:
1、通过对文章细节描写的理解,体会老科学家那无私奉献的伟大精神。
2、理解“透、盘、吐、蜷、抬”几个动词,并能准确运用。
教法学法:
自主、合作、探究
教、学具:
相关的图片 南美洲毒蛇的录像画面。
教学模式:
三段五环教学模式
教学课时:
一课时
教学过程:
第二课时
一、预习作业
1、深读课文,说说施密特博士哪些行为最使你感动?
2、从这些行为中你认为施密特是一位怎样的人?
3、为什么说这份报告是“血染的实验报告”?
谈话导入:
同学们生命对于我们来说只有一次,但是很多人为了他热爱的事业献出了宝贵的生命。这节课就让我们继续走进芝加哥动物学家卡尔施密特博士,看看他是何以生命为代价完成那份——血染的实验报告。
请同学们观看一段视频(出示视频材料)
——同学们看到这些画面,你想到了哪些词语
师:多么可怕的毒蛇,不少人因被他咬伤而死去,为了研究抗御这种毒蛇的办法,施密特博士用它做实验想揭开其毒性的秘密,但不幸的是实验中他不小心被毒蛇咬伤了,那他会怎样做呢?现在请同学们以小组单位通过解决这几个问题来学习。
二、自主、合作、探究
1、以小组为单位交流预习任务中的问题。
1)、深读课文,说说施密特博士哪些行为最使你感动?
2)、从这些行为中你认为施密特是一位怎样的人?
3)、为什么说这份报告是“血染的实验报告”?
2、教师巡视指导。
三、展示提升
1、以小组为单位汇报交流讨论的问题。
2、引导学生抓住重点句子解析上述问题,并从读文中悟情会意。
(1)“施密特先生觉得伤口剧烈地疼痛,四肢麻木,身体不能动弹,他知道自己中了蛇毒……”
(2)他想:“完了,难道就这么死去吗?不!我应该再做些什么……”
(3)“在被蛇咬伤5个小时以后,卡尔·施密特博士手中的笔落在地上,他停止了呼吸。”
(4)“5个小时后”,足见时间之长。
四、质疑解惑:
同学们你还有什么疑惑的地方吗?
五、情感升华
1、同学们这位可敬的老人竟这样离开人世,他走的那么匆忙,竟来不及擦去身上淌出的血;他走的是那么艰难,忍受了我们无法想象的痛苦,此时凝视这份血染的实验报告,你想对施密特博士说些什么?
2、此时我们非常难过,一位科学家就这样离我们而去,但我们又感到欣慰,他给我们留下宝贵的科学财富,让我们再一次带着对他的崇敬之情齐读文中最后两句话。
3、在人类历史的长河中,许多科学工作者为了造福于后代,不惜一切甚至生命。卡尔施密特博士只是其中一个,还有许多为人类做出贡献的科学家,比如:牛顿、居里夫人、布鲁诺等同学们课下读读他们的故事,相信你的心灵再次会受到启迪和震撼的。
板书设计:
蛇毒研究
血染的实验报告 科学事业
挽救生命
教学反思:
本节是《血染的实验报告》第二课时的教学,学生在“三段五环”的教学模式下,轻松愉悦的完成了本课的学习,体会到了老科学家卡尔施密特博士的无私而伟大的奉献精神。这篇课文是一篇记事为主的记叙文,文章记叙的是施密特博士在研究巨型毒蛇时不慎被毒蛇咬伤,他忍着巨痛,在5个小时里认真记录了被毒蛇咬伤后的生理反应,最后献出了生命。这件事反映了施密特博士认真求实的科研品格,赞扬了科学家为了科研事业,为人类健康勇于牺牲的高贵品质。我的教学反思有如下几点:
一、预习前移、导学指导
我在课前的前一天,提前布置“预习作业”, 学生围绕“预习作业”做一个简单的预习,将预习目标具体化。这三个问题的提出,可以体现站在学生“学”的角度,也是本节课所学内容的完整呈现,通过问题和习题细致有序地引导学生理解和掌握学习内容。
二、课件运用恰当
在教学中,我课件出示南美洲毒蛇,让学生说说看到蛇后自己内心的感受,从而让学生体会到毒蛇可怕与凶猛,为下文学习施密特博士被蛇咬伤后忍受着极端的痛苦做个铺垫。在这个环节中从学生的表现中不难看出蛇给孩子们的影响是很大的,激发了学生学习的兴趣,有着积极探索的欲望,课件的展示收到了较好的教学效果。
三、小组合作探究真实有效
学生因为提前预习了,对课文内容重点已经有了深刻的印象,小组长带领大家交流探究时,能够按照平时的训练,切实有效的完成合作要求,在此期间,我在学生中间巡视,做过细的调查研究,主要是针对中差学生,了解他们在自学讨论中的困难,最大限度地把自学中自学讨论所暴露出来的疑难问题抓到手,为什么说这份报告是“血染的实验报告”?这一问题学生认识的不是那么深刻,我就决定展示点拨环节解决。
四、抓重点词、句子,理解文章内容。
在学生进行交流、质疑、点拨阶段,我先请小组代表进行汇报,进行全班交流,
在肯定学生对问题的正确分析之时,继续引导学生通过重点词、句子的理解,通过读与思相结合,采用了引读、评价读、个别读、齐读等多种形式朗读,让学生更好地体会蛇的凶猛,令人恐惧,来体会施密特博士所受的巨大痛苦,从而感受博士为了科学事业,为了人类的健康勇于牺牲的高尚精神,有着坚强的毅力与伟大。
五、质疑解惑,注意生成,情感升华。
在质疑解惑环节,学生提出了两个问题:为什么被蛇咬了之后会不能动弹?被蛇咬了之后应该怎么办?我先让学生来回答,对于第一个问题,学生的回答没有科学根据,因为我在上课前预想了课堂的生成,查阅了资料,就向学生讲授:毒蛇的头呈三角形,尾部较粗短,色斑较鲜艳。当人不慎被毒蛇咬伤后,蛇毒通过神经系统和血液循环伤害人体。血液循环中毒局部疼痛剧烈,肿胀明显,并迅速向肢体近心端蔓延,严重者可发生急性肾功能衰竭、休克以致死亡。对于第二个问题,我也指导了学生不科学的方法,用嘴吸的时候,一定口腔里不能有破损,另外补充了另几种方法。在情感升华环节,再次对文本进行了感悟,并使文本得以升华。
通过这节课,我深深地体会到了教师的知识水平,对上好语文课多么重要,我也看到了自己的不足,一,语言的组织能力还有待于进一步的提高。二、在课堂中,我们必须能对学生说的话,进行评价与总结,这就需要我们教师必须有丰富的知识,进而发现了自己的评价性语言不是那么的丰富。在以后的教学中还要不断的完善,还要不断的努力。继续多读书,多钻研教材,进行继续教育的再学习,丰富自己的知识,提高自身的素质,继续深层次的进行“三段五环”教学模式的研究,使学生更好的发展,也努力使自己成为科研型教师。
有关于数据库实验的心得体会,总的来说,受益匪浅。在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们平时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。 开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大三开学后有数据库原理必修课,非常高兴。当时感觉SQL Sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的'作业,也没有太苛刻的要求。
当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。学习完SQL Sever数据库后感觉可分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员。开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对SQL Sever数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。这些东西都是从老师哪里和朋友的讨论中得到的心得,也希望其他朋友能多多向老师和朋友请教,如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难,现在基本上都是团队类型的,而且他们的效率高开发的周期也快。由于数据库管理的责任重大,很少公司愿意请一个刚刚接触SQL Sever的人去管理数据库。对于我们这些初出茅庐的新手而且电子商务的专业,个人认为可以先选择做管理,有一定经验后转型,去做数据库的开发。当然,这个还是要看人个的实际情况来定。
SQL Server数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。就像我学习C语言,当时不能说是学习的棒,但不算差。所以我对以后的语言感觉都不是很困难,了解了VB、C++还有网页中用的Html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的东西。希望在今后中,SQL Server能给我更多帮助。感谢学校开设这样一门优秀使用的课程,让我对数据库有了更深的了解。
实验项目名称程序控制
一、实验目的与要求
1、掌握python语言的for循环语句的基础知识。
2、熟悉实训平台循环程序的编码方式。
3、掌握python语言的while循环语句的基本用法。
4、掌握if语句的基本用法,熟练实现编程
二、实验原理与内容
1、从求1到n之间奇数的和、求数列前n项的和到打印九九乘法表三个方面来展开,并设置了三个相应关卡来在线考察大家对for循环的掌握情况。
2、编写一个输入整数n,计算n!的小程序。
3、掌握循环输入,直到正确为止,同时完成猜数字游戏python代码的编写。
4、从将输入的三个整数x,y,z按由小到大的顺序排列,其中:x,y,z是进行排序的三个数字
5、判断输入的年份是否是闰年
6、从求1到n连续整数的和、求由1、2、3、4能组成多少个互不相同且无重复数字的三位数到判断一个不小于2的正整数是否是质数三个方面来展开
三、预习遇到的问题
成绩:
实验报告1
项目
名称
程序控制
指导
教师
黄国华
实验
日期
一、实验仪器与设备
1、求是楼211实验室教学使用电脑。
2、头歌实践教学平台。
二、实验步骤
1、打开头歌实践教学平台。
2、根据本节实验课的安排,完成“Python控制结构之for循环I”、“python基础(4—2)程序控制—循环结构:while”和“Python——if条件语句”三个题目,认真阅读并理解每个题目的“任务描述”、“相关知识”、“编程要求”和“测试说明”。
3、根据具体的题目要求补充相应的代码。
4、完成所有的评测,并对评测结果进行截图。
三、实验过程原始记录
四、实验结果分析及心得体会
成绩:
重力加速度的测定
一、实验任务
精确测定银川地区的重力加速度
二、实验要求
测量结果的相对不确定度不超过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指向平衡位置。当摆角很小时(θ./*test2.1c*/
1)编译如下程序:includevoidmain {
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)编译如下程序:includevoidmain {
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)编译如下程序:includevoidmain {
int a,b,c,d,x; scanf("%d",&x); if(999 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 总结:通过对程序的设计提高编程能力 由于平时接触的都是一些私人项目,这些项目大都是一些类库,其他人的交流相对可以忽略不计,因此也就不考虑规范化的文档。实际上从学习的经历来看,我们接触的知识体系都是属于比较老或比较传统的,与现在发展迅速的IT行业相比很多情况已不再适用,尤其是当开源模式逐渐走近开发者后更是如此。 虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。对于OOA/OOD的开发模式有时不免要提出一些疑问,UML是设计阶段的工具,而它基本涵盖了软件设计的方方面面,也就是说按照这一软件工程的正常流程,在动手写第一句代码之前,开发人员已经非常熟悉软件产品了,这对于相当有经验的架构师一类人说可能会很容易,但是我们作为学生,连足够的编码经验都没有,却首先被教授并要求先OOA再OOP,这样直接导致的问题就是文档与编码对不上号,在修改代码的时候基本不会再去审查文档和先前的分析。甚至根本就是现有代码再有文档,即便是这种情况,代码与文档还是不对应。不可否认,在传统软件工程的详细设计之前的项目过程中还是有很多利于项目开发的部分的。所以我就一直在寻找适合我——针对探究型项目——的开发模式,这次的项目也算是一次尝试,当然这个过程并不会太短。 回到数据库设计上了,这次的数据库设计我是严格按照数据库建模的步骤来进行的,老实说我并没有感觉这样的流程对开发带来多大的帮助,反倒是觉得将思维转化为图表很浪费时间。总体上来说这次的项目也不是很大,而且在数据库的设计上比较保守,也就是说实际上数据库设计还可以再完善完善的。随着我对计算机领域的拓宽和加深,我也会静下心来思考在接触计算机之前的行为,很多次我能深切感觉到,其实我的大脑(未于别人比较)本身就是在使用一种更接近关系数据库的方式来记忆,所以我很可恨自然的设计出符合三范式的表结构来,即便我不知道这些范式的确切含义。可能就像“范式不太容易用通俗易懂的方式解释”一样,在“让工具用图标表述我的思维”时费了一番力气。 从我作为项目的提出人和实现者来看,这是个失败的项目,结合几次教学项目的的实践,发现这也已经不是第一次了。主观原因占多数,比如,尝试新的开发方式,根据设计花了太多的时间来抽象出公用的库而忽略业务逻辑。就这次项目而言,失败的原因有以下几点: 1、使用了新的开发环境(Vim),这是首次在脱离高级IDE的情况下编码。 2、使用了新的开发语言(Python,Actionscript3),因为我一直比较喜欢“学以致用”,而且这样的“数据驱动型”软件的.整套自实现的库都已经完成了,但是由于语言本身的差异,迁移时问题很多,当发现这一点是,已没有多少有效剩余时间了。 3、编码流程的不妥,我比较喜欢从底层的库开始开发,因为一旦库测试通过,将很容易将它放到不同的表示层下。但如果库没有测试成功,将导致整个项目没有任何可视化模型,所以这次的项目无法提交“可运行的代码”。 4、实践目的的不同,我轻易不放弃锻炼的机会,事实上,有机会就一定要比以前有所突破,总是照搬以前的做法还不如就不做呢。这个前提是因为现在能完全用来的学习的时间比较多,等到工作时再这样做的可能性就很小了,因此当然要抓紧机会了。不过还有一个隐藏原因,总以为自己很了不起,其实“遇到的问题数跟人的能力是成正比的”。 5、客观原因在这里就不说了。 由于项目还未完成,暂时无法提出需要改进了地方。 一、实验目的 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对象,用以显示窗口的。 实验1 加法器设计 1) 实验目的 (1) 复习加法器的分类及工作原理。 (2) 掌握用图形法设计半加器的方法。 (3) 掌握用元件例化法设计全加器的方法。 (4) 掌握用元件例化法设计多位加法器的方法。 (5) 掌握用Verilog HDL语言设计多位加法器的方法。 (6) 学习运用波形仿真验证程序的正确性。 (7) 学习定时分析工具的使用方法。 2) 实验原理 加法器是能够实现二进制加法运算的电路,是构成计算机中算术运算电路的基本单元。目前,在数字计算机中,无论加、减、乘、除法运算,都是化为若干步加法运算来完成的。加法器可分为1位加法器和多位加法器两大类。1位加法器有可分为半加器和全加器两种,多位加法器可分为串行进位加法器和超前进位加法器两种。 (1)半加器 如果不考虑来自低位的进位而将两个1位二进制数相加,称半加。实现半加运算的电路则称为半加器。若设A和B是两个1位的加数,S是两者相加的和,C是向高位的进位。则由二进制加法运算规则可以得到。 (2)全加器 在将两个1位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称全加。实现全加运算的电路则称为全加器。 若设A、B、CI分别是两个1位的加数、来自低位的进位,S是相加 的和,C是向高位的进位。则由二进制加法运算规则可以得到: 3) (1) (2) (3) 实验内容及步骤 用图形法设计半加器,仿真设计结果。 用原件例化的方法设计全加器,仿真设计结果 用原件例化的方法设计一个4为二进制加法器,仿真设计结果,进行定时分析。 (4) 用Verilog HDL语言设计一个4为二进制加法器,仿真设计结果,进行定时分析。 (5) 分别下载用上述两种方法设计4为加法器,并进行在线测试。 4)设计 1)用图形法设计的半加器,如下图1所示,由其生成的符号如图2所示。 2)用元件例化的方法设计的全加器如图3所示,由其生成的符号如图4所示。 图三: 图四: 5)全加器时序仿真波形如图下图所示 6)心得体会: 第一次做数字系统设计实验,老师给我们讲了用图形法设计的全过程。在这次过程中,我进一步加强对理论知识的学习,将理论与实践结合起来。实验过程中遇到了一个小问题是生成半加器符号,后来发现缺了File/Create Default这一步。通过这一次的失误,我明白了做事要认真!最后将实验做出来了,体味了成功的喜悦!通过这次实验我复习了加法器的分类及工作原理, 并掌握了用图形法设计半加器的方法,掌握了用元件例化法设计全加器的方法,掌握了用元件例化法设计多位加法器的方法,掌握了用Verilog HDL语言设计多位加法器的方法,学习了运用波形仿真验证程序的正确性,学习定时分析工具的使用方法。 第一章 基础掌握 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)编译如下程序:includevoidmain { 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)编译如下程序:includevoidmain { 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=80&&average=70&&average=60&&average=50&&average=90&&average=80&&average=70&&average=60&&average建模->概要设计->详细设计->编码->测试->维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。 在这次项目里我完成了许多工作,在界面设计上我完成了,首页、全部的商品页面、全部的用户页面及部分管理员页面的制作,在后期项目整合过程中修改了功能和界面结合时出现的bug,还有数据库插入数据及解决数据库集中整合时出现的问题。这些工作我都顺利完成了,虽然并不能算是非常的出色,但也算是尽力了。现在看到自己辛劳的成果,我感到很欣慰。 当然,在这次项目过程中我也发现了自己的一些问题。如现在的网站开发技术还不够强,在和小组成员相互沟通上还不够积极等。我希望以此为契机,在将来的项目开发中能做得更好。设计实验报告 篇7
设计实验报告 篇8
设计实验报告 篇9
设计实验报告 篇10