计算机实验报告集锦(精选26篇)
4.软件详细设计、关键技术与难点、测试数据
软件详细设计:1.将准备好的棋盘以image方式插入,将准备好的棋子以数组方式插入,数组从棋盘左上到棋盘右下方依次为0至89。初始化时要摆放旗子的位置以image方式插入相应棋子的图片,不需摆放棋子的位置也以image方式插入图片,插入的图片为空。这样这个棋盘上的各个位置棋子都可达。插入图片时,要注意各个图片在棋盘上的规范性,每张图片的height和width属性应该相同,且对应棋子的坐标要规范,top和left属性也要相对应。将棋盘上的位置处理完后,还要处理被吃棋子的位置,被吃棋子最多为双方都只剩下黑将和红帅。所以被吃棋子对多有30个,这30个图片定义为棋子的数组中,标号为90至119,这些图片也是以image方式插入图片,插入的图片为空。
2.插入时钟控制信号,黑方插入Timer1,红方插入Timer2。整个Form1的界面设计完成。
3.开始Form1的代码编写,开始棋子位置初始化,被吃棋子位置初始化,根据各个棋子的坐标来控制各个棋子的位置,时钟控制信号初始化。当点击游戏界面的菜单栏的开始时,也进行所有的初始化。
4.通过控制坐标规定各个棋子的游戏规则。将所有类型的棋子的坐标限制都列出来,通过语句来规范棋子的下棋规则。棋子的下棋规则规范后,再规定哪些子属于红方,哪些子属于黑方,当红方的子碰到黑方的子,或是黑方的子碰到红方的子则属于吃子,如果黑方碰到黑方或是红方碰到红方则不能走。
5.判定优胜方,在对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜负或走成和棋为止。判定优胜方有3种方法,一种就是黑方的将或红方的帅被吃,另一种是黑方除将外的子全被吃或红方除帅外的子全被吃,最后一种是利用时钟判定,哪方的累计思考时间超过规定的时间则判输。
6.象棋的基本功能完善后,对照试验的要求完善附加功能。
关键技术与难点:关键技术是通过二维数组完成整个程序的控制,棋子通过一维数组来控制每种棋子的下棋规则,通过时钟控制来作为另一种判优胜的条件。难点是设计擂台赛,自学VB的过程中,没有关注擂台赛的设计过程,所以设计擂台赛时不能想到一个可行的办法记录最高分。
测试数据:各个棋子由top和left构成的坐标,以及各个快捷键。
5.软件使用说明:
按run键或F2键开始游戏,由执红棋的一方先走。
选择棋子: 1.键盘操作:用方向键←、→、↓、↑移动光标,Enter键选中棋子。
2.鼠标操作:移动鼠标,按鼠标左键,选中棋子。
移动棋子: 1.键盘操作:用方向键←、→、↓、↑移动光标,Enter键选落子。空格键:放弃。
2.鼠标操作:鼠标左键按下时移动鼠标,放开鼠标左键击落子,右键放弃。
落子后,检测:如果不符合游戏走子规则,则重新操作。否则,棋子落定,并按游戏规则吃子。
6.实习的收获、心得、问题、困难和建议:
这次的实习上课时间很少,上课学到的东西也少,可是课外学习的时间比较多,可能就是因为这个原因,所以同学之间的差距比较大。自觉的人很早就已经把实验完成了,不自觉的人硬是等到最后一周开始拼命编程,我觉得两者都有利弊,而我就属于折中的。我并没有开始就兴趣盎然地开始编,我这个人实践能力不是很强,经常实验前都会把书好好啃一遍,啃完觉得差不多才会开始编程,因为这样我就吃过不少苦头。就拿这次实验来说,象棋的编程思想并不复杂,只是数据处理很繁琐,我把书看过一遍后并没有立马就想出利用坐标top和left的属性来编写程序,这个想法是经别人提醒才恍然大悟的,所以我比别人晚很久才开始思路清晰起来,后面就等到最后一周才开始编,所以程序编得有些仓促,很多功能还不够完善,书上学得东西也没有用到实践当中,多浪费了时间在课本上,只剩下少许的时间来实践,编出来的程序可想而知毛病很多,比别人的程序也没有多大差别和优势,所以有点感觉就是输在了起跑线上。不过通过这次实习能认识到这一点我觉得还是难能可贵的,所以这实习最大的收获就是认识到实践比理论更重要,实践并不一定需要太充足的理论,但是理论是建立在实践的基础上的。虽然这些话很多人会认为不太正确,但是对我还是挺适用的,很多东西都是因人而异的。
这次的认识实习目的很明确,实验的目的和要求也很明确,但我还是碰到了很多问题,刚拿到实验题目,就被象棋那两个字给吓到了,感觉平时下象棋的时候感觉都挺困难的,更别说是编程序了,象棋很多规则都感觉很难控制,以至于刚开始就走进了一个误区,妄想通过像高级程序设计语言那样通过太直观的方式编好程序,可是又想不出用什么样的语句来控制,所以纠结了很久才从误区中走出。还有碰到的一个问题是开始摆放棋子是没有太注意top和left的值,虽然每个棋子都放入相应的位置,且对齐地很规范,但是每个棋子的top和left的属性值都含有多个小数点,象棋处理数据的过程本来就很复杂,这样小数点一多,处理起来就更复杂,所以我不得不重新定位各个棋子,又重新将各个棋子的top和left属性记录下来,这个工程挺浩大的,浪费了我很多时间,也浪费了我很多精力,所以硬是休息了两天才开始继续完成程序的编写。所以干很多事情都要前后照应,在开始就要想好各个重要的因素,免得做无用功。
这次的实习用VB语言实施,我觉得还是挺不错的,因为VB简单,可以让我们在短短的3周熟悉并且学以致用,虽然VB的可用度不高,但是重要的不是掌握好这门语言,主要的是熟悉实验的整个流程,了解软件开发所要思考的问题。对于本次实验我觉得不足之处就是老师没有起到很好的指导作用,上课时间都安排在第一周,第一周往往很多人都还没做好准备,待到准备充足后,自然课程也已经结束,所以上课时间没有起到很大的作用。我建议将上课时间押后至第二周或第三周,上课时间不要太拥挤,不要一个礼拜就将所有的课程匆匆结束,这样没有效果反而让学生更懒散。其实我认为学习的另一个弊端是实验的难易程度不同,造成很多同学不认真也可以编出好程序,很多同学因为程序难很认真也编不出可以运行的程序,所以建议老师实习过程以更小的小组为单位实施,小组可以3到5个人,每组的编写游戏可以再大型点,每个小组组员自己分配任务,这样实习过程不枯燥,还可以体现团队的力量,实验中的收获也就会更多。
计算机实验报告集锦 篇22
一、实验目的
考察学生综合应用Excel解决实际问题的能力,包括:
1. Excel工作簿的建立、保存、打开;
2.各类数据的输入和编辑;
3.工作表的各种基本操作;
4.工作表的格式化设置;
5.利用公式和函数进行数据的计算;
6.综合应用各种数据管理操作,如排序、筛选、汇总、统计等;
7.图表的创建和编辑。
二、实验设备
硬件:Pentium 4以上的微型计算机。软件:Windows XP、Excel 20xx或以上的版本
三、实验步骤
1、打开“Excel综合实验格式.xls”文件,在“期末与总评成绩”与“平时成绩”工作表中拆分“姓名”一列,将准备好的学生姓名复制粘贴上去。
2、在两个工作表中分别拆分“平时成绩”一列,在“平时成绩”工作表中,点击单元格E2,输入公式:=C2*40%+D2*60%,再往下拉至单元格E22,计算出平时成绩。再通过外部引用方式把平时成绩复制到“期末与总评成绩”工作表中的平时成绩一列。
3、在“期末与总评”工作表中拆分“总评”一列,点击单元格F3,输入公式:=D3*30%+E3*70%,往下拉至F22,计算出总评成绩。
4、拆分“绩点”一列,点击单元格G3,输入公式:=IF(F3=60,1,IF(F3>60,1+(F3-60)*0.1,0)),往下拉至G22,计算出各个学生的绩点。
5、拆分“奖学金等级”一列,单击单元格H3,输入公式:=IF(G3>=4,"一等",IF(G3>=3.5,"二等",IF(G3>=3,"三等","无"))),往下拉至H22,计算出奖学金等级。
6、拆分“名次”一列,单击单元格I3,输入排名函数:=RANK(F3,$F$3:$F$22),往下拉至I22,计算出名次排名。
7、在“期末与总评”工作表中选中“总评”一行,选择“格式”→“条件格式”,选择“单元格数值”和“小于”,在第三个方框中输入60,再单击“格式”,选择“加粗”,“红色”字体,将总评不及格的分数用红色加粗字体标示。
8、在“期末与总评”工作表中A24:K26的区域中输入总评分数区间数据,合并好相应单元格,单击B26,输入公式:=DCOUNT($A$2:$I$22,,B$24:C$25),向右拉至K26,统计出各分数区间的人数。