文档库 最新最全的文档下载
当前位置:文档库 › 实验3和4

实验3和4

实验3和4
实验3和4

《计算机组成与系统结构》编程实验

第三、四章

为了更好地从程序员角度理解计算机组成和系统结构的内容,我们设计了一组编程实验,这些实验与本课程所学内容密切相关。希望各位同学认真完成,可以相互讨论,但不能抄袭。如果抽查发现哪位同学抄袭的话,取消平时成绩。

(1)实验要求用标准C(ANSI C)语言实现;

(2)实验报告以doc或pdf格式撰写,具体内容详见每个实验要求;

(3)实验报告文件命名规则请统一为:学号+姓名+实验N

(例如“09…001张三实验1.doc”“09…025李四实验2.pdf”)(4)本批实验报告请在2011.1.5之前email给yangry@https://www.wendangku.net/doc/0215223640.html,

实验五类型转换(第3章)

实验目的:了解高级语言中数据类型的转换及其在运算中的作用,从而能更好地理解指令系统设计和计算机硬件设计所需满足的要求和需要考虑的问题。

实验要求:,编程实现以下各种操作:

(1)给定一个int型数据-2147483648,分别转换为unsigned int、unsigned short、short、float类型的数据;

(2)给定一个short 型数据-12335,按顺序先后转换为int、unsigned short 、unsigned int、int、float类型的数据;(即前一次转换的结果作为下一次转

换的输入)

(3)给定一个float型数据123456.789e5,按顺序先后转换成double型数据和float型数据;(要求同(2))

(4)计算表达式“100/3”,“100.0/3”和“100/3.0”“—2147483648<0”的值;

要求分别用十进制和十六进制形式输出以上各种操作的结果。

实验报告:

1.给出源程序(文本文件)和执行结果。

2.根据实验结果,回答下列问题。

(1)无符号数和带符号整数的扩展操作方式是否相同?各是如何进行的?

(2)补码整数(如int或short型数)是否总能转换为等值的float类型数据?为什么?(3)float型数据是否总能转换成等值的double型数据?为什么?

(4)长数被截断成短数后可能发生什么现象?为什么?

(5)在你所用的机器和编译环境上,自动的类型转换如何完成?你如何得到该结论的?

实验六整数和浮点数的运算-1(第3章)

实验目的:通过检查高级语言中数据运算的不同结果,进一步理解机器代码在CPU中的执行过程,从而为更好地学习指令系统设计和CPU设计打下良好的基础。

实验要求:编程计算下列表达式的值:

(1)unsigned int型数据:1+4294967295=?;1-4294967295=?

(2)int型数据:2147483647+1=?;-2147483648-1=?

(3)float型数据:(1.0 + 123456.789e30) + (-123456.789e30) = ?;

1.0 + (123456.789e30 + (- 123456.789e30)) = ?

(4)按short和unsigned short类型分别对-12345进行左移2位和右移2位操作。

要求分别用十进制和十六进制形式显示各种操作的结果。

实验报告:

1.给出源程序(文本文件)和执行结果。

2.有关(1)-(3)中的算术运算,请分别给出每个运算结果的解释说明,

3.有关(4)中的移位运算,请回答以下问题。

a)C语言中移位操作规则与操作对象的数据类型有关吗?

b)左移2位和右移2位操作分别相当于扩大和缩小几倍?

实验七整数和浮点数的运算-2(第3章)

实验目的:通过检查高级语言中数据运算的不同结果,进一步理解机器代码在CPU中的执行过程,从而为更好地学习指令系统设计和CPU设计打下良好的基础。

实验要求:编译并运行以下两组程序(第一组仅包含1个程序,第二组包含2个类似的程序)。--------------------------------------------------------(1)-----------------------------------------------------

void main()

{ float x = 55.001;

float y = 54.001;

float z = 1.0;

for (int i=0; i<10; i++)

{

if ((x-y)==z)

printf("equal\n");

else

printf("not equal\n");

x += z;

y += z;

}

}

--------------------------------------------------------(2)-----------------------------------------------------

程序A:

double f(int x)

{ return 1.0 / x ; } void main()

{ double a , b;

int i ;

a = f(10) ;

b = f(10) ;

i = a == b ;

printf( "%d\n" , i ) ; } 程序B:

double f(int x)

{ return 1.0 / x ; }

void main()

{ double a , b , c;

int i ;

a = f(10) ;

b = f(10) ;

c = f(10) ;

i = a == b ;

printf( "%d\n" , i ) ; }

实验报告:

1.给出执行结果输出的程序截图。

2.程序(1)中每次循环的输出结果是否一致,为什么?

3.程序(2)中A和B的结果是否一致,为什么?

4.(1)实验七的代码1中, 循环次数请不必限于10,至少扩大到100,或任意你想要的数值,然

后按你自己的实验结果进行说明. 很抱歉之前的题目给错了

5.(2)实验七的代码2, 也请按你自己的实验结果给出说明(最好在报告中说明你使用的实验

环境), 如果可能的话, 可在理论上进行另一种情况的分析.

实验八cache和程序访问的局部性(第4章)

实验目的:通过实际程序的执行结果,了解程序访问的局部性对带有cache的计算机系统性能的影响。

实验要求:在以下程序中,修改或添加必要的语句(如添加计时函数等),以计算和输出主体程序段(即for循环段)的执行时间。然后分别以(M=10,N=100000)、(M=1000,N=1000)、(M=100000,N=10),执行并比较程序A和程序B中for循环段执行时间的长短。另外,下列程序中给出的数组a是局部临时变量,分配在栈中,还可改用静态全局变量,或在堆中动态申请空间。

程序段A

assign-array-rows ( )

