20140902413--李雪瑞--计算机工程系实验报告10
学生成绩排名-汇编语言综合实验报告
NEQU8
MEQU4
FEQU3
PEQU3
QEQU3
BUFF3DBF,?,FDUP(0),'$'
BUFF1DBN,?,NDUP(0),'$'
BUFF2DBM,?,MDUP(0),'$'
NUMBERDBPDUP(F+1DUP(0))
SNAMEDBPDUP(N+1DUP(0))
REP STOSB
MOVCX,M+1
LEASI,BUFF2+2
LEADI,SCORE1
ADDDI,SIGN2
CLD
REP MOVSB
LEASI,BUFF2+2
MOVDI,SIGN2
CALL CHANGE
RET
COPY ENDP
CHANGE PROC
MOVX,0
MOVCX,[SI-1]
ANDCX,000FH
子程序COPY的设计业分为三个部分:学号转存,姓名转存,成绩转存。三个数据的转存方法也相同的。首先将长度传给CX寄存器,再将源目标地址和目的地址分别给SI和DI,再调用REP MOVSB 进行串传送,传送完成之后,要将原来的BUFF缓存区清空,全部设置为$。但是由于成绩是以十进制保存的,所以还要转换为二进制。则在子程序COPY中调用CHANGE程序
全部代码:
DATASSEGMENT
INFOR0DB0AH,0DH,'SORT=$'
INFOR1DB0AH,0DH,'INPUT NAME:$'
INFOR2DB0AH,0DH,'INPUT SCORE:$'
python大作业实验报告
--暨南大学南校区生活指南系统G108甘颖欣熊梦娜翁婉晖梁绮婷李嘉顺2015—1—3目录目录。
..。
.。
..。
.......。
.....。
.。
.。
.。
.。
.。
.。
.。
.。
..。
..。
..。
..。
.。
..。
....。
....。
..。
.。
..。
.。
...。
...。
....。
.。
.。
.。
.。
.。
....。
..。
...。
..。
.。
.。
2“暨南大学南校区生活指南系统"选题说明书。
.。
.。
..。
.。
.。
..。
.。
.。
.。
...。
.。
.。
.。
..。
.。
..。
.。
.。
.。
....。
.....。
..。
..。
....。
(3)1.成员分组和任务分工.。
.。
..。
.。
.。
.。
..。
.。
.。
..。
..。
.。
.....。
..。
...。
.。
..。
...。
..。
..。
.。
....。
..。
.。
....。
.。
.。
..。
...。
.。
.32.选题说明。
..。
.。
...。
..。
.....。
..。
.。
.。
...。
..。
.。
..。
....。
.。
.。
..。
...。
.。
..。
.....。
..。
.。
.。
..。
.。
......。
.。
..。
.。
.。
.。
..。
..。
..。
.。
...。
. (3)2。
1选题任务描述...。
...。
.。
.......。
..。
...。
....。
...。
.。
.。
.。
...。
.。
.。
..。
...。
..。
.。
...。
.。
.。
.。
.....。
....。
.。
.。
.....。
..。
.。
...。
32。
2设计思路描述。
.。
...。
..。
...。
...。
.。
.。
...。
...。
.....。
.....。
.。
.。
.。
...。
..。
.。
.。
.。
.。
...。
...。
..。
.。
.。
.。
...。
.。
.。
.。
..。
.。
.。
.。
(4)2。
3程序运行效果..。
.。
...。
..。
.。
....。
..。
........。
..。
..。
..。
.。
.。
....。
..。
.。
.。
..。
...。
.。
.。
.....。
...。
.......。
.。
.。
...。
.。
...。
计算机实验报告及结果
计算机实验报告及结果实验目的:本实验的目的是测试计算机的潜在功能和性能,同时对所测量结果进行分析和解释。
实验过程:本实验主要通过在计算机上运行不同的程序来测试其性能。
首先,我们使用了一款压缩文件的工具对一个100MB大小的文件进行压缩,并测量了压缩所需的时间。
接下来,我们使用了一个矩阵乘法的程序,分别对一个10x10的矩阵和一个100x100的矩阵进行乘法计算,并测量了计算所需的时间。
最后,我们使用了一个图像处理的程序来处理一张1000x1000像素的图片,并测量了处理所需的时间。
实验结果:在压缩文件的实验中,我们测得计算机在压缩100MB文件所需的时间为30秒。
在矩阵乘法的实验中,我们测得计算机在计算一个10x10的矩阵乘法所需的时间为0.1秒,而计算一个100x100的矩阵乘法所需的时间为10秒。
最后,在图像处理的实验中,我们测得计算机在处理一张1000x1000像素的图片所需的时间为5秒。
结果分析:通过以上实验结果可以得出以下结论:1. 计算机的压缩功能较强,可以在较短的时间内对大型文件进行压缩。
2. 计算机在小规模矩阵的乘法计算中性能较好,计算速度很快。
但在大规模矩阵的乘法计算中,计算速度明显下降。
3. 计算机对于图像处理的速度也是较快的,可以在很短的时间内对大型图片进行处理。
综上所述,计算机的性能在不同的任务中有所差异,对于一些简单的计算任务,计算机的性能较好,可以在很短的时间内完成;但对于一些复杂的计算任务,计算机的性能会较差,计算时间较长。
因此,在选择适合的计算机和运行程序时,需要根据具体的计算需求进行选择。
大学生计算机寒假实践报告
大学生计算机寒假实践报告
一、系统重要文件损坏或丢失引起的,
二、内存超频或不稳固造成的蓝屏,
三、硬件的兼容性不行引起的蓝屏,
四、硬件散热引起的“蓝屏”故障;运算机经常死机的缘故有:
一、系统显现错误包括病毒所致,
二、主板的芯片或者其他的零部件损坏,
三、显卡接触不良,
四、内存接触不良,
五、CPU风扇散热不良,
六、运算机的电源有问题,
七、硬盘显现故障等;运算机黑屏的缘故:
一、显示器断电,或显示器数据线接触不良;
二、主板没有供电;
三、显卡接触不良或损坏;
四、CPU 接触不良;
五、内存条接触不良;
六、机器感染 CIH 病毒,BIOS 被破坏性刷新等等,大学生运算机寒假实践报告。
因为我师傅是硬件方面的工程师,对软件了解可能比较少吧,因此在软件方面的故障我接触的比较少,大多客户差不多上中病毒引起的,直截了当重装系统就解决问题了。
然而我觉得重装系统实在是耗费太多的时刻了,因此我就自学了专门多软件方面的知识以完备自己,社会实践报告《大学生运算机寒假实践报告》。
在公
司里我问师傅,查资料,一个个问题迎刃而解,自己在这方面的知识得到了充实。
这些在平常的书本上仅仅是获得感性的认识,而在那个地点确实实践了,才确实是真正的把握了,也让我认识到了自己的不足,警告自己,不管做什么,切忌眼高手低,要善于钻研。
师傅说对每台运算机都要细心负责,具有差不多的专业素养,因为细心负责是做好每一件情况所必备的差不多条件,差不多的专业素养是做好工作的前提。
计算机基础实验报告
计算机基础实验报告计算机基础实验报告引言:计算机科学作为一门重要的学科,为我们的现代社会带来了巨大的变革和进步。
而计算机基础实验则是我们学习计算机科学的重要环节之一。
本实验报告将介绍我在计算机基础实验中所学到的知识和经验,并总结实验的结果和收获。
实验一:计算机硬件组装与调试在这个实验中,我们学习了计算机硬件的基本组成和组装方法。
通过实际操作,我了解了主板、CPU、内存、硬盘等硬件设备的功能和相互连接方式。
同时,我们还学习了如何调试计算机硬件故障,提高了我们的问题解决能力。
实验二:操作系统安装与配置在这个实验中,我们学习了操作系统的安装和配置。
通过实际操作,我掌握了Windows和Linux操作系统的安装方法和步骤,并学会了对操作系统进行基本的配置和优化。
这不仅提高了我对操作系统的理解,还为我以后的计算机使用提供了便利。
实验三:计算机网络配置与管理在这个实验中,我们学习了计算机网络的基本概念和配置方法。
通过实际操作,我了解了网络的组成和工作原理,并学会了对局域网进行基本的配置和管理。
这对于我们理解互联网的工作原理和提高网络安全意识都具有重要意义。
实验四:数据库设计与管理在这个实验中,我们学习了数据库的设计和管理。
通过实际操作,我了解了数据库的基本概念和常用的数据库管理系统,如MySQL和Oracle。
同时,我们还学习了如何设计和优化数据库结构,提高数据库的性能和安全性。
实验五:程序设计与开发在这个实验中,我们学习了程序设计和开发的基本原理和方法。
通过实际操作,我学会了使用编程语言进行程序设计,并学习了常用的开发工具和技术,如IDE和版本控制系统。
这为我以后的软件开发工作奠定了基础。
实验六:计算机安全与防护在这个实验中,我们学习了计算机安全和防护的基本知识和方法。
通过实际操作,我了解了计算机系统的安全威胁和攻击方式,并学会了如何使用防火墙和杀毒软件等工具进行计算机安全防护。
这对于保护个人隐私和防止计算机病毒的侵害具有重要意义。
计算机实验报告15篇
计算机实验报告计算机实验报告15篇我们眼下的社会,报告使用的次数愈发增长,通常情况下,报告的内容含量大、篇幅较长。
那么报告应该怎么写才合适呢?下面是小编收集整理的计算机实验报告,仅供参考,大家一起来看看吧。
计算机实验报告1实验名称:网络应用综合实验所用仪器材料:能接入INTERNET的计算机一台套一、实验目的1、熟悉上网浏览、检索、下载网络资源的基本方法;2、掌握E-mail的申请及应用;3、了解网络配置与网络安全的相关知识;4、掌握WINDOWS共享目录的使用与简单局域网的组建方法;5、了解简单的网络命令和使用方法。
二、实验内容1、INTERNET的基本操作及WWW的基本应用;2、网络资源的获取;3、E-mail的申请及应用;4、WINDOWS共享目录的使用与局域网的组建。
5、简单的网络基本命令使用。
三、实验步骤(参照实验指导书上的内容,结合实验过程中做的具体内容,完成此项内容的撰写)四、思考与总结(写实验的心得体会等)计算机实验报告2一、实习时间20xx年X月18日到X月10日二、实习地点中****-*三、实习目的通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。
四、实习内容能对电脑交易和具体的电脑安装步骤进行了解,并查阅资料巩固自我缺漏的电脑经验。
能将具体的计算机知识应用到实际中,在电脑交易的同时,将自己的所学所想所感付诸实践。
能够熟练掌握一定的计算机技巧,比如安装系统,安装插线,识别型号,处理图形和flash等。
能够与别人进行一定程度的计算机交流,并且提供各种买卖信息以及电脑性能好坏的识别。
能够推销贩卖计算机,并且积累丰厚的社会交流经验和提升自我的语言表达能力。
五、实习体会职高生活让我对计算机理论知识有了一定的了解。
但实践出真知,唯有把理论与实践相结合,才能更好地为社会服务。
经过实践和实习,我对未来充满了美好的憧憬,在未来的日子,我将努力做到以下几点:一、继续学习,不断提升理论涵养。
计算机基础1实验报告win7基本操作_图文
计算机基础1实验报告win7基本操作_图文《大学计算机基础Ⅰ》课程学院年级专业姓名学号任课教师上机地点实验教师(以上由学生填写)西南大学计算机与信息科学学院计算机基础教育系2015年10 月18 日实验成绩记载课程实验报告一一、实验题目:Win7的基本操作、文件管理与控制面板的使用二、实验目的:1.掌握桌面主题的设置2. 掌握任务栏的使用和设置3. 掌握任务切换的方法4. 掌握?开始?菜单的组织5.掌握快捷方式的创建6. 掌握文件夹的显示方式7.掌握文件夹和文件的创建/属性查看和设置 8.熟悉文件和文件夹的搜索9.体验文件和文件夹的压缩存储与解压缩三、实验主要内容及过程(实验主要内容的介绍、主要的操作步骤)1.在本地机上建立文件夹,对文件夹进行复制,设为只读并创建快捷方式a.点击硬盘D,右击鼠标新建文件夹b.选择?复制?对文件夹进行操作二、控制面板设置,设置桌面背景、屏幕保护程序、显示器分辨率、颜色、刷新频率通过?我的电脑?打开控制面板如下图:b.选择?个性化?,打开如下图c.选择?桌面背景?设置桌面颜色,如图:d.选择一种颜色,点击?保存修改?即可e.选择?窗口颜色?设置窗口颜色,同d步骤,如下图:f.通过选择?屏幕保护程序?进行相关设置,点击?确定?保存,如下图:g.在桌面空白处右击,在快捷菜单中选择?屏幕分辨率?窗口设置屏幕分辨率;h.在此时窗口下单击?高级设置?→ ?监视器?中设置屏幕的刷新频率,如下图j.点击?确定?保存设置。
三、设置“开始”菜单,设置任务栏为自动隐藏。
a.在控制面板窗口下选择?任务栏和开始菜单?→?属性?→勾选?自动隐藏任务栏?任务栏隐藏。
如下图:五、查看任务管理器的相关内容,打开和关闭应用程序,查看进程数、线程数、CPU使用记录与进程标识符。
a. 通过在任务栏空白处右击鼠标或Ctrl+Alt+Delb.在此窗口下打开?计算机?→?我的文档?查看打开的应用程序,单击?结束任务?关闭相应应用程序窗口。
有关计算机的实习报告8篇
有关计算机的实习报告8篇计算机的实习报告篇1____年的在校学习,对我们计算机控制专业有了比较全面的认识和理解,但在校期间,一直忙于理论知识的学习,没能有机会走出校园,真正切身感受本专业的实际应用。
所以在实训之前,本专业对我来说是比较抽象的,但通过这次实训,我们揭开了她神秘的面纱,离我们不再遥远!第一天的实训,我们去了深圳艾克瑞电气有限公司,在去公司之前,公司的史总经理特地抽空来到本班,对艾克瑞公司以及他们公司所开发研究的产品进行了一系列的讲解。
所谓艾克瑞也就是根据英文XRAY直翻译过来的,也就是生产X光。
通过他的讲解,我学到了很多东西,比如说X线的产生,X线的特点以及组成等等。
X光机主要是用于医疗机构,我们都知道X光的医疗效果是很显著的,可见它的发明及应用,对于我们人类生活,作出了多么巨大的贡献。
第二天我们同样去了艾克瑞公司,哪天让我真正地做到了学以致用,更学到了很多做人的道理,对我来说受益非浅。
因为做开发研究的地方都是没有空调的,温度很高,看着那些技术人员流着满身大汗仍然对自己的工作乐此不疲,我真的很感动也很钦佩。
除此之外,我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。
第一次亲身感受了所学知识与实际的应用,理论与实际的相结合,让我大开眼界。
第四天,我们去了深圳百事可乐公司,坐了一个小时左右的车去到那里,到达那里后给我的第一印象就是:规模庞大。
不愧是世界品牌。
那里的建筑也主要是以蓝,白为主,真正的体现了了百事可乐的清爽,舒服的意念。
通过公司里的工作人员的讲解,知道了百事已经有109年的历史了,听到这里,真的很让我惊讶!18__年8月28日,是百事可乐PEPSI-COLA诞生的日子。
这是每一个关爱百事可乐的人们都引以为骄傲且不会忘却的日子。
一百多年来,百事可乐在喧嚣,纷乱,竞争的氛围中,随着时代的步伐,与美国和世界一起成长壮大。
遗憾的是,由于停电的关系,我们没能参观到他们整个的生产过程,只是参观了一下他们的重要生产线。
动态优先权算法
华北科技学院计算机系综合性实验实验报告课程名称C操作系统实验学期至学年第学期学生所在系部计算机系年级专业班级学生姓名SORRY,枪走火学号任课教师实验成绩计算机系制《C操作系统》课程综合性实验报告开课实验室:基础六2011年5月20日实验题目进程调度算法设计一、实验目的通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。
二、设备与环境1.硬件设备:PC机一台2.软件环境:安装Windows操作系统或者Linux操作系统,并安装相关的程序开发环境,如C \C++\Java等编程语言环境。
三、实验内容(1)用C/C++语言(或其它语言,如Java)实现对N个进程采用某种进程调度算法(如动态优先权优先)的调度。
(2)每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段:✧进程标识数ID。
✧进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。
✧进程还需占用CPU时间CPUTIME。
✧进程进入ready队列还需等待时间WAITT。
✧进程被阻塞时间BLOCKT。
✧进程周转时间ALLTIME。
✧进程状态标记STATE。
✧队列指针NEXT,用来将PCB排成队列。
(3)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。
(4)分析程序运行的结果,谈一下自己的认识。
四、实验结果及分析1.实验设计说明用C语言实现动态优先权优先进程调度算法设计。
第10页。
大一计算机实验报告
《大学计算机基础》实验报告(2014-2015学年第1学期)实验成绩:选中要添加项目符号的文本。
单击选中要添加项目符号的文本。
单击在“开始”选项卡中单击右击任务栏的单击右击任务栏的单击亲爱的朋友,上文已完,为感谢你的阅读,特加送另一篇范文,如果下文你不需要,可以下载后编辑删除,谢谢!矿井水灾事故专项应急演练方案1 应急演练目的、意义和目标1.1应急演练目的①评估我矿水灾事故的应急准备状态,发现并修改我矿水灾事故专项应急预案和执行程序中存在的缺陷和不足;②评估我矿在发生水灾事故时的应急能力,识别处理水灾事故的资源需求,澄清相关单位和人员的应急职责,改善水灾事故应急救援中的组织协调问题;③检验应急响应人员对水灾事故应急预案及执行程序的了解程度和实际操作技能;同时,通过调整演练难度,进一步培训和提高应急响应人员的业务素质和能力;④提高全员安全意识。
1.2应急演练意义:为了进一步增强煤矿应对水灾事故的快速反应能力、应急处理能力和协调作战能力,提高米田煤矿的应急救援水平,切实保障人民生命和公司财产的安全,米田煤矿特组织本次应急救援演练。
1.3应急演练目标1.3.1 报警当发生水灾事故时,由现场施工单位当班第一责任者采用电话报警的方式进行报警。
1.3.2接警处警调度室接到事故报警后,调度室调度员立即向当天矿值班长和应急救援领导小组组长(矿长)汇报,同时通知水灾应急演练指挥部有关人员到调度室待命,根据指挥部意见,启动水灾应急救援预案。
1.3.3 应急指挥①基层单位:一旦发生矿井水灾事故,现场施工单位立即成立水灾事故现场处置小组,掘进队当班第一责任者为小组长。
②矿级应急指挥:矿调度室接到事故报警后,矿成立矿井水灾事故应急演练小组,指挥部设在矿调度室。
1.3.4 应急行动①基层单位应急行动现场组织人员按照避灾路线撤离至安全地点。
模拟底板涌水的疏、排;②矿级应急行动矿调度室通知相关泵房,由开泵人员立即开动工作、备用水泵开始排水;同时检查检修水泵的完好状况,保证检修水泵能够随时投入运转。
计算机综合实践实验报告
实验步骤(具体说明制作的过程,不少于500字)
作品效果图(整体、关键点和特效)
要求截取屏幕反映作品整体、关键点和特效的画面若干张,并插入本表中。
本人工作(详细描述在本组作品实现过程中,本人参与完成的具体工作,对作品中自己原创的内容是哪些进行说明。不少于300字。)
感想(不少Байду номын сангаас300字)
大学计算机综合实践—实验报告
作品名称
姓名
专业
学号
任课教师
电话
电子邮件
小组成员1
学号:
小组成员2
学号:
姓名:
姓名:
原创承诺
本人承诺本作品为本队成员独立创作完成,不侵犯任何第三方的知识产权或其他权利,同时符合中华人民共和国的有关法律,如本作品发生侵权行为由本队成员自负责任。
小组成员(签字):
作品简介
(设计目标与意义、关键技术、作品特色)约250字
2024年大学生计算机实习报告范文(四篇)
2024年大学生计算机实习报告范文一、实训题目文件和文件夹的管理二、实训目的1.熟悉Windows XP的文件系统;2.掌握资源管理器的使用方法;3.熟练掌握在Windows XP资源管理器下,对文件(夹)的选择、新建、移动、复制、删除、重命名的操作方法。
三、实训内容1.启动资源管理器并利用资源管理器浏览文件;2.在D盘创建文件夹;3.在所创建文件夹中创建Word文件;4.对所创建文件或文件夹执行复制、移动、重命名、删除、恢复、创建快捷方式及设置共享等操作。
四、实训步骤(一)文件与文件夹管理1.展开与折叠文件夹。
右击开始,打开资源管理器,在左窗格中点击“+”展开,点击“—”折叠;2.改变文件显示方式。
打开资源管理器/查看,选择缩略、列表,排列图标等;3.建立树状目录。
在D盘空白处右击,选择新建/文件夹,输入经济贸易学院,依次在新建文件夹中建立经济类1103;4.创建Word并保存。
打开开始/程序/word,输入内容。
选择文件/另存为,查找D盘/经济贸易学院/1103班/王帅,单击保存;5.复制、移动文件夹;6.重命名、删除、恢复。
右击文件夹,选择重命名,输入新名字;选择删除,删除文件;7.创建文件的快捷方式。
右击王帅文件夹,选择发送到/桌面快捷方式;8.设置共享文件。
右击王帅,选择属性/共享/在网络上共享这个文件/确定;9.显示扩展名。
打开资源管理器/工具/文件夹选项/查看/高级设置,撤销隐藏已知文件的扩展名。
(二)控制面板的设置1.设置显示属性。
右击打开显示属性/桌面、屏幕保护程序;2.设置鼠标。
打开控制面板/鼠标/按钮(调整滑块,感受速度)、指针;3.设置键盘。
打开控制面板/键盘/速度(调整滑块,感受速度)、硬件;4.设置日期和时间打开控制面板/日期和时间;5.设置输入法。
打开控制面板/区域与语言选项/详细信息/文字服务与输入语言。
(三)Windows附件的使用1.计算器。
打开开始/所有程序/附件/计算器/查看/科学型;2.画图。
计算机实验室实习报告(大学计算机实验实训报告)
计算机实验室实习报告(大学计算机实验实训报告)计算机试验室实习报告1在后一周多的时间里,通过对数据库6张表的操作,对于存在的问题再帮带人的耐烦讲解下,让我掌控了表与表之间的规律关系,及各个表字段的含义和用途,及短、彩的流程,在对数据的查询上提高了工作效率,在此要特别感谢帮带人,他的负责任的精神是值得我们公司每位新员工学习的。
时间对于每个人来说都是公正的,只有24个小时。
所以,在工作中,做好时间的管理尤为重要。
即使计划的事情当天没有完成,但也把当天最重要最紧急的事情完成了。
否那么的话,工作效率就会很低,重要紧急的事情没有做,做的都是不太重要的或者缓急的事情。
培训虽然结束了,我会立足自我,完善自我。
我相信我选择的不仅仅是一份工作,更是一份事业。
它使我们在实践中了解社会,让我们学到了许多在课堂上根本就学不到的知识,也打开了视野,增长了见识,为我们以后更好地服务社会打下了坚实的基础。
总之,这次实习的意义,对我来说已不再是完成学分、完成毕业实习的任务,而是在开启“生命之旅”大门的过程中迈出了第一步。
我肯定会好好地珍惜这个机会,并为自己所喜欢的计算机科技贡献自己的聪慧才智,感谢同事们和领导们在这段时间里对我的指导和教导,我从中受益匪浅,完全的实习过程是焦灼而开心的,我的工作立场和成效也得到了同事们的全都赞扬。
作为我在踏出社会之前的为数不多的几次实践中,这次的实践的确予以了我许多。
今后,我将继续保持仔细负责的工作立场,高尚的思想觉悟,进一步完善和充盈自己,争取在以后的学习中更好的完善自己,在以后的实践中更好的运用去自己的只是,做一个合格的高校生,将来做一名对社会有用的人。
计算机试验室实习报告2一、开卷有益,爱不释手然而,在我参与培训的第一晚上,我就发觉自己错了,此次的电脑培训与以前参与过的培训大相径庭。
以前的培训都是应付考试的,有用性不强,而且那时学的东西,在工作中用的不多,时间长了不用也就忘却了。
而这次培训的内容最显著的特点,就是有用性和工具性很强,都是平常工作中常常用到的。
人工智能实验报告计算机
实验二:九宫重排一、实验目的A*算法是人工智能领域最重要的启发式搜索算法之一,本实验通过九宫重排问题,强化学生对A*算法的理解与应用,为人工智能后续环节的课程奠定基础。
二、问题描述给定九宫格的初始状态,要求在有限步的操作内,使其转化为目标状态,且所得到的解是代价最小解(即移动的步数最少)。
如:三、实验原理如果使一般搜索过程满足如下限制,则它就称为A*算法:1、把OPEN 表中的节点按估价函数f(x)=g(x)+h(x)的值从小至大进行排序(一般搜索过程的第7步)。
2、g(x)是对g*(x)的估计,g(x)>0。
3、h(x)是h*(x)的下界,即对所有的x 均有:h(x)≤h*(x)其中,g*(x)是从初始节点S0到节点x 的最小代价;h*(x)是从节点x 到目标节点的最小代价,若有多个目标节点,则为其中最小的一个。
四、基本要求输入:九宫格的初始状态和目标状态输出:重排的过程,即途径的状态以及所用步数! 四、实验程序#include "iostream.h" #include <time.h> #include <stdio.h> #include <dos.h> #include <conio.h> static int target[9];//class definitionclass eight_num{private:int num[9];int not_in_position_num;int deapth;int eva_function;public:eight_num* parent;eight_num* leaf_next;eight_num* leaf_pre;eight_num(int init_num[9]);eight_num(int num1,int num2,int num3,int num4,int num5,int num6,int num7,int num8,int num9){num[0]=num1;num[1]=num2;num[2]=num3;num[3]=num4;num[4]=num5;num[5]=num6;num[6]=num7;num[7]=num8;num[8]=num9;}eight_num(void){for (int i=0;i<9;i++)num[i]=i;}void cul_para(void);void get_numbers_to(int other_num[9]);int get_nipn(void){return not_in_position_num;}int get_deapth(void){return deapth;}int get_evafun(void){return eva_function;}void set_num(int other_num[9]);void show(void);eight_num& operator=(eight_num&);eight_num& operator=(int other_num[9]);int operator==(eight_num&);int operator==(int other_num[9]);};//计算启发函数g(n)的值void eight_num::cul_para(void){int i;int temp_nipn=0;for (i=0;i<9;i++)if (num[i]!=target[i])temp_nipn++;not_in_position_num=temp_nipn;if (this->parent==NULL)deapth=0;elsedeapth=this->parent->deapth+1;eva_function=not_in_position_num+deapth;}//构造函数1eight_num::eight_num(int init_num[9]){for (int i=0;i<9;i++)num[i]=init_num[i];}//显示当前节点的状态void eight_num::show(){cout<<num[0];cout<<" ";cout<<num[1];cout<<" ";cout<<num[2];cout<<"\n";cout<<num[3];cout<<" ";cout<<num[4];cout<<" ";cout<<num[5];cout<<"\n";cout<<num[6];cout<<" ";cout<<num[7];cout<<" ";cout<<num[8];cout<<"\n";}//复制当前节点状态到一个另数组中void eight_num::get_numbers_to(int other_num[9]) {for (int i=0;i<9;i++)other_num[i]=num[i];}//设置当前节点状态(欲设置的状态记录的other数组中) void eight_num::set_num(int other_num[9]){for (int i=0;i<9;i++)num[i]=other_num[i];}eight_num& eight_num::operator=(eight_num& another_8num) {for (int i=0;i<9;i++)num[i]=another_8num.num[i];not_in_position_num=another_8num.not_in_position_num;deapth=another_8num.deapth+1;eva_function=not_in_position_num+deapth;return *this;}eight_num& eight_num::operator=(int other_num[9]){for (int i=0;i<9;i++)num[i]=other_num[i];return *this;}int eight_num::operator==(eight_num& another_8num){int match=1;for (int i=0;i<9;i++)if(num[i]!=another_8num.num[i]){match=0;break;}if (match==0)return 0;elsereturn 1;}int eight_num::operator==(int other_num[9]){int match=1;for (int i=0;i<9;i++)if(num[i]!=other_num[i]){match=0;break;}if (match==0)return 0;elsereturn 1;}//class definition over//空格向上移int move_up(int num[9]){for (int i=0;i<9;i++)if (num[i]==0)break;if (i<3)return 0;else{num[i]=num[i-3];num[i-3]=0;return 1;}}//空格向下移int move_down(int num[9]) {for (int i=0;i<9;i++)if (num[i]==0)break;if (i>5)return 0;else{num[i]=num[i+3];num[i+3]=0;return 1;}}//空格向左移int move_left(int num[9]) {for (int i=0;i<9;i++)if (num[i]==0)break;if (i==0||i==3||i==6)return 0;else{num[i]=num[i-1];num[i-1]=0;return 1;}}//空格向右移int move_right(int num[9]) {for (int i=0;i<9;i++)if (num[i]==0)break;if (i==2||i==5||i==8)return 0;else{num[i]=num[i+1];num[i+1]=0;return 1;}}//判断可否解出int icansolve(int num[9],int target[9]){int i,j;int count_num,count_target;for (i=0;i<9;i++)for (j=0;j<i;j++){if(num[j]<num[i]&&num[j]!=0)count_num++;if(target[j]<target[i]&&target[j]!=0)count_target++;}if((count_num+count_target)%2 == 0)return 1;elsereturn 0;}//判断有无重复int existed(int num[9],eight_num *where){eight_num *p;for(p=where;p!=NULL;p=p->parent)if(*p==num)return 1;return 0;}//寻找估价函数最小的叶子节点eight_num* find_OK_leaf(eight_num* start){eight_num *p,*OK;p=OK=start;int min=start->get_evafun();for(p=start;p!=NULL;p=p->leaf_next)if(min>p->get_evafun()){OK=p;min=p->get_evafun();}return OK;}//主函数开始int main(void){int memery_used=0,step=0;int num[9];int flag=0;//是否输入错误标志,1表示输入错误int bingo=0;//是否查找成功标志,1表示成功int i,j;cout<<"Please input the initial matrix(0 for the blank):\n";for (i=0;i<9;i++){flag=0;cin>>num[i];for(j=0;j<i;j++)if(num[i]==num[j])flag=1;if (num[i]<0||num[i]>8||flag==1){i--;cout<<"Illegle number!\tReinput!\n";}}cout<<"Please input the target matrix(0 for the blank):\n"; for (i=0;i<9;i++){flag=0;cin>>target[i];for(j=0;j<i;j++)if(target[i]==target[j])flag=1;if (target[i]<0||target[i]>8||flag==1){i--;cout<<"Illegle number!\tReinput!\n";}}eight_num S(num),Target(target);S.parent=S.leaf_next=S.leaf_pre=NULL;S.cul_para();memery_used++;cout<<"Now the initial numbers are:\n";S.show();cout<<"And the Target is:\n";Target.show();if(!icansolve(num,target)){cout<<"No one can solve it!\n";cin>>i;return 1;}eight_num *OK_leaf=&S,*leaf_start=&S,*new_8num,*p; while(OK_leaf!=NULL&&bingo!=1){OK_leaf=find_OK_leaf(leaf_start);if(*OK_leaf==Target){bingo=1;break;}p=OK_leaf->leaf_pre;OK_leaf->get_numbers_to(num);if(move_up(num)&&!existed(num,OK_leaf)) {new_8num=new eight_num;new_8num->set_num(num);new_8num->parent=OK_leaf;new_8num->cul_para();new_8num->leaf_pre=p;if(p==NULL)leaf_start=new_8num;elsep->leaf_next=new_8num;p=new_8num;memery_used++;}OK_leaf->get_numbers_to(num);if(move_down(num)&&!existed(num,OK_leaf)) {new_8num=new eight_num;new_8num->set_num(num);new_8num->parent=OK_leaf;new_8num->cul_para();new_8num->leaf_pre=p;if(p==NULL)leaf_start=new_8num;elsep->leaf_next=new_8num;p=new_8num;memery_used++;}OK_leaf->get_numbers_to(num);if(move_left(num)&&!existed(num,OK_leaf)) {new_8num=new eight_num;new_8num->set_num(num);new_8num->parent=OK_leaf;new_8num->cul_para();new_8num->leaf_pre=p;if(p==NULL)leaf_start=new_8num;elsep->leaf_next=new_8num;p=new_8num;memery_used++;}OK_leaf->get_numbers_to(num);if(move_right(num)&&!existed(num,OK_leaf)) {new_8num=new eight_num;new_8num->set_num(num);new_8num->parent=OK_leaf;new_8num->cul_para();new_8num->leaf_pre=p;if(p==NULL)leaf_start=new_8num;elsep->leaf_next=new_8num;p=new_8num;memery_used++;}p->leaf_next=OK_leaf->leaf_next;if(OK_leaf->leaf_next!=NULL)OK_leaf->leaf_next->leaf_pre=p;OK_leaf->leaf_next=OK_leaf->leaf_pre=NULL;}if(bingo==1){for (p=OK_leaf->parent;p!=NULL;p=p->parent){cout<<" ^\n";p->show();step++;}cout<<"The final steps are:";cout<<step;cout<<"\n";}elsecout<<"Fail to find!";return 0;}实验结果:六、实验心得本次实验使我发现了自己的许多不足之处,例如进行编写C++编程语言程序的能力不是非常强,考虑该问题时会大意与马虎,所以此次实验让我感觉很吃力,但是经过老师同学的提点,我相信自己以后会做的更好。
大学大学计算机实验报告实验报告
大学计算机实验报告实验一:计算器设计实验目的本实验的主要目的是让学生能够够了解计算器的基本原理和结构,学会利用各种键盘实现各类功能,并且能够熟练掌握计算器的基本操作和输入语法。
同时,在本实验过程中,学生还可以通过实践发现计算机中各种错误信息,加深对计算机错误处理的认识与理解。
实验内容本实验主要涉及以下内容:1.计算器的结构和原理。
2.利用各键盘实现计算器的各种功能。
3.计算器的基本操作和输入语法。
4.计算机错误的处理与研究。
实验步骤1.分析计算器的结构和原理,写出计算器的结构图和研究计算器基本原理。
2.编写程序,实现计算器的基本功能,包括加、减、乘、除、取模、求幂等。
3.研究计算器的基本操作,包括输入数字、符号、运算结果、清除结果、重置操作等。
4.记录计算过程、错误信息等,深化对计算机错误的认识与理解。
实验数据分析在本次实验过程中,我们实现了计算器的基本功能,并且也对计算器的基本操作有了更深入的了解。
在输入数字和符号时,我们需要按照一定的语法和操作,输入符号和数字的结构相对比较简单,重要的是输入语法,比如加号+,减号-,乘号*,除号/等等。
在进行计算器功能操作的过程中,我们还需要对计算过程进行记录,以便在出现错误时及时进行处理和分析,比如出现除数为零的情况,计算过程出现错误的信息等等。
实验总结通过本次实验,我们深入了解了计算器的基本结构和原理,掌握了计算器的基本操作和输入语法,加深了对计算机错误处理的认识与理解。
在今后的学习和实践中,我们将进一步完善和扩展计算器的功能,并且不断探索计算器在计算机应用中的广泛应用价值。
贵阳学院计算机科学系实验报告(正文)
实验一Windows 的基本操作一、实验目的 1.掌握 Windows 基本设置的操作 2.掌握 Windows 控制面板的使用 二、实验环境 中文 Windows2000/xp 三、实验内容 1.桌面设置 1)将 Windows 系统开始菜单中的程序图标设置为小图标。
2)将 Windows 桌面上显示的图标按名称和大小排列。
3)将 Windows 桌面的任务栏隐藏。
2.鼠标设置 4)设置鼠标置为右手习惯。
3.系统日期设置 5)设置系统当前的显示时间为 2008 年 8 月 8 日中午 12 点整。
4.显示属性设置 6)设置当前 Windows 系统的外观为 Windows 经典式样。
7)设置屏幕保护为三维文字“贵阳学院计算机基础实验室” ,等待时间为 5 分钟。
5.输入法设置 8)删除全拼输入法。
6.控制面板的使用 9)将计算机名设置为“我的计算机” 。
四、实验操作步骤 实验操作步骤 操作第 -1- 页第 -2- 页第 -3- 页实验二文件管理和资源管理器的使用 文件管理和资源管理器的使用 管理和资源管理器一、实验目的 1.掌握文件夹管理的方法 2.掌握文件管理的方法 3.掌握资源管理器的使用方法 二、实验环境 中文 Windows2000/xp 三、实验内容 1.文件夹的管理作 1)在 D 盘下,按下列目录树结构建立文件夹。
2.文件的管理 2)在“贵阳学院”文件夹下新建 word 文档,命名为“计算机基础” ,设置 文档属性为只读。
3)在教学大纲文件夹下新建文本文档,命名为“计算机基础教学大纲” ,在 “教学课件”文件夹下新建文本文档,命名为“计算机基础教学课件” 。
3.资源管理器的操作 4)利用资源管理器查看“贵阳学院”文件夹中的内容。
5)在资源管理器中,将“计算机基础”文件复制到“学生成绩”文件夹中。
6)在资源管理器中,将“计算机基础教学大纲”文件移动到“学生成绩” 文件夹中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机工程系实验报告课程名称:Java程序设计成绩:实验项目名称:基于JAVA的图形用户界面设计技术基础指导教师:(签名)班级: 计科14-4班姓名: 李雪瑞学号: 20140902413一、实验目的:(1)掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。
(2)掌握多种布局方式;(3)掌握窗口菜单和快捷菜单设计方式,熟悉在组件上绘图的方法;(4)设计出具有图形用户界面的、能够响应事件的Java使用程序;(5)掌握在MyEclipse集成开发环境中,通过设置编译路径引用其他项目中声明的类。
二、实验要求:1. 编写一个使用程序,要求有一个含有菜单的窗口,窗口中有文本区组件。
菜单有“打开文件”的菜单项,当单击该菜单项时,使用一个输入流将一个名为“hello.txt”文件的内容读入到文本中。
2. 编写有两个文本区的使用程序。
当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行求和运算并求出平均值,也就是说随着输入的变化,另一个文本区不断地更新求和及平均值。
3. 编写一个使用程序,有8个按钮,用户通过按动键盘上的方向键移动这些按钮。
4. 编写一个使用程序,用户可以在一个文本框里输入数字字符,按回车后将数字存入一个文件。
当输入的数字大于1000时,弹出一个有模式的对话框,提示用户数子已经大于1000.5. 实现计算器的加、减、乘、除等基本运算。
三、完成程序:1.import java.awt.*;import java.io.*;import javax.swing.*;import java.awt.event.*;public class Zuoye1{public static void main(String args[]){n ew winopen();}}class winopen extends JFrame implements ActionListener{ JMenu menu;JMenuBar mb;JMenuItem mi;JTextArea text;winopen(){mi=new JMenuItem("打开文件");mi.addActionListener(this);menu=new JMenu("菜单");menu.add(mi);mb=new JMenuBar();mb.add(menu);setJMenuBar(mb);text=new JTextArea();add(new JScrollPane(text),BorderLayout.CENTER);setTitle("打开文件");setBounds(400,150,400,300);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();}public void actionPerformed(ActionEvent e){open openfile();text.setText(op.open());}}class openfile{public String open(){new File("E:/hello.txt");int n=0;char b[]=new char[100];StringBuffer sb=new StringBuffer(new String(""));try{reader=new (file);while((n=reader.read(b,0,10))!=-1){sb.append(new String(b,0,n));}reader.close();}catch(IOException e){System.out.println(e);}return sb.toString();}}实验结果抓图及分析:窗口菜单项打开“hello.txt”文件此程序使用JMenuBar创建窗口和菜单,再使用JTextArea创建文本框。
然后使用输入流从文件“hello.txt”中读取文本信息。
输入流提供一条通道程序,可以使用这条通道读取“源”(即“hello.txt”文件)中的数据。
使得程序得以执行。
2.import javax.swing.*;import java.util.StringTokenizer;import java.awt.*;import java.awt.event.*;import javax.swing.event.*;public class Zuoye2{ public static void main(String args[]){ ComputerFrame fr=new ComputerFrame();fr.setTitle("计算的窗口");}}class ComputerFrame extends JFrame implements DocumentListener{ JTextArea text1,text2;int count=1;double sum=0,aver=0;public ComputerFrame(){ setLayout(new FlowLayout());text1=new JTextArea(6,20);text2=new JTextArea(6,20);add(new JScrollPane(text1));add(new JScrollPane(text2));text2.setEditable(false);(text1.getDocument()).addDocumentListener(this);setSize(300,320);setVisible(true);addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);}});validate();}public void changedUpdate(DocumentEvent e){ //接口方法hangdleText(); //调用后面的hangdleText()方法}public void removeUpdate(DocumentEvent e){ //接口方法changedUpdate(e);}public void insertUpdate(DocumentEvent e){ //接口方法changedUpdate(e);}public void hangdleText(){String s=text1.getText();sum=0;aver=0;StringTokenizer fenxi=new StringTokenizer(s," ,'\n'");int n=fenxi.countTokens();count=n;double a[]=new double[n];for(int i=0;i<=n-1;i++){ String temp=fenxi.nextToken();try { a[i]=Double.parseDouble(temp);sum=sum+a[i];}catch(Exception ee){ count--;}}aver=sum/count;text2.setText(null);text2.append("\n和:"+sum);text2.append("\n平均值:"+aver);}}实验结果抓图及分析:窗口设置计算求和和均值程序使用JTextArea创建了两个文本区,当一个文本区输入数字时,另一个文本区就使用String从前边的文本区中读取数据。
然后进行计算,使用append(String s)方法在结尾加上文本,在另一个文本区中输出结果。
3.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Zuoye3{public static void main(String args[]){Win win=new Win();}}class Win extends JFrame implements KeyListener{JButton b[]=new JButton[8];int x,y;Win(){setLayout(new FlowLayout());for(int i=0;i<8;i++) {b[i]=new JButton(""+i);b[i].addKeyListener(this);add(b[i]);}addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e){ System.exit(0);}});setBounds(10,10,300,300);setVisible(true);validate();}public void keyPressed(KeyEvent e){int moveDistance=1;Component com=(Component)e.getSource();int x=(int)com.getBounds().x;int y=(int)com.getBounds().y;if(e.getKeyCode()==KeyEvent.VK_UP){y=y-moveDistance;com.setLocation(x,y);Rectangle comRect=com.getBounds();for(int k=0;k<b.length;k++){ Rectangle orthRect=b[k].getBounds();if(comRect.intersects(orthRect)&&com!=b[k]){ y=y+moveDistance;com.setLocation(x,y);break;}}if(y<=0) y=10;}else if(e.getKeyCode()==KeyEvent.VK_DOWN){ y=y+moveDistance;com.setLocation(x,y);Rectangle comRect=com.getBounds();for(int k=0;k<b.length;k++){ Rectangle orthRect=b[k].getBounds();if(comRect.intersects(orthRect)&&com!=b[k]) { y=y-moveDistance;com.setLocation(x,y);break;}}if(y>=300) y=300;}else if(e.getKeyCode()==KeyEvent.VK_LEFT){ x=x-moveDistance;com.setLocation(x,y);Rectangle comRect=com.getBounds();for(int k=0;k<b.length;k++){ Rectangle orthRect=b[k].getBounds();if(comRect.intersects(orthRect)&&com!=b[k]) { x=x+moveDistance;com.setLocation(x,y);break;}}if(x<=0) x=0;}else if(e.getKeyCode()==KeyEvent.VK_RIGHT){ x=x+moveDistance;com.setLocation(x,y);Rectangle comRect=com.getBounds();for(int k=0;k<b.length;k++){ Rectangle orthRect=b[k].getBounds();if(comRect.intersects(orthRect)&&com!=b[k]) { x=x-moveDistance;com.setLocation(x,y);break;}}if(x>=300) x=300;}}public void keyTyped(KeyEvent e) {}public void keyReleased(KeyEvent e) {}}实验结果抓图及分析:窗口和按钮设计利用键盘方向键进行移动程序首先使用JButton类创建8个按钮并标号,然后使用keyPressed()方法创建键盘事件。