实验10 指针2 (修复的)
- 格式:doc
- 大小:406.50 KB
- 文档页数:21
第1篇一、实验目的1. 理解指针在排序算法中的应用。
2. 掌握几种常见的排序算法(如冒泡排序、选择排序、插入排序等)的指针实现方式。
3. 比较不同排序算法的效率,分析其优缺点。
二、实验环境1. 操作系统:Windows 102. 编程语言:C++3. 开发环境:Visual Studio 2019三、实验内容本次实验主要实现了以下排序算法:1. 冒泡排序2. 选择排序3. 插入排序以下是对每种排序算法的具体实现和性能分析。
1. 冒泡排序(1)算法原理冒泡排序是一种简单的排序算法。
它重复地遍历待排序的序列,比较每对相邻的元素,如果它们的顺序错误就把它们交换过来。
遍历序列的工作是重复地进行,直到没有再需要交换的元素为止。
(2)指针实现```cppvoid bubbleSort(int arr, int len) {for (int i = 0; i < len - 1; i++) {for (int j = 0; j < len - 1 - i; j++) {if ((arr + j) > (arr + j + 1)) {int temp = (arr + j);(arr + j) = (arr + j + 1);(arr + j + 1) = temp;}}}}```(3)性能分析冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1)。
当待排序序列基本有序时,冒泡排序的性能较好。
2. 选择排序(1)算法原理选择排序是一种简单直观的排序算法。
它的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
以此类推,直到所有元素均排序完毕。
(2)指针实现```cppvoid selectionSort(int arr, int len) {for (int i = 0; i < len - 1; i++) {int minIndex = i;for (int j = i + 1; j < len; j++) {if ((arr + j) < (arr + minIndex)) {minIndex = j;}}int temp = (arr + i);(arr + i) = (arr + minIndex);(arr + minIndex) = temp;}}```(3)性能分析选择排序的时间复杂度为O(n^2),空间复杂度为O(1)。
横河电机株式会社IM 01E20C02-01C-C 第5版i IM 01E20C02-01C-C第4版: 2005年2月(KP)横河电机株式会社 版权所有2003目录1.简介..............................................................................................................1-11.1安全使用电磁流量计............................................................................1-21.2保修.....................................................................................................1-31.3分离型传感器配套................................................................................1-31.4ATEX 文件............................................................................................1-42.操作须知.......................................................................................................2-12.1检查型号和规格...................................................................................2-12.2附件.....................................................................................................2-12.3存放须知..............................................................................................2-12.4安装地点须知.......................................................................................2-23.安装..............................................................................................................3-13.1安装地点..............................................................................................3-13.2安装.....................................................................................................3-14.接线..............................................................................................................4-14.1接线须知..............................................................................................4-14.2电缆.....................................................................................................4-14.3接线口..................................................................................................4-34.4接线.....................................................................................................4-44.4.1打开壳盖.......................................................................................4-44.4.2端子结构.......................................................................................4-44.4.3电源电缆接线须知.........................................................................4-54.4.4直流电源连接................................................................................4-54.4.5接地..............................................................................................4-64.4.6分离型传感器与AXFA14转换器连接.............................................4-64.4.7连接外部仪表................................................................................4-74.4.8安装壳盖.......................................................................................4-85.基本操作步骤(显示单元的使用)...............................................................5-15.1操作面板的构造和功能........................................................................5-15.2显示单元的设置方法............................................................................5-25.2.1显示模式→设置模式.....................................................................5-25.2.2设置模式.......................................................................................5-45.3参数设置步骤.......................................................................................5-45.3.1选择型数据的设置示例:流量单位................................................5-45.3.2数值型数据的设置示例:流量量程................................................5-65.3.3字符数字组合型数据的设置示例:位号........................................5-7ii IM 01E20C02-01C-C6.参数说明.......................................................................................................6-16.1参数.....................................................................................................6-16.2参数列表..............................................................................................6-16.3参数列表总览.......................................................................................6-26.4参数说明............................................................................................6-12(1) 菜单B :快速设置项...........................................................................6-12(2) 菜单C :基本设置项..........................................................................6-15(3) 菜单D :累计值设置项.......................................................................6-17(4) 菜单E :脉冲设置项...........................................................................6-19(5) 菜单F :状态功能设置项....................................................................6-20(6) 菜单G :报警设置项..........................................................................6-26(7) 菜单H :显示设置项..........................................................................6-30(8) 菜单J :辅助功能设置项....................................................................6-30(9) 菜单K :诊断功能设置项...................................................................6-33(10) 菜单M :自动调零功能设置项..........................................................6-33(11) 菜单N :环路测试设置项..................................................................6-34(12) 菜单P :参数保护项.........................................................................6-346.5报警功能............................................................................................6-356.5.1报警级别.....................................................................................6-356.5.2报警选择.....................................................................................6-366.5.3报警和警告提示..........................................................................6-386.6AXF 一体型流量计须知.......................................................................6-407.使用智能终端(BT200)进行操作............................................................7-17.1BT200基本操作...................................................................................7-17.1.1键盘布置及显示............................................................................7-17.1.2按键说明.......................................................................................7-17.2使用BT200操作AXFA14......................................................................7-37.2.1BT200连线....................................................................................7-37.2.2BT200的数据更新和上传下载功能................................................7-37.2.3BT200界面和流量数据显示...........................................................7-47.3使用BT200进行参数设置.....................................................................7-47.3.1BT200选择型数据的设置:流量单位............................................7-57.3.2BT200数字型数据的设置:流量量程............................................7-67.3.3BT200字符数字组合型数据的设置:位号.....................................7-78.使用HART 手操器进行操作...........................................................................8-18.1通讯线路状况.......................................................................................8-28.1.1AXFA14和HART 手操器之间的连接..............................................8-28.1.2通讯线路要求................................................................................8-28.2HART 手操器(275型)的基本操作.....................................................8-38.2.1键盘布置和功能............................................................................8-38.2.2显示..............................................................................................8-48.2.3调入菜单地址................................................................................8-48.2.4输入、设置和发送数据..................................................................8-58.3参数.....................................................................................................8-58.3.1参数结构.......................................................................................8-58.3.2数据更新.......................................................................................8-58.3.3问题检查.......................................................................................8-68.3.4设置参数.......................................................................................8-68.3.5菜单树.........................................................................................8-21iii IM 01E20C02-01C-C9.实际操作.......................................................................................................9-19.1运行前调零..........................................................................................9-19.1.1利用显示单元开关进行调零..........................................................9-29.1.2通过外部状态输入进行调零操作...................................................9-310.维修............................................................................................................10-110.1零部件更换........................................................................................10-110.1.1更换保险丝..................................................................................10-110.1.2更换显示单元..............................................................................10-210.1.3更换放大器..................................................................................10-310.2开关设置............................................................................................10-410.2.1设置熔断开关..............................................................................10-410.2.2设置写保护开关..........................................................................10-410.3故障检修............................................................................................10-510.3.1无指示.........................................................................................10-510.3.2零点不稳定..................................................................................10-610.3.3显示与实际流量不一致................................................................10-711.概述............................................................................................................11-112.防爆型仪表.................................................................................................12-112.1CENELEC ATEX (KEMA).................................................................12-112.2FM .....................................................................................................12-212.3CSA ...................................................................................................12-312.4TIIS....................................................................................................12-4TIIS 防火设备的安装和操作注意事项...........................................................EX-B03E1.概述 (1)2.防爆结构防火型电气设备 (1)3.术语 (1)4.防火设备的安装 (2)5.防火设备的外部接线 (2)6.防火设备的维修 (3)7.防火型电缆接入设备的选择....................................................................31.简介本仪表在出厂前已经过全面调试。
《计算机维护维修》实验指导教案第一篇:《计算机维护维修》实验指导教案实验一计算机组件认识实验目的:认识计算机的基本硬件;了解计算机组成原理;认识计算机内部各部件的形状;认识计算机内部各插座连线。
实验器材:计算机20台(组装机)及相应拆装工具。
实验步骤:根据实物,介绍如何识别计算机的CPU、主板、内存、显卡、声卡、网卡、硬盘、软驱、光驱、显示器、键盘和鼠标等基本部件。
并抄录型号和编号。
(1)CPU型号:intel的celeron系列;主频:667MHZ;L1 cache 为64k, L2cache为128k,散热方式:风扇。
(2)主板型号:华硕主板;北桥和南桥型号。
(3)内存:容量,速度及标准。
(4)显卡:是否集成;显示芯片型号及工作频率,RAMDAC速度。
(5)声卡:集成AC’97 声音规范。
(6)网卡:10 M/100M标准规范。
(7)硬盘:IBM桌面之星40G。
(8)LG 52倍速(9)显示器:联想15英寸等实验总结:通过实验,认识了计算机内部各部件的形状,掌握了计算机硬件的组成原理,掌握了计算机内部各插座连线,并能通过理论,加深了对计算机工作原理的认识。
实验二计算机硬件安装实验目的:通过实验进一步了解计算机各部件的作用及各个部件的相互关系与位置,认识计算机内部各部件的形状及插座连线,提高学生动手操作能力。
实验器材:计算机20台(组装机)及相应拆装工具。
实验步骤:1、先由教师示范,然后在教师的指导下进行实验,需经教师检查后方可通电试机。
2、注意事项(1)断电操作。
在安装或插拔各种配件及连接电缆时,一定要断电,否则容易损坏部件;(2)防静电处理。
为了防止因静电而损坏集成芯片,在用手触碰主板或其他板卡之前应先触摸水管等金属物体,放掉身上的静电;(3)在组装过程中,对各种板卡、配件要轻拿轻放,禁止用力过猛;(4)使用钳子和螺丝刀等工具时,注意不要划伤线路板;(5)首次测试计算机时,若发生异常情况应立即关机检查。
选择题1. C 语句 x *=y +2;可以写作_____B___。
A 、x =y +2B 、x =x *(y +2);C 、x =2+y * x;D 、x =x * y +2;2. 下列运算符中优先级最高的是______A__。
A 、>=B 、=C 、||D 、-=3. 在一个C 程序中,A 。
A 、main 函数可以在任何函数之间出现B 、main 函数必须出现在所有函数之后C 、main 函数必须出现在所有函数之前D 、main 函数必须出现在固定位置4. C 语言程序的三种基本结构是_A_______。
A 、顺序、选择、循环 B 、选择、递归、循环 C 、顺序、循环、子程序 D 、嵌套、选择、循环A 、doubleB 、floatC 、intD 、char 6. 字符型常量在内存中存放的是该字符对应的D 。
A 、BCD 代码值B 、内部码值C 、十进制代码值D 、ASCII 代码值7. 下列说法中正确的是D 。
A 、C 语言程序总是从第一个函数开始执行B 、在C 语言程序中,要调用的函数必须在main()函数中定义 C 、C 语言程序中的main()函数必须放在程序的开始部分D 、C 语言程序总是从main()函数开始执行8. 若变量已正确定义,要将a 和b 中的数进行交换,下列选项中不正确的是B 。
A 、t =a ,a =b ,b =t ; B 、a =t ;t =b ;b =a;C、t=b;b=a;a=t;D、a=a+b,b=a - b,a=a - b;9.完成C源程序编辑后,到生成执行文件,C语言处理系统必须执行的步骤依次为_B_______。
A、连接、运行B、编译、连接C、运行D、连接、编译10.若有说明和语句:int a=5,b;b=a++;此处变量b的值是C。
A、6B、4kC、5D、711.下面不是C语言整型常量的是D。
A、-32768B、01C、0x11D、08112. sizeof(double)是一个_____A___。
操作系统实验报告专业计算机科学与技术年级本科三年级学号 ******** 姓名樊文舟目录:一、实验一 ---------------------------------------------31.实验目的-----------------------------------------------------------32.实验内容-----------------------------------------------------------33.实验要求-----------------------------------------------------------34.实验设计-----------------------------------------------------------35.实验程序-----------------------------------------------------------36.实验结果-----------------------------------------------------------47.实验感想-----------------------------------------------------------4二、实验二 ---------------------------------------------41.实验目的-----------------------------------------------------------52.实验内容-----------------------------------------------------------53.实验要求-----------------------------------------------------------54.实验设计-----------------------------------------------------------55.实验程序-----------------------------------------------------------66.实验结果-----------------------------------------------------------77.实验感想-----------------------------------------------------------7三、实验三 ---------------------------------------------81.实验目的-----------------------------------------------------------82.实验内容-----------------------------------------------------------83.实验要求-----------------------------------------------------------84.实验设计-----------------------------------------------------------95.实验程序-----------------------------------------------------------106.实验结果-----------------------------------------------------------117.实验感想-----------------------------------------------------------11四、实验四 ---------------------------------------------121.实验目的-----------------------------------------------------------122.实验内容-----------------------------------------------------------123.实验要求-----------------------------------------------------------124.实验设计-----------------------------------------------------------125.实验结果-----------------------------------------------------------126.实验感想-----------------------------------------------------------12 个人总结---------------------------------------------12实验一 UNIX/LINUX入门一、实验目的了解UNIX/LINUX运行环境,熟悉UNIX/LINUX的常用基本命令,熟悉和掌握UNIX/LINUX 下C语言程序的编写、编译、调试和运行方法。
《操作系统原理》实验报告班级::学号:指导老师:目录:实验题目:实验一线程创建与撤销 (2)实验题目:实验二线程同步 (6)实验题目:实验三线程互斥 (11)实验题目:实验四进程通信 (17)实验题目:实验五读者-写者问题 (22)实验题目:实验六进程调度 (38)实验题目:实验七存储管理之动态库 (52)实验题目:实验八存储管理之存分配 (57)实验题目:实验九存储管理之页面置换算法 (70)实验题目:实验十设备管理 (85)实验题目:实验十一文件管理之文件读写 (99)实验题目:实验一线程创建与撤销完成人:XXX报告日期:2018年3月31日一、实验容简要描述(1)熟悉VC++、Visual Studio开发环境。
(2)使用相关函数创建和撤销线程。
(3)在一个进程中创建3个线程,名字分别为threada、threadb、threadc。
threada输出“hello world! ”。
threadb输出“My name is …”。
threadc输出“Please wait…”,然后sleep 5秒钟,接着输出“I wake up”。
二、程序设计1、设计思路该函数创建一个在调用进程的地址空间中执行的线程。
2、主要数据结构HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes,DWORD dwStackSize,LPTHREAD_START_ROUTINE lpStartAddress,LPVOID lpParameter,DWORD dwCreationFlags,LPDWORD lpThreadId);VOID ExitThread(DWORD dwExitCode);VOID Sleep(DWORD dwMilliseconds);VOID Sleep(DWORD dwMilliseconds);三、实验结果1、基本数据lpThreadAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承。
PS完整版实验报告第一篇:PS完整版实验报告实验一工具箱及图层面板的使用实验学时:4学时一、实验目的1.熟练掌握Photoshop工具箱中各种工具的使用方法。
2.重点掌握选框工具、磁性套索工具、修复工具、渐变工具的使用。
3.对图层面板有一个初步的认识。
二、实验原理1.选框工具:矩形选框工具、椭圆选框工具、单行(列)选框工具及参数设置:[新选区]:当按下此按钮时,矩形选取工具处于正常的工作状态。
此时,只能在图像上建立一个选区,当再建立第二个选区时,第一个选区将消失。
所以,在这种状态下,可以用选取新选区的方法来取消当前的选区。
[添加到选区]:当按下此按钮时,矩形选取工具处于相加工作状态。
此时,如果已有一个选区,当再建立第二个选区时,第一个选区将和第二个选区相加,形成更大的选择范围。
[从选区减去]:当按下此按钮时,矩形选取工具处于相减工作状态。
此时,如果已有一个选区,当再建立第二个选区且有相交部分时,第一个选区将减去第二个选区,原来的选择区域将缩小,相当于用第二个选区切掉了第一个选区的一部分。
[与选区相交]:当按下此按钮时,矩形选取工具处于相交工作状态。
此时,如果已有一个选区,当再建立第二个选区且两个选区有相交部分时,两个选区将进行相交操作,即最后只剩下相交的区域。
矩形选取工具选项栏上的[羽化]为羽化值,这是选取工具的一个重要参数。
设置羽化值后,可以使选区变得柔和。
此参数值越大,选区越柔和。
除此之外,在矩形选取工具选项栏上还有一个[样式]下拉列表框。
单击[样式]下拉按钮,会弹出一个列表框。
该列表有三个选项,各选项意义如下:[标准]:系统的默认选项。
当选取此项时,可以制作任意形状的矩形选区。
[约束长宽比]:当选取此项时,其后面的[宽度]和[高度]框变为可用,可以在框中分别填入一个整数值,然后用矩形选取工具在图像上制作一个选区。
此时建立的选区将受所设定比例的限制。
[固定尺寸]:当选取此项时,其后面的[宽度]和[高度]框也变为可用,可以在框中分别填入一个整数值来精确指定所建立选区的宽度和高度。
实验一清零程序一、实验目的(1)掌握汇编语言设计和调试方法;(2)熟悉MCS-51 单片机实验系统。
二、实验内容把c000H~c0FFH的内容清零。
三、程序框图清零四、实验步骤用连续或单步方式运行程序,检查C000~C0FF中执行程序前后的内容变化。
五、思考(1)对于清零程序,假使把C000H~C0FFH中的内容改成FF,如何修改本程序?(2)如何用断点方式调试程序?实验二拆字程序一、实验目的(1)掌握汇编语言设计和调试方法;(2)熟悉MCS-51 单片机实验系统。
二、实验内容把C000H的内容拆开,高位送C001H低位,低位送C002H低位,C001H、C002H 高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图拆字四、实验步骤程序一:用连续或单步方式运行程序,检查C000~C002H中内容变化情况。
程序二:单步或用断点方式运行程序,检查C002H内容变化情况。
五、思考编写程序:把C000H、C001H的低位分别送入C002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
实验三数据区传送程序(综合性)一、实验目的(1)掌握RAM中的数据操作;(2)熟悉8031(8051)指令系统,掌握程序设计方法。
二、实验内容把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。
三、程序框图数据区传送四、实验步骤在R2、R3中输入源首址(例如c000H),R4、R5中输入目的地址(例如D000H),R6、R7中输入字节数(例如0FFFH),运行程序,检查C000~CFFFH中内容是否和D000~DFFFH 中内容完全一致。
一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。
二、实验预备知识本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
对于延时程序DELAY: MOV R6,#00HDELAY1:MOV R7,#80HDJNZ R7,﹩DJNZ R6,DELAY1MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/6.0MHZ,所以该段指令执行时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms。
微型计算机原理与接口技术(第5 版)课后答案及问题墙第一章绪论{崔文韬问}:课后习题第一题,二进制数与十进制数转换。
{崔文韬答}: 11001010B=202D,00111101B=61D,01001101B=77D,10100100B=164D。
{崔文韬问}:课后习题第二题,16 进制数与十进制数转换。
{崔文韬答}:12CH=300D,0FFH=255,3A8DH=14989D,5BEH=1470D{崔文韬问}:课后习题第三题,十进制数转化为二进制数和16 进制数。
{杨艺答}:25D=19H=00011001B,76D=4CH=01001100B,128D=100H=00000001 00000000B,134D=106H=00000001 00000110B{ 杨艺答}:128D=80H=10000000B,134D=86H=10000110B{崔文韬问}:课后习题第四题,写出10 进制数的BCD 码{杨艺答}:327D=(0011 0010 0111)BCD,1256D=(0001 0011 0101 0110)BCD{杨艺答}:1256D=(0001 0010 0101 0110)BCD{崔文韬问}:英文单词About 的ASCII 码{沙猛答}:3935H{王金鑫改}:41H,62H,6FH,75H,74H{崔文韬问}:数字95 的ASCII 码{王金鑫答}:39H,35H{崔文韬问}:课后习题第六题:10 进制数的原码、补码、反码{杨艺答}:【+42】原=00101010B=【+42】反=【+42】补【-42】原=10101010B,【-42】反=11010101B,【-42】补=11010110B【+85】原=01010101B=【+85】反=【+85】补【-85】原=11010101B,【-85】反=10101010B,【-85】补=10101011B{崔文韬问}:机器语言或者机器码(Machine Code),汇编语言(Assemble Language),高级语言的定义{沙猛答}:机器码:计算机只认得二进制数码,计算机中的所有指令都必须用二进制表示,这种用二进制表示的指令称为机器码。
北邮实验报告封面篇一:北邮通原实验报告北京邮电大学通信原理实验报告班级:xxxxxxxx 专业:xxxxxx 姓名:xxxx 学号:xxxxx 同组人:xxxx目录通信原理实验报告 ................................................ ................................................... (1)实验一:双边带抑制载波调幅(DSB-AM) ........................................ (3)一、实验目的: .............................................. ................................................... . (3)二、实验系统框................................................... .. (3)三、实验步骤: .............................................. ................................................... . (4)四、实验结果: .............................................. ................................................... . (6)2.3 实验二:具有离散大载波的双边带调幅(AM) ............................................ .. (12)一、实验目的: .............................................. ................................................... .. (12)二、实验系统框图: .............................................. (12)三、实验步骤: .............................................. ................................................... .. (13)四、实验结果: .............................................. ................................................... .. (13)思考题: .............................................. ................................................... .. (17)实验三:调频(FM) ............................................ ................................................... (18)一、实验目的: .............................................. (18)二、实验系统框图: .............................................. ................................................... (18)三、实验步骤: .............................................. ................................................... .. (18)四、实验结果: .............................................. ................................................... .. (19)思考题: .............................................. ................................................... .. (21)实验六:眼图 ................................................ (23)实验目的 ................................................ ................................................... (23)实验步骤 ................................................ ................................................... (23)实验结果 ................................................ ................................................... (23)实验七:采样、判决 ................................................ ................................................... (24)实验目的 ................................................ (24)实验步骤 ................................................ ................................................... (24)实验结果 ................................................ ................................................... (24)实验总结: .............................................. ................................................... .. 错误!未定义书签。
C语言程序设计实验报告实验名称指针实验一、实验目的1.熟练掌握指针的说明、赋值、使用。
2.掌握用指针引用数组的元素,熟悉指向数组的指针的使用。
3.熟练掌握字符数组与字符串的使用,掌握指针数组及字符指针数组的用法。
4.掌握指针函数与函数指针的用法。
二、实验任务1.源程序改错题下面程序是否存在错误?如果存在,原因是什么?如果存在错误,要求在计算机上对这个例子程序进行调试修改,使之能够正确执行。
#include "stdio.h"int main(void){float *p;scanf("%f",p);printf("%f\n",*p);return 0;}2.源程序完善、修改、替换题(1)下面的程序通过函数指针和菜单选择来调用字符串拷贝函数或字符串连接函数,请在下划线处填写合适的表达式、语句、或代码片段来完善该程序。
#include "stdio.h"#include "string.h"int main(void){char a[80],b[80],c[160],*result=c;int choice,i;do{printf("\t\t1 copy string.\n");printf("\t\t2 connect string.\n");printf("\t\t3 exit.\n");printf("\t\tinput a number (1-3) please!\n");scanf("%d",&choice);}while(choice<1 || choice>5);switch(choice){case 1:p=strcpy;break;case 2:p=strcat;break;case 3:goto down;}getchar();printf("input the first string please!\n");i=0;printf("input the second string please!\n");i=0;result= (a,b);printf("the result is %s\n",result);down:;return 0;}(2)为了使程序不受scanf、getchar、gets等函数输入后回车符的影响,请修改第(1)题程序,按要求输出下面结果:((输入)表示该数据是键盘输入数据)1 copy string.2 connect string.3 exit.input a number (1-3) please!2 (输入)input the first string please!the more you learn, (输入)input the second string please!the more you get. (输入)the result is the more you learn,the more you get.3.跟踪调试源程序#include "stdio.h"char *strcpy(char *,char *);int main(void){char a[20],b[60]="there is a boat on the lake.";printf("%s\n",strcpy(a,b));}char *strcpy(char *s,char *t){while(*s++=*t++);return (s);}(1)单步执行。
班级学号姓名实验日期实验一两个多位十进制数相加实验一、实验目的1.熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。
2.掌握数据传送、算术运算、BCD码调整和循环指令的用法,掌握字符显示的方法。
3.熟悉和掌握用DEBUG调试程序的方法。
二、实验内容1.将两个5位十进制数相加,要求被加数(本题选47193)和加数(本题选28056)均以ASCII码形式各自顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回以DATA3为首的5个内存单元中(低位在前),并显示相加的结果。
2.将第1题改为(高位在前)的形式存放数据,程序如何修改?3.上述程序只显示了相加的结果,没有显示被加数和加数,如果在第1题的基础上将显示格式改为47193+28056=75249,则程序如何修改?4.上面程序没有考虑运算结果最高位有进位的情况,如果考虑可能产生的进位,则要显示完整的结果,程序如何修改?(提示:INC和LOOP指令均不影响CF)三、实验要求1.实验内容1、内容2为基础题,必须做,完成后可得7分。
2.实验内容3为提高题,完成后可再加2分.3.实验内容4为提高题,完成后可再加1分。
四、实验程序和结果1.将两个5位十进制数相加,要求被加数(本题选47193)和加数(本题选28056)均以ASCII码形式各自顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回以DATA3为首的5个内存单元中(低位在前),并显示相加的结果。
DATA SEGMENTDATA1 DB 33H,39H,31H,37H,34H ;存放被加数47193,ASCII码形式,低位在前DATA2 DB 36H,35H,30H,38H,32H ;存放加数28056,ASCII码形式,低位在前DATA3 DB 5 DUP(?);留出5个存放结果的单元DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX,5 ;循环次数置5,5个位要相加5次MOV SI,0 ;SI放地址位移量,每个数的第一字节地址位移量为0CLC ;CF清0,防止第1个字节相加时ADC指令多加CF中可能的1 NEXT:MOV AL,DATA1[SI];取被加数一个字节送AL,DATA1偏移地址+SI为有效地址ADC AL,DATA2[SI] ;AL+加数对应字节+CF(低位相加时可能的进位)结果送ALAAA ;AL中两字节相加的和调整成非压缩的BCD码,进位在CF中MOV DATA3[SI],AL ;结果送入DATA3对应字节单元中INC SI ;地址位移量加1指向高一位字节单元LOOP NEXT ;5次未到,继续循环MOV SI,5 ;显示5个位,SI中的数既是循环次数又作地址位移量DISP:ADD DATA3[SI—1],30H ;将结果从高位单元开始把非压缩的BCD码变成ASCII码 MOV DL,DATA3[SI—1];将ASCII码送DL以满足2号功能调用的规定要求MOV AH,2 ;功能号送AHINT 21H ;调用2号功能,显示一位数字DEC SI ;次数减1JNZ DISP ;5次未到,继续循环MOV AH,4CH ;功能号送AHINT 21H ;调用4CH号功能,返回DOSCODE ENDSEND START运行结果:752492.将第1题改为(高位在前)的形式存放数据,程序如何修改?(要求给出程序、注释、运行结果) 五、实验总结和体会班级学号姓名实验日期实验二字符串匹配实验一、实验目的1.掌握提示信息的使用方法及键盘输入字符串的用法。
微机检测与维修实验报告(优秀范文5篇)第一篇:微机检测与维修实验报告ν更多企业学院:《中小企业管理全能版》 183 套讲座+89700 份资料《总经理、高层管理》 49 套讲座+16388 份资料《中层管理学院》 46 套讲座+6020 份资料《国学智慧、易经》 46 套讲座《人力资源学院》 56 套讲座+27123 份资料《各阶段员工培训学院》 77 套讲座+ 324 份资料《员工管理企业学院》 67 套讲座+ 8720 份资料《工厂生产管理学院》 52 套讲座+ 13920 份资料《财务管理学院》 53 套讲座+ 17945 份资料《销售经理学院》 56 套讲座+ 14350 份资料《销售人员培训学院》 72 套讲座+ 4879 份资料ν更多企业学院:《中小企业管理全能版》 183 套讲座+89700 份资料《总经理、高层管理》 49 套讲座+16388 份资料《中层管理学院》 46 套讲座+6020 份资料《国学智慧、易经》 46 套讲座《人力资源学院》 56 套讲座+27123 份资料《各阶段员工培训学院》 77 套讲座+ 324 份资料《员工管理企业学院》 67 套讲座+ 8720 份资料《工厂生产管理学院》 52 套讲座+ 13920 份资料《财务管理学院》 53 套讲座+ 17945 份资料《销售经理学院》 56 套讲座+ 14350 份资料《销售人员培训学院》 72 套讲座+ 4879 份资料ν更多企业学院:《中小企业管理全能版》 183 套讲座+89700 份资料《总经理、高层管理》 49 套讲座+16388 份资料《中层管理学院》 46 套讲座+6020 份资料《国学智慧、易经》 46 套讲座《人力资源学院》 56 套讲座+27123 份资料《各阶段员工培训学院》 77 套讲座+ 324 份资料《员工管理企业学院》 67 套讲座+ 8720 份资料《工厂生产管理学院》 52 套讲座+ 13920 份资料《财务管理学院》 53 套讲座+ 17945 份资料《销售经理学院》 56 套讲座+ 14350 份资料《销售人员培训学院》 72 套讲座+ 4879 份资料江西科技师范学院实验报告课程微机的检测与维修院系教育学院班级教育技术学学号20092295姓名邓单单报告规格一、实验目的二、实验原理三、实验仪器四、实验方法及步骤五、实验记录及数据处理六、误差分析及问题讨论目目录1.计算机硬件组装2.BIOS_CMOS解析与应用3.4.5.6.7.8.9.10.11.12.13.14.15.每次实验课必须带上此本子,以便教师检查预习情况和记录实验原始数据。
《C语言程序设计》实验报告实验时间: 6月7号实验班级:计算机双学位1501实验报告总份(片)数: 1 份(片) 实验教师:饶东宁计算机学院工一实验室广东工业大学《C语言程序设计》实验报告实验题目: 实验10实验时间: 6月7号实验班级:双学位1501实验人学号: 3213010359实验人姓名:梁雪卿实验教师:饶东宁计算机学院工一实验室广东工业大学实验10 指针21 实验目得(1)进一步掌握指针得应用(2)能正确使用数组得指针与指向数组得指针变量(3)能正确使用字符串得指针与指向字符串得指针变量(4)了解指向指针得指针得用法2 实验内容根据题目要求,编写程序(要求用指针处理),运行程序,分析结果,并进行必要得讨论分析。
(1)有n个人围成一圈,顺序排号。
从第一个人开始报数(从1到3报数),凡报到3得人退出圈子,问最后留下得就是原来得第几号得人。
算法说明:#include <stdio、h>int main{int i,k,m,n,num[50],*p; scanf("n=%d",&n);p=num;for(i=0;i<n;i++)*(p+i)=i+1;i=0;k=0;m=0;while(m<n1){if(*(p+1)!=0) k++;if(k==3){*(p+i)=0;k=0;m++;}i++;if(i==n) i=0;}while(*p==0) p++;printf("The last one is NO、%d\n",*p);return 0;}运行结果:分析与思考:以1到n为序给每个人编号,i为每次循环时计数变量,k为按1,2,3报数时得计数变量,m为退出人数,当退出人数比n1少时执行循环体,对推村恩编号为0,报数到尾i恢复为0,循环继续。
(2)将一个5*5得矩阵(二维数组)中最大元素放在中心,4个角分别放4个最小得元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。
用main函数调用。
算法说明:change(int *p)程序清单:#include <stdio、h>int main{void change(int *p);int a[5][5],i,j,*q;for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);q=&a[0][0];change(q);for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d ",a[i][j]);printf("\n");}return 0;}void change(int *p){int i,j,temp;int *pmax,*pmin;pmax=p;pmin=p;for(i=0;i<5;i++){for(j=0;j<5;j++){if(*pmax<*(p+i*5+j)) pmax=p+i*5+j;if(*pmin>*(p+5*i+j)) pmin=p+i*5+j; }}temp=*(p+12);*(p+12)=*pmax;*pmax=temp;temp=*p;*p=*pmin;*pmin=temp;pmin=p+1;for(i=0;i<5;i++){for(j=0;j<5;j++){if(i==0&&j==0) continue;if(*pmin>*(p+5*i+j)) pmin=p+5*i+j;}}temp=*pmin;*pmin=*(p+4);*(p+4)=temp;pmin=p+1;for(i=0;i<5;i++){for(j=0;j<5;j++){if((i==0&&j==0)||(i==0&&j==4)) continue; if(*pmin>*(p+5*i+j)) pmin=p+5*i+j;}}temp=*pmin;*pmin=*(p+20);*(p+20)=temp;pmin=p+1;for(i=0;i<5;i++){for(j=0;j<5;j++){if((i==0&&j==0)||(i==0&&j==4)||(i==4&&j==0)) continue;if(*pmin>*(p+5*i+j)) pmin=p+5*i+j;}}temp=*pmin;*pmin=*(p+24);*(p+24)=temp;}运行结果:分析与思考:change函数实现元素值交换。
找出最大最小之,最大值与中心元素呼唤,最小值与左上角得元素互换。
找出全部元素中得次小值,第三小值,第四小值,分别与剩下得三个角互换。
元素地址均以元素做单位得地址。
(3)有一个班4个学生,5门课程。
1,求第一门课程得平均分。
2,找出有两门以上课程不及格得学生,输出她们得学号与全部课程成绩及平军成绩。
3,找出平均成绩在90分以上或全部课程成绩在85分以上得学生。
分别编3个函数实现以上3个要求。
算法说明:avsco程序清单:#include <stdio、h>int main{void avsco(float *,float *);void avcour1(char (*)[10],float *);void fali2(char course[5][10],int num[],float *pscore,float aver[4]);void good(char course[5][10],int num[4],float *pscore,float aver[4]);int i,j,*pnum,num[4];float score[4][5],aver[4],*pscore,*paver; char course[5][10],(*pcourse)[10];printf("input course:\n");pcourse=course;for(i=0;i<5;i++)scanf("%s",course[i]);printf("input NO、 and scores:\n");printf("NO、");for(i=0;i<5;i++)printf(",%s",course[i]);printf("\n");pscore=&score[0][0];pnum=&num[0];for(i=0;i<4;i++){scanf("%d",pnum+i);for(j=0;j<5;j++)scanf("%f",pscore+5*i+j);}paver=&aver[0];printf("\n\n");avsco(pscore,paver);avcour1(pcourse,pscore);printf("\n\n");fali2(pcourse,pnum,pscore,paver);printf("\n\n");good(pcourse,pnum,pscore,paver);return 0;}void avsco(float *pscore,float *paver){int i,j;float sum,average;for(i=0;i<4;i++){sum=0、0;for(j=0;j<5;j++)sum=sum+(*(pscore+5*i+j));average=sum/5;*(paver+i)=average;}}void avcour1(char (*pcourse)[10],float *pscore) {int i;float sum,average1;sum=0、0;for(i=0;i<4;i++)sum=sum+(*(pscore+5*i));average1=sum/4;printf("course 1:%s average score:%7、2f\n",*pcourse,average1);}void fali2(char course[5][10],int num[],float *pscore,float aver[4]){int i,j,k,label;printf(" ==============Student who is fail in two course========== \n");printf("NO、 ");for(i=0;i<5;i++)printf("%11s",course[i]);printf(" average\n");for(i=0;i<4;i++){label=0;for(j=0;j<5;j++)if(*(pscore+5*i+j)<60、0) label++;if(label>=2){printf("%d",num[i]);printf("%11、2f",*(pscore+5*i+k));printf("%11、2f\n",aver[i]);}}}void good(char course[5][10],int num[4],float *pscore,float aver[4]){int i,j,k,n;printf(" ==========Students whose score is good====== \n");printf("NO、 ");for(i=0;i<5;i++)printf("%11s",course[i]);printf(" average\n");for(i=0;i<4;i++){n=0;for(j=0;j<5;j++)if(*(pscore+5*i+j)>85、0) n++;if((n==5)||(aver[i]>=90)){printf("%d",num[i]);printf("%11、2f",*(pscore+5*i+k));printf("%11、2f\n",aver[i]);}}}运行结果:分析与思考:num就是存放4个学生学号得一维数组,course就是存放5门课名字得二维字符数组,score就是存放4 个学生5门课成绩得二维数组,aver就是存放每个学生平时成绩得数组。