{

int i, j;

short a[M][N];

……

for (i= 0; i

for (j= 0; j

a[i][j]=0;

……

} 程序段B

assign-array-cols ( )

{

int i, j;

short a[M][N];

……

for (j= 0; j

for (i=0; i

a[i][j]=0;

……

}

实验报告:

1.给出源程序(文本文件)和执行结果。

2.对实验结果进行分析,说明局部数据块大小、数组访问顺序等和执行时间之间的关系。分析说明数组a分配在静态存储区、堆区和栈区,对for循环段的执行效率有没有影响。

互换性与技术测量实验报告

《互换性与技术测量》实验报告 机械工程基础实验室 技术测量室编 年级 班级 姓名 实验名称及目录: 实验一、尺寸测量 实验1—1、轴的测量 实验1—2、孔的测量 实验二、形位误差测量 实验2—1、直线度误差的测量 实验2—2、平行度误差、平面度误差测量 实验三、表面粗糙度测量、螺纹测量 实验3—1、表面粗糙度的测量 实验3—2、螺纹中径、螺距及牙形半角的测量实验四、齿轮测量 实验4—1、直齿圆柱齿轮公法线的测量 实验4—2、直齿圆柱齿轮齿厚偏差的测量

一、实验目的 三、被测零件: 四、测量示意图: 七、测量数据分析并判断被测零件是否合格; 八、思考题: 1、用立式光学计测量塞规属于什么测量方法? 2、绝对测量和相对测量各有什么特点? 3、什么是分度值?刻度间距? 4、仪器的测量范围和刻度尺的示值范围有何不同?

一、实验目的 三、被测零件: 四、测量示意图:六、测量数据记录:(单位:mm) 七、测量数据分析并判断被测零件是否合格; 八、思考题: 1、用内径千分尺和内径量表测量孔的直径是,各属于哪种测量方法? 2、内径量表测量孔时“转折点”意味着什么?一旦“零位”确定,百分表指针超过“零 位”发生转折,示值为正还是负?百分表指针不过“零位”发生转折,示值为正还是负? 3、组合量块组的原则是什么?

实验报告:直线度误差的测量(形状公差的测量) 一、实验目的: 二、实验仪器: 四、测量示意图:(要求画出简单的仪器的测量原理图和被测面的测量截面图) 六、作图:分别用最小区域法和两端点连线法求直线度误差值,并作出合格性结论。 七、思考题: 1、以本实验为例,试比较按最小区域法和两端点连线法评定的直线度误差值何者更合理? 2、用作图法求直线度误差值时,如前所述,总是按平行于纵坐标计量,而不是按垂直于两条平行包容直线的距离计量,原因何在?

实验4

本实验中: 高强钢筋(400MPa):直径分别为6.5、10、14mm,各15根,共45根; 普通钢筋(Q235) :直径分别为6.5、10、14mm,各取15根,共45根。 拉伸试验钢筋长度为500mm,弯曲钢筋长度350-400mm 钢筋性能: ?弹性性能(国家新标准中规定比例极限和弹性极限都用规定非比例延伸强度来表示) 包括:比例极限;弹性极限;拉伸弹性模量;泊松比 ?塑性性能 1)屈服强度:包括上屈服强度;下屈服强度;规定非比例延伸强度;规定总延伸强度;规定残余延伸强度 2)抗拉强度; 3)断裂强度; 4)延性性能:包括屈服点延伸率;最大力总伸长率;最大力非比例伸长率; 断裂总伸长率;断后伸长率 钢筋拉伸试验 一、检测标准:金属材料拉伸试验方法 GB/T228-2002 评定标准:热轧带肋钢筋 GB1499.2-2007 二、实验目的 通过对高强钢筋(400MPa)和普通钢筋(Q235)分别进行拉伸试验测其力学性能,根据试验结果比较其基本性质的异同。 三、取样 分别从普通钢筋(一级钢)与高强高性能钢筋(三级钢)中按以下方法取样:每样钢筋随机各取若干根。从每根钢筋中分别截取一个拉伸试件。试件截取时,应在钢筋的任意一端截去500mm后截取。钢筋拉伸试验长度为500mm. (拉伸试件长度:l≥10d+200mm 式中:l表示钢筋试样长度,d表示钢筋直径) Q235直径:8—20mm HRB400直径:6---50mm 表:各类钢筋每组试件数量

力试件、一个冷弯试件。试件切取时,应在钢筋的任意一端截去500mm后切取。 四、仪器设备 1、万能材料试验机(试验机应按照GB/T 16825进行检验,并应为 1级或优于 1级准确度。) 2、游标卡尺(0-150mm),精度0.02mm 3、钢筋打点标距仪 五、试验步骤 1、分别测定钢筋的直径、长度l 1,d 1 ,l 2, d 2 ,l 3 ,d 3 ,在标距两端及中间三处横截面 上相互垂直两个方向测量直径,以各处两个方向测量的直径的算术平均值计算横截面积,取三处测得横截面积的平均值作为试样原始横截面积。 2、试样标距标记和测量:标记出原始标距,标距可按5d或10d 。 3、按试样尺寸及截面积、强度等级选择万能材料试验机度盘量程。 4、将试样安装上夹头,上下夹头必须持紧在试验机夹具上方可开始试验。试验速度应根据材料性质确定。 5、测定不同加载速率下钢筋的屈服强度(测定下屈服点时,平行长度内的应变 速率应在0.00025-0.0025/s之间,并应尽可能保持恒定) 方法:图解法和指针法。试验中采用图解法,由应力应变曲线读取首次下降前的最大力,以及不计初始瞬时效应时屈服阶段中的最小力或屈服平台的恒定力,再将其分别处以试样的原始横截面积,则可分别得到上屈服强度和下屈服强度。 6、测规定非比例延伸强度,规定非比例延伸强度是指试验在加载过程中非比例 延伸率等于规定的引伸计标距百分率时的应力。(非比例延伸率是指试验中任一时刻,引伸计标距的增量与引伸计标距之比的百分率。) 方法:图解法 7、弹性模量E(E=弹性阶段的应力/弹性阶段的应变) 8、测抗拉强度,试验机两夹头在力作用下的分离速率应不超过0.52c/min,试样拉至断裂,从拉伸确定试验过程中的最大力,或从测力度盘上读取最大力。 9、规定总延伸强度的测定规定总延伸强度是指总延伸率等于规定的引伸计标距百分率时的的应力。 R t =F t /S 式中:F t —总伸长达到规定比例时所施加的力KN;S —试样的原始横截面积。 试验速率要求测定R t应按照规定的应变速率加载。试验时需要在试样上装夹引伸计,消除拉伸试验机柔度的影响,以准确控制应变速率。(对于不能进行应变速率控制的试验机,根据平行长度估计的应变速率也可用。 应变速率应尽可能保持恒定。在测定时应选用下面两个范围之一: 范围1: =0.00007s-1,相对误差±20% 范围2: =0.00025s-1,相对误差±20%(如果没有其他规定,推荐选取该速率)

互换性与技术测量实验报告

实验一量块的使用 一、实验目的 1、能正确进行量块组合,并掌握量块的正确使用方法; 2、加深对量值传递系统的理解; 3、进一步理解不同等级量块的区别; 二、实验仪器设备 量块;千分表;测量平板;千分尺校正棒。 三、实验原理 1量块的测量平面十分光洁和平整,当用力推合两块量块使它们的测量平面互相紧密接触时,两块量块便能粘合在一起,量块的这种特性称为研合性。利用量块的研合性,就可以把各种尺寸不同的量块组合成量块组。 四、实验内容与步骤 (一)实验内容 采用合理的量块组合,测量千分尺校正棒。 (二)实验步骤 1 用千分表测量千分尺校正棒 2 据所需要的测量尺寸,自量块盒中挑选出最少块数的量块。(每一个尺寸所拼凑的量块数目不得超过 4~5 块,因为量块本身也具有一定程度的误差,量块的块数越多,便会积累成较大的误差。) 3量块使用时应研合,将量块沿着它的测量面的长度反向,先将端缘部分测量面接触,使初步产生粘合力,然后将任一量块沿着另一个量块的测量面按平行方向推滑前进,最后达到两测量面彼此全部

研合在一起。 4正常情况下,在研合过程中,手指能感到研合力,两量块不必用力就能贴附在一起。如研合立力不大,可在推进研合时稍加一些力使其研合。推合时用力要适当,不得使用强力特别在使用小尺寸的量块时更应该注意,以免使量块扭弯和变形。 5如果量块的研合性不好,以致研合有困难时,可以将任意一量块的测量面上滴一点汽油,使量块测量面上沾有一层油膜,来加强它的黏结力,但不可使用汗手擦拭量块测量面,量块使用完毕后应立即用煤油清洗。 6量块研合的顺序是:先将小尺寸量块研合,再将研合好的量块与中等尺寸量块研合,最后与大尺寸量块研合。 7. 记录数据; 六思考题 量块按“等”测量与按“级”测量哪个精度比较高?

互换性实验报告(注意这个不打印)

实验报告:轴的测量 一、实验目的 1、了解立式光学计的侧量原理及使用方法 2、加深理解测量仪器和测量方法的常用术语 四、测量示意图: ⅠⅡⅢ ⅠⅡⅢ 五、测量步骤: 1、根据基本尺寸选择量块 2、立式光学计调零 3、把被测轴放上工作台前后推动,读取最大值 4、把被测轴转动90度,用同样的方法测同一截面数值 5、以同样的步骤测另外两个截面的数值 6、取以上六个数值的平均值作为被测轴的实际尺寸

八、思考题: 1、用立式光学计测量塞规属于什么测量方法? 2、绝对测量和相对测量各有什么特点? 3、什么是分度值?刻度间距? 4、仪器的测量范围和刻度尺的示值范围有何不同? 注:该注明无需抄在实验报告中,仅做说明用。 1、留空处需要同学自行测量、计算、填写。 2、N/A表示不需要填写,留空即可。 3、其它需抄写到实验报告对应位置,不能打印。 4、思考题的完成程度也会影响实验报告的最终成绩,有些没有讲过的内容同学 需自学,或者度娘。。

实验报告:孔的测量 一、实验目的 1、掌握内径千分尺的测量方法 2、加深对内径千分尺测量特点的了解 四、测量示意图: ⅠⅡⅢ ⅠⅡⅢ 五、测量步骤: 1、内径千分尺调零 2、测量第一个截面数值 3、把被测孔转动90度,用同样的方法测同一截面数值 4、测量第二、三个截面两个方向(90度)值 4、取平均值作为被测孔的实际值

七、测量数据分析并判断被测零件是否合格; 八、思考题: 1、用内径千分尺和内径量表测量孔的直径是,各属于哪种测量方法? 2、内径量表测量孔时“转折点”意味着什么?一旦“零位”确定,百分表指针 超过“零位”发生转折,示值为正还是负?百分表指针不过“零位”发生转折,示值为正还是负? 3、组合量块组的原则是什么? 注:该注明无需抄在实验报告中,仅做说明用。 1、二.实验仪器中的型号和测量范围按实际情况填写,除了11~14的内径千 分尺外,还有14~17的,17~20的。 2、三.被测零件中的公差标注按实际情况填写,除了12±0.5外,还有15 ±0.5,18±0.5。 3、留空处需要同学自行测量、计算、填写。 4、N/A表示不需要填写,留空即可。 5、其它需抄写到实验报告对应位置,不能打印。 6、思考题的完成程度也会影响实验报告的最终成绩,有些没有讲过的内容同学 需自学,或者度娘。。

实验4-2-选择结构

实验4-2 选择结构程序设计(二) 1 【实验目的】 (1)学会正确使用运算符和逻辑表达式 (2)熟练掌握if语句的三种结构 【实验要求】 (1)掌握运算符的优先级和结合方向,正确使用运算符和逻辑表达式。 (2)熟练掌握if语句的多分支结构。 (3)熟练掌握if语句关键字else的正确搭配使用。 【实验环境】 (1) Microsoft XP操作系统 (2) Microsoft VC++ 6.0 【实验内容】 1、程序改错 题目描述:阅读下面程序段,编译调试程序,并改正错误语句。#include < stdio.h > int main() { double x,y; scanf(“%lf”,&x);

if(x>=5) y=x^2; else if(0=

实验四

实验四全面预算 一、实验目的 全面预算是一整套预计的财务报表和其他附表。通过该实验,使学生掌握利用Excel电子表格,方便、快捷地做出预算,提高理财效率。 二、实验材料 大通公司目前只生产“康乐”摇摆机一种产品,该产品的市场售价为750元/台。该公司上年末的资产、负债情况如下表所示。 其他资料如下: (1)根据销售部门预测下年度各季度的销售量分别是:1000件、1500件、2000件、1500件。每季度的商品销售款在当季可收到40%,其余在下季收讫。 (2)为满足扩大销售的需要,需增加设备一台。该设备计划投资160 000元,具体购置时间在明年第二季度初。 (3)根据生产部门提供的资料,该产品材料的耗用量为2千克/件.人工25

工时/件。 (4)根据材料采购部门提供的资料,该产品耗用材料的购买价为150元/千克。每季度的购料款当季付50%,其余在下季度付讫。 (5)根据人事部门提供的资料,该公司采用计时工资制,为4元/工时。 (6)根据库存商品及材料明细账中记录,至2001年12月31日末,库存产品100件,生产成本为500元/件。库存材料420千克,计划年度第一、二、三季度末库存产品数量按下季度销售量的10%计算,第四季度库存产品数量计划为110件。计划年度第一、二、三季度库存材料数量按下季度材料需要量的20%计算,第四季度库存材料数量计划为460公斤。 (7)销售及管理部门预计下年度该部门全年现金支出总额约为720 000元(全年各季度均衡支出)。 (8)生产部门预计下年度该部门的制造费用全年现金支出总额约为400 000元(全年各季度均衡支出),计提固定资产折旧201 000元。 (9)公司董事会计划明年各季末支付股东股利20 000元。 (10)预计下年度各季度需交纳的所得税为40 000元。 (11)计划年度最低现金余额为100 000元。 (12)现金不足时可向银行借款。银行借还款数以万元为单位。借款利率为10%。 (13)期末资金结余可进行短期投资。 三、实验要求 根据以上资料,做出该公司下年各季度的以下各项预算。 (1)销售预算。 (2)生产预算。 (3)材料采购预算。 (4)人工费用预算。 (5)现金预算。 (6)该公司下年度预计资产负债表。 (7)该公司下年度预计损益表。

《互换性与技术测量》实验指导书(三个实验,前两个必做,最后一个演示和选做)

实验一直线度误差的测量 一、实验目的 掌握按“节距法”测量直线度误差的方法。 二、测量原理及数据处理 对于很小表面的直线度误差的测量常按“节距法”,应是将被测平面分为若干段,用小角度度量仪(水平仪、自准直仪)测出各段对水平线的倾斜角度,然后通过计算或图解来求得轮廓线的直线度误差。本实验用合像水平仪。 具体测量方法如下: 将被测表面全长分为n段,每段长l=L/N应是桥板的跨距。将桥板置于第一段,桥板的两支承点放在分段点处,并把水平仪放在桥板上,使两者相对固定(用橡皮泥粘住)记下读数a1(单位为格)。然后将桥板沿放测表面移动,逐段测量下去,直至最后一段(第n段)。如图1每次移l,并要使支承点首尾相接,记下每段读数(单位为格)a1、a2、……a n。最后按下列步骤(见例)列表计算出各测量点对两端点连线的直线度偏差Δh i,并取最大负偏差的绝对值之和作为所求之直线度误差。 [例]设有一机床导轨,长2米(L=2000mm),采用桥板跨距l=250mm,用分度值c=0.02mm/m的水平仪,按节距法测得各点的读数a i(格)如表1。 表1

也可用作图法求出直线度误差,如图2。 作图法是在坐标纸上,以导轨长度为微坐标,各点读数累积为纵坐标,将测量得到的各点读数累积后标在坐标上,并将这些坐标点连成折线,以两端点连线作为评定基准,取最大正偏差与最大负偏差的绝对值之和,再换算为线值(μ),即为所求之直线度误差。 测量导轨直线度误差时,数据处理的根据,可由下图看出:(图3) A i — 导轨实际轮廓上的被测量点(i =0、1、2、……、n ); a i — 各段上水平仪的读数(格); Y i — 前后两测量点(i -1,i )的高度差; h i — 各测点(A i )到水平线(通过首点A 0)的距离(μ),显然 1 'i n i i h y == ∑

实验二选择结构程序设计 实验报告

C语言程序设计与问题求解实验报告 实验二选择结构程序设计 一、实验目的 1.正确使用关系表达式和逻辑表达式表示条件; 2.掌握选择语句if-else和switch语句的使用方法; 3.掌握分支结构程序设计。 二、实验内容 1. 选择结构编程示例 year是闰年,即year能被4整除但不能被100整除,或year能被400整除。从键盘读入一个年份,然后输出其是否为闰年。具体代码如下: #include int main() { int year; printf("请输入年份:"); scanf("%d",&year); if ((year%4==0 && year%100!=0)||(year%400==0)) { printf("闰年!"); } else { printf("不是闰年!"); } return 0; } 运行结果:

2.分析并修改下面程序错误,使之能够正常运行。 错误代码一:下面的这个程序是当a和b的值相等的情况下输出“a和b相等”,而a与b的值不相等的话无输出。 #include void main() { int a=5,b=6; /* 或int a=5, b=5 ;*/ if (a==b); { printf("a和b相等\n"); } } 错误点: if (a==b)后有了分号“;”表示这条语句已执行完毕,所以无论a、b是否相等都会输出"a和b相等"。 修改后: #include void main() { int a=5,b=6; /* 或int a=5, b=5 ;*/ if (a==b) printf("a和b相等\n"); } 错误的代码二:下面的这个程序是当a和b的值相等的情况下a与b的值同时增加1,而a与b的值不相等的话,二者的值保持不变。 #include void main() { int a=5; /* 或int a=6*/ int b=6; if (a==b) a++; b++;

互换性与技术测量实验指导书.

互换性实验指导书 机械工程学院

实验一量块的使用 一、实验目的 1、能正确进行量块组合,并掌握量块的正确使用方法; 2、加深对量值传递系统的理解; 3、进一步理解不同等级量块的区别; 二、实验仪器设备 量块;千分表;测量平板;被测件。 三、实验原理 量块的测量平面十分光洁和平整,当用力推合两块量块使它们的测量平面互相紧密接触时,两块量块便能粘合在一起,量块的这种特性称为研合性。利用量块的研合性,就可以把各种尺寸不同的量块组合成量块组。 四、实验内容与步骤 (一)实验内容 采用合理的量块组合,测量被测零件尺寸高度。 (二)实验步骤 1.用游标卡尺测量被测件 2.据所需要的测量尺寸,自量块盒中挑选出最少块数的量块。(每一个尺寸所拼凑的量块数目不得超过 4块,因为量块本身也具有一定程度的误差,量块的块数越多,便会积累成较大的误差。) 3.量块使用时应研合,将量块沿着它的测量面的长度反向,先将端缘部分测量面接触,使初步产生粘合力,然后将任一量块沿着另一个量块的测量面按平行方向推滑前进,最后达到两测量面彼此全部研合在一起。

4.将研合后的量块与被测件同时放到测量平板上,在测量平板上移动指示表的测量架,使指示表的测头与量块上工作表面相接触,转动指示表的刻度盘,调整指示表示值零位。 5.抬起指示表测头,将被测件放在指示表测头下,取下量块,记录下指示表的读数。 6.量块的尺寸与指示表的读数之和就是被测件的尺寸。 7. 记录数据; 五、思考题 量块按“等”测量与按“级”测量哪个精度比较高?

实验二常用量具的使用 一、实验目的 1、正确掌握千分尺、内径百分表、游标卡尺的正确使用方法; 2、掌握对测量数据的处理方法; 3、对比不同量具之间测量精度的区别。 二、实验仪器设备 外径千分尺;内径百分表;游标卡尺;轴承等。 三、实验原理 分度值的大小反映仪器的精密程度。一般来说,分度值越小,仪器越精密,仪器本身的“允许误差”(尺寸偏差)相应也越小。学习使用这些仪器,要注意掌握它们的构造特点、规格性能、读数原理、使用方法以及维护知识等,并注意要以后的实验中恰当地选择使用。 四、实验内容及实验步骤 (一)实验内容 1、熟悉仪器的结构原理及操作使用方法。 2、用外径千分尺、内径百分表、游标卡尺测量轴承内、外径。 3、对所测数据进行误差处理,得出最终测量结果。 (二)实验步骤 1、用游标卡尺测量轴承外径的同一部位5次(等精度测量),将测量值记入下表中,并完成后面的计算: ⑴平均值:将5次测量值相加后除以5,作为该测量点的实际值。 ⑵变化量:测量值中的最大值与最小值之差。 入上表中,并完成后面的计算: ⑴平均值:将5次测量值相加后除以5,作为该测量点的实际值。 ⑵变化量:测量值中的最大值与最小值之差。 ⑶测量结果:按规范的测量结果表达式写出测量结果。 3、内径百分表测量步骤: (1)内径百分表在每次使用前,首先要用标准环规、夹持的量块或外径千分尺对零,环规、夹持的量块和外径千分尺的尺寸与被测工件的基本尺寸相等。 (2)内径百分表在对零时,用手拿着隔热手柄,使测头进入测量面内,摆动直管,测头在X方向和Y方向(仅在量块夹中使用)上下摆动。观察百分表的示

实验4选择结构程序设计

实验4 选择结构程序设计 一、实验目的 1.掌握C语言中逻辑量的表示和使用方法。 2.掌握if语句及switch语句的使用。 3.熟悉各种表达式作为if语句及switch语句的条件。 4.了解Turbo C程序的基本调试方法。 二、实验内容 1.验证性实验 (1)分析程序的运行结果。 ①运行下列程序,输入1-7之间的任意数字,观察程序的运行结果。 #include void main() { int week; printf("Input(1-7):"); scanf("%d",&week); switch(week) { case 1:printf("Mon.\n"); break; case 2:printf("Tue.\n"); break; case 3:printf("Wed.\n"); break; case 4:printf("Tur.\n"); break; case 5:printf("Fri.\n"); break; case 6:printf("Sat.\n"); break; case 7:printf("Sun.\n"); break; default:printf("The input is wrong!\n"); } } ②运行5次下列程序,输入的数据分别是1,2,3,4,5,请观察每次的运行结果,并根据结果分析原因。 #include void main() { int n,a=0,b=0,c=0,d=0,k=0; scanf("%d",&n); switch(n) { case 1:b++;break; case 2:c++; case 3:d++;break; case 4:k++; default:a++; } printf("%d,%d,%d,%d",a,b,c,d,n); } (2)输入x的不同值,以下程序将求一给定“y=f(x)”函数的值。

实验4 分类

实验4 分类 分类算法是解决分类问题的方法,是数据挖掘、机器学习和模式识别中一个重要的研究领域。分类算法通过对已知类别训练集的分析,从中发现分类规则,以此预测新数据的类别。分类算法的应用非常广泛,银行中风险评估、客户类别分类、文本检索和搜索引擎分类、安全领域中的入侵检测以及软件项目中的应用等等。 Bayes 贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。目前研究较多的贝叶斯分类器主要有四种,分别是:Naive Bayes、TAN、BAN 和 GBN。 1、贝叶斯网络(BayesNet) 贝叶斯网络是一个带有概率注释的有向无环图,图中的每一个结点均表示一个随机变量 , 图中两结点间若存在着一条弧,则表示这两结点相对应的随机变量是概率相依的,反之则说明这两个随机变量是条件独立的。网络中任意一个结点X 均有一个相应的条件概率表Conditional Probability Table,CPT) ,用以表示结点 X 在其父结点取各可能值时的条件概率。若结点 X 无父结点 , 则 X 的 CPT 为其先验概率分布。贝叶斯网络的结构及各结点的 CPT 定义了网络中各变量的概率分布。应用贝叶斯网络分类器进行分类主要分成两阶段。第一阶段是贝叶斯网络分类器的学习,即从样本数据中构造分类器,包括结构学习和 CPT 学习;第二阶段是贝叶斯网络分类器的推理,即计算类结点的条件概率,对分类数据进行分类。这两个阶段的时间复杂性均取决于特征值间的依赖程度,甚至可以是 NP 完全问题,因而在实际应用中,往往需要对贝叶斯网络分类器进行简化。根据对特征值间不同关联程度的假设,可以得出各种贝叶斯分类器。 2、朴素贝叶斯(NaiveBayes) 朴素贝叶斯模型(NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC 模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。NBC 模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给 NBC 模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC 模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC 模型的性能最为良好。 Lazy Learning 相对其它的 Inductive Learning 的算法来说,Lazy Learning 的方法在训练是仅仅是保存样本集的信息,直到测试样本到达时才进行分类决策。也就是说这个决策模型是在测试样本到来以后才生成的。相对与其它的分类算法来说,这类的分类算法可以根据每个测试样本的样本信息来学习模型,这样的学习模型可能更好的拟合局部的样本特性。kNN 算法的思路非常简单直观:如果

互换性与技术测量实验指导

互换性与技术测量实验指导书 刘惠娟 桂林电子工业学院 2004

学生实验须知 1.在规定时间准时进入实验室,入室前必须更换拖鞋, 除有关书籍和文具外,其它物品一侓不准带入实验室。 2.进入实验室后,严禁随地吐痰;严禁吸烟和乱抛纸屑, 保持室内清洁和安静。 3.凡与本实验无关的仪器均不得乱动。 4.实验前,首先预习实验指导书,在指导老师的同意下 方可使用仪器。 5.严格遵守仪器的使用规则,操作要细心。仪器的光学 镜头严禁用手模或用手帕檫模。 6.实验时如仪器发生故障应立即告诉指导老师,不得自 行拆修。 7.实验完毕,将仪器、被测工件整理好,认真填写实验 报告,并将实验报告交指导老师审阅后才可离室。 8.实验成绩为期终考查之一,必须保存全部实验报告。 9.凡遇不遵守实验规则时,指导教师可随时停止其实验。

目录 1实验二用光切法测量表面粗糙度 2实验三形状误差的测量 2实验四位置误差的测量 3实验五在工具显微镜上测量外螺纹的各项参数4实验六齿轮齿圈径向跳动的测量 4实验七齿轮公法线长度及其变动的测量 4实验八齿轮周节偏差及周节累积误差的测量 4实验九在双啮仪上对齿轮的综合测量 5实验十产品质量检验设计性实验

实验二用光切法测量表面粗糙度 一、实验目的: 1.掌握应用光切法测量表面粗糙度的基本原理。 2.练习用9J光切显微镜测量Rz、Ry及S的方法。 二、仪器及其工作原理 应用光切原理设计而成的测量表面粗糙度的仪器称为光切显微镜(或双管显微镜)。我国生产的光切显微镜有JSG—I型和9J型,光切显微镜适于测量微观不平度+点高度Rz 、轮廓的最大高度 Ry,以及较规则表面(如车、下、铣、刨等)的轮廓单峰平均间距S和轮廓微观不平度的平均间距Sm值。 9J型光切显微镜的外型如图3—1所示,仪器测量的微观不平高度范围为(0.8—63)um,其工作原理如图3—2所示。

AD590实验报告

ad590温度传感器 1. 原理: ad590 是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下: 1、流过器件的电流等于器件所处环境的热力学温度(开尔文)度数,即:μa/k 2、ad590 的测温范围为-55℃~+150℃。 3、ad590 的电源电压范围为4v~30v。电源电压可在4v~6v 范围变化,电流 i 变化1ua,相当于温度变化1k。ad590 可以承受44v 正向电压和20v 反向电压,因而器件反接也不会被损坏。 ad590的功能及特性 ad590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。其电路外形如 图1所示,它采用金属壳3脚封装,其中1脚为电源正端v+;2脚为电流输出端;3脚为管 壳,一般不用。集成温度传感器的电路符号如图2所示。 在被测温度一定时,ad590相当于一个恒流源,把它和5~30v的直流电源相连,并在输 出端串接一个10kω的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电 阻两端将会有10mv/k的电压信号。 2数字显示温度计的设计 ad590具有线性优良、性能稳定、灵敏度高、无需补偿、热容量小、抗干扰能力强、可 远距离测温且使用方便等优点。可广泛应用于各种冰箱、空调器、粮仓、冰库、工业仪器配 套和各种温度的测量和控制等领域。 下面给出用ad590构成数字显示温度计的设计过程。 2.1 测温电路的设计 在设计测温电路时,首先应将电流转换成电压。由于ad590为电流输出元件,它的温度 每升高1k,电流就增加1μa。当ad590的电流通过一个10kω的电阻时,这个电阻上的压降 为10mv,即转换成10mv/k,为了使此电阻精确(0.1%),可用一个9.6kω的电阻与一个 1kω电位器串联,然后通过调节电位器来获得精确的10kω。图5所示是一个电流/电压转 换电路,其中运算放大器a1被接成电压跟随器形式,以增加信号的输入阻抗。考虑到设计要 求中没有要求显示的是摄氏温度,故可以不用加上算术运算电路来实现摄氏温度的显示。这 样我们最终得到的电压数值是热力学温度。这里再说明一下,若要显示的是摄氏温度,只需 将v加上-2.73v即可,可利用运放来实现算术运算电路。 2.2 a/d转换和显示电路的设计 用a/d转换器mc14433实现 首先将ad590的输出电流转换成电压,由于此信号为模拟信号,因此,要进行数码显示, 还需将此信号转换成数字信号。采用mc14433的转换电路如图6所示。此电路的作用是通过 a/d转换器mc14433将模拟信号转换成数字信号,以控制显示电路。其中mc14511为译码/ 锁存/驱动电路,它的输入为bcd码,输出为七段译码。led数码显示由mc14433的位选信 号ds1~ds4通过达林顿阵列mc1413来驱动4位数码管的引脚图如图7. 图6 a/d转换和数 码显示电路框图 其中1y,2y,3y和4y为片选端,用以控制哪位数码管亮,将他们分别和mc14433的ds0, ds1,ds2,ds3连接即可。 考虑到mc14433工作时需要参考电压,我们这里选取了1403作为vref,用作参考电压, 通过一个滑动变阻器可以方便的控制输入vref的大小。电路图如图8 图7 3461as数码管 引脚图 图8 最后:

python实验3选择结构程序设计

实验3 选择结构程序设计(续) 【实验目的】 1.掌握分支条件语句的使用。 2.掌握分支嵌套语句的使用。 【实验内容】 1.通过Input()函数任意输入三条边长,经过简单的计算后,判断三条边长能否构成三角 形,并确定是类型的三角形,如(等边,等腰,一般三角形)。 a=input("Please input the length of a:") b=input("Please input the length of b:") c=input("Please input the length of c:") if a+b>c and a+c>b and b+c>a: if a==b==c: print "This is an equilateral triangle." if a==b or a==c or b==c: print "This is an isosceles triangle." if a!=b!=c: print "This is a scalene triangle." else: print "These lengths can not form a triangle." 2.密码登录程序。要求:建立一个登录窗口,要求输入帐号和密码。设定用户名 为”zhangshan”,密码为“Python123”;若用户名正确,密码正确,则显示“Zhangshan 先生,欢迎你!”;如果用户名错误,则显示“用户名错误,请重新输入!”;若密码不正确,显示“对不起,密码错误,无法登录!”。 x=raw_input("User:") y=raw_input("Password:") if x=="zhangshan" and y=="Python123": print "Welcome,!" if x=="zhangshan" and y!="Python123": print "Wrong right to log-in." while x!="zhangshan" and y=="Python123": x=raw_input("Wrong user's enter again:") if x=="zhangshan": print "Zhangshan先生,欢迎你!"

实验四

实验四数据分析与多项式计算 一、实验目的 1.掌握数据统计和分析的方法。 2.掌握数据插值与曲线拟合的方法及其应用。 3.掌握多项式的常用运算。 二、实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 设计提示 参考本节主要内容,学习并理解相关函数的含义及调用方法。 三、实验内容、程序代码及相关分析 1、利用matlab提供的randn函数生成符合正态分布的10x5随机矩阵A, 进行以下操作: (1)A各列元素的均值和标准方差 (2)A的最大元素和最小元素 (3)求A每行元素的和以及全部元素之和 (4)分析对A的每列元素按升序、每行元素按降序排列。 程序代码如下: A=randn(10,5); MEAN=mean(A) %求列均值 STD=std(A) %求各列标准方差 MAX=max(max(A)) %求A的最大元素 MIN=min(min(A)) %求A的最大元素 SUM1=sum(A,2) %求A每行元素的和 SUM2=sum(sum(A)) %求A中所有元素的和 SORT1=sort(A) %将A中每列元素按升序排列 SORT2=sort(A,2,'descend') %将A中每行元素按降序排列 实验结果如下:

结果分析:主要应用了mean,std,max,min等常用函数的一些功能,此处主要注意一下相关函数的一些参数,尤其注意max,min,mean的参数问题,因为他们加入相应的参数可以区分统计的是行还是列 2、按要求对指定函数进行插值和拟合:按下表所示用三次样条方法插值计算0~90°内整数点的正弦值和0~75°内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,并将两种计算结果进行比较。

(优秀教学)互换性与技术测量实验

实验一外螺纹中径的测量 一、实验目的 熟悉测量外螺纹中径的原理和方法。 二、实验内容 1. 用螺纹千分尺测量外螺纹中径。 2. 用三针测量外螺纹中径。 三、测量原理及计量器具说明 1. 用螺纹千分尺测量外螺纹中径 图1为螺纹千分尺的外形图。它的构造与外径千分尺基本相同,只是在测量砧和测量头上装有特殊的测量头1和2,用它来直接测量外螺纹的中径。螺纹千分尺的分度值为0.01毫米。测量前,用尺寸样板3来调整零位。每对测量头只能测量一定螺距范围内的螺纹,使用时根据被测螺纹的螺距大小,按螺纹千分尺附表来选择,测量时由螺纹千分尺直接读出螺纹中径的实际尺寸。 图1 2. 用三针测量外螺纹中径 图2为用三针测量外螺纹中径的原理图,这是一种间接测量螺纹中径的方法。测量时,将三根精度很高、直径相同的量针放在被测螺纹的牙凹中,用测量外尺寸的计量器具如千分尺、机械比较仪、光较仪、测长仪等测量出尺寸M。再根据被测螺纹的螺距p、牙形半角 2 α 和量针直径 m d,计算出螺纹中径 2 d。由图2可知: ) (2 2 2 CD AD M AC M d- - = - = 而 2 sin 2 2α m m d d BD AB AD+ = + == ? ? ? ? ? ? ? ? + 2 sin 1 1 2α m d

4 2α Pctg CD = 将AD 和CD 值代入上式,得: 22 2sin 1 12ααctg P d M d m +????? ? ? ?+ -= 对于公制螺纹,0 60=α,则 P d M d 866.032+-= 图 2 为了减少螺纹牙形半角偏差对测量结果的影响,应选择 合适的量针直径,该量针与螺纹牙形的切点恰好位于螺纹中径处。此时所选择的量针直径m d 为最佳量针直径。由图3可知: 2 cos 2α P d m = 对于公制螺纹,0 60=α,则 P d m 577.0= 在实际工作中,如果成套的三针中没有所需的最佳量针直径时,可选择与最佳量针直径相近的三针来测量。 量针的精度分成0级和1级两种:0级用于测量中径公差为4—8μm 的螺纹塞规;1级用于测量中径公差大于8μm 的螺纹塞规或螺纹工件。 测量M 值所用的计量器具的种类很多,通常根据工件的精度要求来选择。本实验采用杠千分尺来测量(见图4)。杠杆千分尺的测量范围有0—25,25—50,50—75,75—100mm 图 3 图 4 四种,分度值为0.002mm 。它有一个活动量砧1,其移动量由指示表7读出。测量前将尺体5装在尺座上,然后校对千分尺的零位,使刻度套筒管3、微分筒4和指示表7的示值都分别对准零位。测量时,当被测螺纹放入或退出两个量砧之间时,必须按下右侧的按钮8使量

互换性测量实验报告

上海第二工业大学 实训实习报告 项目名称互换性及测量技术实践 所属学院机电工程学院 专业班级 09 机自 A2 班 学生姓名黄金驹 指导教师刘唯、吴站雷 实训实习地点:机电楼(14#楼)408实验室实训实习日期:2011 年 9 月– 12 月 6 日

实训实习任务书

目录 实验任务书 (1) 游标量具的使用及零件的测绘 (3) 平面度误差的测量 (7) 圆度误差的测量 (10) 准直仪测量直线度 (13) 立式光学计测量塞规 (15) 垂直度误差的测量 (17) 用电动轮廓仪测量表面粗糙度 (18) 标准样块比较法测量表面粗糙度 (19) 螺距的测量 (20) 螺纹中径的测量 (21) 螺纹牙型半角的测量 (22) 万能角尺的使用 (23) 测量齿轮的模数 (24) 齿轮齿厚的测量 (26) 齿轮公法线的测量 (27) 齿轮径向综合跳动的测量 (28) 齿圈径向跳动的测量 (30)

实验一游标量具的使用及零件的测绘 一、实验目的 1、了解游标量具的读数原理; 2、熟练掌握各种游标量具的使用方法; 3、运用游标量具对零件进行测量,并绘制零件图。 二、实验原理 1、游标的读数原理 将两根直尺相互重叠,其中一根固定不动,另一根沿着它相对滑动。固定不动的直尺称为主尺,沿主尺滑动的直尺称为游标尺。 设a为主尺每格的宽度,b为游标尺每格的宽度。I为游标刻度值,n为游标的刻线格数。 当主尺(n-1)格的长度正好等于游标n格的长度时,游标尺每格的宽度b为b=(n-1)*a/n 游标的分度值i为主尺每格的宽度与游标尺每格的宽度只差即i=a-b=a/n n=a/i b=a-i 当主尺(2n-1)格的长度正好等于游标n格的长度时,游标尺每格的宽度为 b=(2n-1)*a/n 游标的分度值i为主尺r格的宽度与游标尺1格的宽度之差即 i=r*a-b=a/n n=a/i b=r*a-i 式中:r—游标模数 游标模数为正整数,一般取r=1或r=2 游标刻线的总长l为

实验四 答案 选择结构程序设计

实验四选择结构程序设计答案 实验时间:年月日 【实验步骤】 一、程序调试练习 1、写出下列程序的运行结果: (1)ex4_1.c #include void main() { char ch; printf("input a character:"); ch=getchar(); if(ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch); } 具体要求: ①从键盘上输入a,分析程序运行的结果。 ②从键盘上输入A,分析程序运行的结果。 ③从键盘上输入5,分析程序运行的结果。 程序运行结果: ①a ②a ③5 (2)ex4_2.c #include void main() { int x,y,z; printf("input x,y,z"); scanf("%d,%d,%d",&x,&y,&z); if(x

②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。 ③从键盘上给x、y、z分别输入-5,-3,2,分析程序运行的结果。 程序运行结果: ①z=2 ②z=3 ③z=0 (3)ex4_3.c #include main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序运行结果: a=2,b=1 (4)ex4_4.c #include void main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf("a=%d,b=%d\n",a,b); } 具体要求:

实验4

实验四 连续时间LTI 系统的时域分析 实验目的: 掌握系统的单位冲激响应的概念,掌握LTI 系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质,掌握利用MATLAB 计算卷积的编程方法,并利用所编写的MATLAB 程序验证卷积的常用基本性质,掌握MATLAB 描述LTI 系统的常用方法及有关函数,掌握利用MATLAB 来分析求解连续系统时域响应的方法,理解各种时域响应的含义。 实验原理: 1 LTI 系统的卷积模型 给定一个连续时间LTI 系统,在系统的初始条件为零时,用单位冲激信号δ(t)作用于系统,此时系统的响应信号称为系统的单位冲激响应(Unit impulse response ),一般用h(t)来表示。需要强调的是,系统的单位冲激响应是在激励信号为δ(t)时的零状态响应(Zero-state response )。 离散时间LTI 系统的单位序列响应的定义与连续时间LTI 系统的单位冲激响应相同,只是离散时间单位冲激函数δ[n]的定义有所不同。系统的单位冲激响应是一个非常重要的概念,对于一个系统,如果我们知道了该系统的单位冲激响应,那么,该系统对任意输入信号的响应信号都可以求得。也就是说,系统的输入信号x(t)、x[n]和输出信号y(t)、y[n]之间的关系可以用一个数学表达式来描述,这个数学表达式为 ?∞∞ --=τττd t h x t y )()()( (4.1)(a) ∑∞-∞=-= k k n h k x n y ][][][ (4.1)(b) 这个表达式就是LTI 系统的卷积模型,它是根据系统的线性性和时不变性以及信号可以分解成单位冲激函数经推理得到的。这个表达式实际上告诉了我们一个重要的结论,那就是,任意LTI 系统可以完全由它的单位冲激响应h(t)/h[n]来确定。由于系统的单位冲激响应是零状态响应,故按照式1.11求得的系统响应也是零状态响应。式1.11中的积分运算叫做卷积积分,求和运算叫做卷积和,是描述连续时间系统输入输出关系的一个重要表达式。 卷积的计算通常可按下面的五个步骤进行(以卷积积分为例): 1. 该换两个信号波形图中的横坐标,由t 改为τ,τ变成函数的自变量; 2. 把其中一个信号反褶,如把h(τ)变成h(-τ); 3. 把反褶后的信号做移位,移位量是t ,这样t 是一个参变量。在τ坐标系中, t > 0时图形右移, t < 0时图形左移。 4. 计算两个信号重叠部分的乘积x(τ)h(t-τ); 5. 完成相乘后图形的积分。 借助MATLAB 的内部函数conv()可以很容易地完成两个信号的卷积积分运算。其语法为:y = conv(x,h)。其中x 和h 分别是两个作卷积运算的信号,y 为卷积结果。 为了正确地运用这个函数计算卷积,这里有必要对conv(x,h)做一个详细说明。conv(x,h)函数实际上是完成两个多项式的乘法运算。例如,两个多项式p 1

相关文档