文档库 最新最全的文档下载
当前位置:文档库 › 《阻尼振动与受迫振动》实验报告

《阻尼振动与受迫振动》实验报告

《阻尼振动与受迫振动》实验报告
《阻尼振动与受迫振动》实验报告

《阻尼振动与受迫振动》实验报告

《阻尼振动与受迫振动》实验报告

工程物理系 核41 崔迎欢 2014011787 一.实验名称:阻尼振动与受迫振动 二.实验目的

1. 观测阻尼振动,学习测量振动系统基本参数的方法;

2. 研究受迫振动的幅频特性和相频特性,观察共振现象;

3. 观测不同阻尼对受迫振动的影响。 三..实验原理

1. 有粘滞阻尼的阻尼振动

弹簧和摆轮组成一振动系统,设摆轮转动惯量为J ,粘滞阻尼的阻尼力矩大小定义为角速度d θ/dt 与阻尼力矩系数γ的乘积,弹簧劲度系数为k ,弹簧的反抗力矩为-k θ。忽略弹簧的等效转动惯量,可得转角θ的运动方程为

220d d J k dt dt

θθ

γθ++=

记ω0为无阻尼时自由振动的固有角频率,其值为ω0=k/J ,定义阻尼系数β=γ

/(2J ),则上式可以化为:

2220d d k dt dt

θθ

βθ++=

小阻尼即2

2

00

β

ω-<时,阻尼振动运动方程

的解为

())2

20exp()cos

i i

t t t θθβωβφ=--+ (*)

由上式可知,阻尼振动角频率为

220d ωωβ=-2d d

T πω=

2. 周期外力矩作用下受迫振动的解

在周期外力矩Mcos ωt 激励下的运动方程和方程的通解分别为

22cos d d J k M t dt dt

θθ

γθω++=

()())

()2

20exp cos

cos i i m t t t t θθβωβφθωφ=--++-

这可以看作是状态(*)式的阻尼振动和频率同激励源频率的简谐振动的叠加。一般t >>τ后,就有稳态解

()()cos m t t θθωφ=-

稳态解的振幅和相位差分别为 ()2

222

2

4m

θωωβω

=

-+ 22

02arctan

βωφωω=-

其中,φ的取值范围为(0,π),反映

摆轮振动总是滞后于激励源支座的振动。 3. 电机运动时的受迫振动运动方程和解

弹簧支座的偏转角的一阶近似式可以写成

()cos m t t ααω=

式中αm 是摇杆摆幅。由于弹簧的支座在运动,运动支座是激励源。弹簧总转角为

()cos m t t θαθαω-=-。于是在固定坐标系中摆轮转

角θ的运动方程为

()22cos 0m d d J k t dt dt

θθγθαω++-=

也可以写成

22cos m d d J k k t dt dt

θθγθαω++=

于是得到

()

2

02

2

222

4m m θω

ω

βω

=

-+

由θm 的极大值条件0

m

θ

ω??=可知,当外

激励角频率22

02ωωβ=

m 有极大值22

0αωβ-

引入参数(02

kJ

ζβ

ωγ

==,称为阻尼比。

于是,我们得到

()

(

)

()

2

22

0012m

m θωωζωω=

-+

(

)()

02

02arctan

1ζωωφωω=-

四.实验仪器:波耳振动仪

五.实验步骤。

1. 打开电源开关,关断电机和闪光灯开关,阻尼开关置于“0”档,光电门H 、I 可以手动微调,避免和摆轮或者相位差盘接触。手动调整电机偏心轮使有机玻璃转盘F 上的0位标志线指示0度,亦即通过连杆E 和摇杆M 使摆轮处于平衡位置。染货拨动摆轮使偏离平衡位置150至200度,松开手后,检查摆轮的自由摆动情况。正常情况下,振动衰减应该很慢。

2.开关置于“摆轮”,拨动摆轮使偏离平衡

位置150至200度后摆动,由大到小依次读

取显示窗中的振幅值θj;周期选择置于“10”

位置,按复位钮启动周期测量,体制时读取

数据10

T。并立即再次启动周期测量,记录每

d

次过程中的10

T的值。

d

(1)逐差法计算阻尼比ζ;

(2)用阻尼比和振动周期T d计算固有角频

率ω0。

3.依照上法分别测量阻尼(1、2)两种阻尼状

态的振幅。求出ζ、τ、Q。

4.开启电机开关,置于“强迫力”,周期选择

置于“1”,调节强迫激励周期旋钮以改变电

机运动角频率ω,选择2和4两种阻尼比,

测定幅频和相频特性曲线;每次调节电机状

态后,摆轮要经过多次摆动后振幅和周期才

能稳定,这时再记录数据。要求每条曲线至

少有12个数据点,其中要包括共振点,即

φ=π/2的点。

六.实验结果

1.测量最小阻尼时的阻尼比ζ和固有角频

率ω0。

拟合直线得

b=-0.0096 ,

Sb=3.1*10^(-5)

由()

0.5

2

21b πζ

--=--得到:

ξ=(1.5279±0.0011)*10^(-5)

Td=1.44524s ,

τ=1/β=-Td/b=151.02s Q=1/2ξ=327.2

2. 测量其他2种阻尼状态的振幅,求出ζ、

τ、Q 。

阻尼档为3:

b=-0.097884619 Sb=0.000657603 ξ=1.558*10^(-2),

ξ=(15.5800±0.0016)*10^(-3) Td=1.444s

ω0=4.352/s

τ=1/β=-Td/b=14.75s

Q=1/2ξ=32.1

阻尼档为4时:

b=-0.128536508

Sb= 0.000738915

ξ=0.02045

ξ=(20.4500±0.0024)*10^(-3)

Td=1.444s

ω0=4.352/s

τ=1/β=-Td/b=11.23s

Q=1/2ξ=24.45

3.测定受迫振动的幅频特性和相频特性曲线。

501001502000.9

0.951 1.05 1.1

1.15

幅频曲线

ω/ωo

θ°

ξ=1.558*10^(-2)ξ=0.02045

0501001502000.9

0.95

1

1.05

1.1

1.15

相频曲线

ω/ωo

ψ°

ξ=1.558*10^(-2)ξ=0.02045

阻尼档为3时β=1/τ=0.068, 阻尼档为4时β=1/τ=0.089

利用稳态解时相位差的表达式2

2

2arctan βωφωω

=- 实测相位差ψ与理论求出值得相对偏差?φ/φ=ψ(o-ψ)/ψo 阻尼档为3时

ω/ωo 0.919

0.947

0.972

0.981

0.985

0.996

1.000

1.001

1.004

1.007

1.011

1.018

1.025

1.030

1.050

1.071

1.094

?φ/φ

18.32%

13.94%

5.06%

0.95%

-0.93%

2.62%

2.19%

2.06%

5.05%

2.38%

-0.15%

0.96%

1.61%

1.33%

1.79%

2.05%

2.60

%

七、讨论

1.如何判断受迫振动已处于稳定状态?

经过一段时间(不超过5min),振幅测量值基本稳定了,则可以受迫振动基本达到稳定

2.如何减少等待受迫振动达到稳定的时间?

可以选取强迫力周期单调递增(减)的方法逐次测量各数据点,这样每次振动状态的改变都较小,受迫振动振幅最大值较小,则这部分振动的影响会较快消除。

3.在理论计算相位差中应注意什么问题?arctan函数的取值范围是-90°~90°,而实验中测相位差的范围是0°~180°,计算时,如果计算角度为负时需加上180°

5.实验中如何判断达到共振?

实验中,可以适当增加共振点附近的测量点密度,在共振点附近反复仔细调节外激励频率,观测到振幅最大是对应的就是共振点。但阻尼

较高的情况下,由于振幅测量准确度不够,可能共振附近多点的振幅测量值都相同。

常用网络测试命令实验报告

西安郵電學院 计算机网络技术及应用实验 报告书 院部名称:管理工程学院 学生姓名:XXX 专业名称:信息管理与信息系统班级:10XX 学号:0210XXXX 时间:2012年 5 月 4 日

一、实验目的 1.掌握基本的网络知识。 2.掌握CMD一些基本命令,并学会运用这些命令排除一些基本问题。 二、具体实验内容及步骤 1.Ping命令的使用 点击―开始‖—〉―运行‖,在―运行‖对话框―打开‖后键入cmd,按―确定‖,到命令行方式下。 实验步骤: 1)回环测试。这个ping命令被送到本地计算机IP软件。这一命令可以用来检测TCP/IP的安装或运行存在的某些最基本的问题。 C:\>ping 127.0.0.1 2)Localhost是127.0.0.1的别名,我们也可以利用localhost来进行回环测试,每台计算机都能够将名称localhost转换成地址127.0.0.1。如果做不到这一点,则表示主机文件(host)中存在问题。 C:\>ping localhost

3)Ping本机IP。若无回复,说明本地计算机的TCP/IP安装或配置存在问题。 C:\>ping –t 192.168.2.37 在命令中加入参数-t,本地计算机应该始终对该ping命令做出应答,使用ctrl+C终止操作。 4)Ping局域网内其它主机IP。该命令对局域网内的其它主机发送回送请求信息。

如果能够收到对方主机的回送应答信息,表明本地网络中的网卡和传输媒体运行正常。 C:\>ping 192.168.2.55 5)Ping网关:如果能够收到应答信息,则表明网络中的网关路由器运行正常。 C:\>ping 192.168.2.1 6)Ping域名服务器:如果能够收到应答信息,则表明网络中的域名服务器运行正常。 C:\>ping 202.117.128.2

伽马射线的吸收实验报告

(3 ) 实验3:伽马射线的吸收 实验目的 1 ? 了解 射线在物质中的吸收规律。 2。测量 射线在不同物质中的吸收系数。 3?学习正确安排实验条件的方法。 内容 1. 选择良好的实验条件,测量 60 Co (或 137 CS)的 射线在一组吸收片(铅、 铜、或铝) 中的吸收曲线,并由半吸收厚度定出线性吸收系数。 2. 用最小二乘直线拟合的方法求线性吸收系数。 原理 1.窄束射线在物质中的衰减规律 射线与物质发生相互作用时,主要有三种效应:光电效应、康普顿效应 和电子对效应(当 射线能量大于1.02MeV 时,才有可能产生电子对效应)。 准直成平行束的 射线,通常称为窄束 射线。单能的窄束 射线在穿过物质时, 其强度就会减弱,这种现象称为 射线的吸收。 射线强度的衰减服从指数规律,即 =1 性吸收系数(P= σr N ,单位为Cm )。显然μ的大小反映了物质吸收 Y 射线能力的 大小。 由于在相同的实验条件下, 某一时刻的计数率 n 总是与该时刻的 射线强度I 成正 比,因此I 与X 的关系也可以用 n 与X 的关系来代替。由式我们可以得到 —X n = n °e (2 ) 可见,如果在半对数坐标纸上绘制吸收曲线,那末这条吸收曲线就是一条直线,该直 线的斜率的绝对值就是线性吸收系数 J . r NX I o e ∣°e'x 其中∣o ,∣分别是穿过物质前、后的 射线强度,X 是射线穿过的物质的厚度(单位 为cm ), σr 是三种效应截面之和, N 是吸收物质单位体积中的原子数, J 是物质的线 In n=l n n °- J X

10 计 ?104 専 ,LO3 IO1 厚反。K 图1 γ???S??X 由于射线与物质相互作用的三种效应的截面都是随入射射线的能量E和吸收物质的原子序数Z而变化,因此单能射线的线性吸收系数是物质的原子序数 Z和能量E L f的函数. 式中^Ph、%、”p分别为光电、康普顿、电子对效应的线性吸收系数。其中 物质对射线的吸收系数也可以用质量吸收系数^m来表示。

编译原理实验报告实验一编写词法分析程序

编译原理实验报告实验名称:实验一编写词法分析程序 实验类型:验证型实验 指导教师:何中胜 专业班级:13软件四 姓名:丁越 学号: 电子邮箱: 实验地点:秋白楼B720 实验成绩: 日期:2016年3 月18 日

一、实验目的 通过设计、调试词法分析程序,实现从源程序中分出各种单词的方法;熟悉词法分析 程序所用的工具自动机,进一步理解自动机理论。掌握文法转换成自动机的技术及有穷自动机实现的方法。确定词法分析器的输出形式及标识符与关键字的区分方法。加深对课堂教学的理解;提高词法分析方法的实践能力。通过本实验,应达到以下目标: 1、掌握从源程序文件中读取有效字符的方法和产生源程序的内部表示文件的方法。 2、掌握词法分析的实现方法。 3、上机调试编出的词法分析程序。 二、实验过程 以编写PASCAL子集的词法分析程序为例 1.理论部分 (1)主程序设计考虑 主程序的说明部分为各种表格和变量安排空间。 数组 k为关键字表,每个数组元素存放一个关键字。采用定长的方式,较短的关键字 后面补空格。 P数组存放分界符。为了简单起见,分界符、算术运算符和关系运算符都放在 p表中 (编程时,还应建立算术运算符表和关系运算符表,并且各有类号),合并成一类。 id和ci数组分别存放标识符和常数。 instring数组为输入源程序的单词缓存。 outtoken记录为输出内部表示缓存。 还有一些为造表填表设置的变量。 主程序开始后,先以人工方式输入关键字,造 k表;再输入分界符等造p表。 主程序的工作部分设计成便于调试的循环结构。每个循环处理一个单词;接收键盘上 送来的一个单词;调用词法分析过程;输出每个单词的内部码。 ⑵词法分析过程考虑 将词法分析程序设计成独立一遍扫描源程序的结构。其流程图见图1-1。 图1-1 该过程取名为 lexical,它根据输入单词的第一个字符(有时还需读第二个字符),判断单词类,产生类号:以字符 k表示关键字;i表示标识符;c表示常数;p表示分界符;s表示运算符(编程时类号分别为 1,2,3,4,5)。 对于标识符和常数,需分别与标识符表和常数表中已登记的元素相比较,如表中已有 该元素,则记录其在表中的位置,如未出现过,将标识符按顺序填入数组id中,将常数 变为二进制形式存入数组中 ci中,并记录其在表中的位置。 lexical过程中嵌有两个小过程:一个名为getchar,其功能为从instring中按顺序取出一个字符,并将其指针pint加1;另一个名为error,当出现错误时,调用这个过程, 输出错误编号。 2.实践部分

γ射线的能谱测量和吸收测定_实验报告

γ射线能谱的测量 【摘要】某些物质的原子核能够发生衰变,放出我们肉眼看不见也感觉不到的射线,γ射线产生的原因正是由于原子核的能级跃迁。我们通过测量γ射线的能量分布,可确定原子核激发态的能级,这对于放射性分析,同位素应用及鉴定核素等都有重要意义。因此本实验通过使用γ闪烁谱仪测定不同的放射源的γ射线能谱。同时学习和掌握γ射线与物质相互作用的特性,并且测定窄束γ射线在不同物质中的吸收系数μ。 【关键词】γ射线能谱γ闪烁谱仪 【引言】从1896年的法国科学家贝可勒尔发现放射性现象开始,经过居里夫人等一系列科学家对一些新放射性元素的发现及其性质进行研究的杰出工作后,人类便进入了对原子核能研究、利用的时代。 而原子核衰变能放出α、β、γ三种射线,这些射线可以通过仪器精确测量。本次实验主要研究γ射线,通过对γ射线谱的研究可了解核的能级结构。γ射线有很强的穿透力,工业中可用来探伤或流水线的自动控制。人体受到γ射线照射时,γ射线可以进入到人体的内部,并与体内细胞发生电离作用,电离产生的离子能侵蚀复杂的有机分子,如蛋白质、核酸和酶,它们都是构成活细胞组织的主要成份,一旦它们遭到破坏,就会导致人体内的正常化学过程受到干扰,严重的可以使细胞死亡。 因此本次实验研究了不同材料对于γ射线的吸收情况这是非常具有实际意义的,比如在居民区制造防空洞的时候可以使用一定厚度的抗辐射材料确保安全,而且在核电站、军事防护地以及放射源存放处等地方我们都有必要使用防辐射材料。 γ射线与物质的相互作用主要是光电效应、康普顿散射和正、负电子对产生这三种过程,如下图所示。 本实验主要研究的是窄束γ射线在物质中的吸收规律。所谓窄束γ射线是指不包括散射成份的射线束,仅由未经相互作用或称为未经碰撞的光子所组成。窄束γ射线再穿过物质时,由于上述三种效应,其强度就会减弱,这种现象称为γ射线的吸收。γ射线强度随物质厚度的衰减服从指数规律。 本次实验仪器如下:

编译原理实验报告

编译原理实验报告 姓名: 学号: 班级: 学院: 南昌大学信息工程学院计算机系 2014年6月

目录 实验一 (3) 实验二 (8) 实验三 (15)

实验1 词法分析程序的设计 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 一、实验目的 掌握计算机语言的词法分析程序的开发方法。 二、实验内容 编制一个能够分析三种整数、标识符、主要运算符和主要关键字的词法分析程序。 三、实验要求 1、根据以下的正规式,编制正规文法,画出状态图; 标识符<字母>(<字母>|<数字字符>)* 十进制整数0 |(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 如有余力,则进一步分析八进制和十六进制整数,其正规式如下: 八进制整数0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六进制整数0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* 运算符和界符+ - * / > < =<= >=( ) ;{ } 关键字main if then else while do int (可根据需要添加) 2、根据状态图,设计词法分析函数int scan( ),完成以下功能: 1)从文本文件中读入测试源代码,根据状态转换图,分析出一个单词, 2)以二元式形式输出单词<单词种类,单词属性> 其中单词种类用整数表示: 0:标识符 1:十进制整数 2:八进制整数 3:十六进制整数 运算符和界符,关键字采用一字一符,不编码 其中单词属性表示如下: 标识符,整数由于采用一类一符,属性用单词表示 运算符和界符,关键字采用一字一符,属性为空 3、编写测试程序,反复调用函数scan( ),输出单词种别和属性。 四、实验环境 PC微机 DOS操作系统或Windows 操作系统 Turbo C 程序集成环境或Visual C++ 程序集成环境

实验报告2 常用网络命令的使用

计算机网络实验报告 班级信工(2)班日期 2016-5-12 学号 20130702047 姓名李格 实验名称常用网络命令的使用 一、实验目的 1. 掌握几种常用的网络命令,通过使用这些命令能检测常见网络故障。 2. 理解各命令的含义,并能解释其显示内容的意义。 二、实验步骤 (一)ping 命令的使用 1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。 2、输入ping/? 回车,了解ping命令的基本用法。结果如下: 最常用的ping命令是在ping后面直接跟域名或IP地址。测试内网或外网的联通情况。 3、依次输入以下命令并查看分析结果。 (1)输入ping https://www.wendangku.net/doc/b23052452.html,并回车查看分析结果。 结果如下:

分析: (2)输入ping 218.197.176.10并回车查看分析结果。结果如下: 分析: (3)输入ping https://www.wendangku.net/doc/b23052452.html, 并回车查看分析结果。结果如下: 分析: (3)输入pi ng 121.14.1.189 并回车查看分析结果。

结果如下: 分析: 4、使用不同的参数测试ping命令。 结果如下: 分析: (二)ipconfig 命令的使用 1、单击开始按钮,输入cmd 并按回车键,进入windows DOS环境。 2、输入ipconfig/? 回车,了解ipconfig 命令的基本用法。结果如下:

3、依次输入以下命令并查看分析结果。 (1)输入ipconfig 并回车查看并分析结果。结果如下:

分析: (2)输入ipconfig/all 并回车查看分析结果。结果:

编译原理实验报告

编译原理实验报告 班级 姓名: 学号: 自我评定:

实验一词法分析程序实现 一、实验目的与要求 通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符形式的源程序流转化为一个由各类单词符号组成的流的词法分析方法。 二、实验内容 根据教学要求并结合学生自己的兴趣和具体情况,从具有代表性的高级程序设计语言的各类典型单词中,选取一个适当大小的子集。例如,可以完成无符号常数这一类典型单词的识别后,再完成一个尽可能兼顾到各种常数、关键字、标识符和各种运算符的扫描器的设计和实现。 输入:由符合或不符合所规定的单词类别结构的各类单词组成的源程序。 输出:把单词的字符形式的表示翻译成编译器的内部表示,即确定单词串的输出形式。例如,所输出的每一单词均按形如(CLASS,VALUE)的二元式编码。对于变量和常数,CLASS字段为相应的类别码;VALUE字段则是该标识符、常数的具体值或在其符号表中登记项的序号(要求在变量名表登记项中存放该标识符的字符串;常数表登记项中则存放该常数的二进制形式)。对于关键字和运算符,采用一词一类的编码形式;由于采用一词一类的编码方式,所以仅需在二元式的CLASS字段上放置相应的单词的类别码,VALUE字段则为“空”。另外,为便于查看由词法分析程序所输出的单词串,要求在CLASS字段上放置单词类别的助记符。 三、实现方法与环境 词法分析是编译程序的第一个处理阶段,可以通过两种途径来构造词法分析程序。其一是根据对语言中各类单词的某种描述或定义(如BNF),用手工的方式(例如可用C语言)构造词法分析程序。一般地,可以根据文法或状态转换图构造相应的状态矩阵,该状态矩阵同控制程序便组成了编译器的词法分析程序;也可以根据文法或状态转换图直接编写词法分析程序。构造词法分析程序的另外一种途径是所谓的词法分析程序的自动生成,即首先用正规式对语言中的各类单词符号进行词型描述,并分别指出在识别单词时,词法分析程序所应进行的语义处理工作,然后由一个所谓词法分析程序的构造程序对上述信息进行加工。如美国BELL实验室研制的LEX就是一个被广泛使用的词法分析程序的自动生成工具。 总的来说,开发一种新语言时,由于它的单词符号在不停地修改,采用LEX等工具生成的词法分析程序比较易于修改和维护。一旦一种语言确定了,则采用手工编写词法分析程序效率更高。 四、实验设计 1)题目1:试用手工编码方式构造识别以下给定单词的某一语言的词法分析程序。 语言中具有的单词包括五个有代表性的关键字begin、end、if、then、else;标识符;整型常数;六种关系运算符;一个赋值符和四个算术运算符。参考实现方法简述如下。 单词的分类:构造上述语言中的各类单词符号及其分类码表。 表I 语言中的各类单词符号及其分类码表 单词符号类别编码类别码的助记符单词值

γ射线的吸收实验报告

丫射线的吸收 一、实验目的: 1. 了解丫射线在物质中的吸收规律。 2. 掌握测量丫吸收系数的基本方法。 、实验原理: 1. 窄束丫射线在物质中的吸收规律。 Y 射线在穿过物质时, 会与物质发生多种作用, 主要有光电效应,康普顿效应和电子对 效应,作用 的结果使 Y 射线的强度减弱。 准直成平行束的 丫射线称为窄束 Y 射线,单能窄束 Y 射线在穿过物质时,其强度的 减弱服从指数衰减规律,即: ⑴ 其中|0为入射Y 射线强度,|x 为透射Y 射线强度,X 为Y 射线 穿透的样品厚度, 卩为 T ^I x /1 。与厚度X 的关系曲线,便可根据(1)式 内部组织病变的诊断和治疗,如 x 光透视,x 光CT 技术,对肿瘤的放射性治疗等。图 1表示 铅、锡、铜、铝材料对 丫射线的线性吸收系数 □随能量E 线性吸收系数。用实验的方法测得透射率 求得线性吸收系数 4值。 为了减小测量误差,提高测量结果精度。 合来求解。 实验上常先测得多组 | x 与X 的值,再用曲线拟 则: In I x =I n 10 — A x 由于 可得: Y 射线与物质主要发生三种相互作用,三种相互作用对线性吸收系数 (2) 4都有贡献, ? ph 为光电效应的贡献, 巴为康普顿效应的贡献, 丫光子的能量E r 有关,而且还与材料的原子序数、 能量相同的 Y 射线不同的材料、 4也有不同的值。医疗上正是根据这一原理,来实现对人体 式中 的值不但与 LI P 为电子对效应的贡献。它们 原子密度或分子密度有关。对于 Y 变化关系。

hU出、谢.册、粗时*斯维的吗临的氏痰

图中横座标以 Y 光子的能量 h u 与电子静止能量 mc 2 的比值为单位,由图可见,对于铅低 能Y 射线只有光电效应和康普顿效应,对高能 Y 射线,以电子对效应为主。 为了使用上的方便,定义 卩m =卩/p 为质量吸收系数,P 为材料的质量密度。则(1)式可 改写成如下的形式: I X = 10e"m 式中X m =X P ,称为质量厚度,单位是 半吸收厚度X i/2: 物质对Y 射线的吸收能力也常用半吸收厚度来表示, 其定义为使入射 Y 射线强度减弱到一 半所需要吸收物质的厚度。由(1 )式可得: In 2 三、实验内容与要求 g/cm 2 。 显然也与材料的性质和 Y 射线的能量有关。 图 2表示铝、铅的半吸收厚度与 E 下的关系。 若用实验方法测得半吸收厚度, 则可根据( 4) 求得材料的线性吸收系数 卩值。 1. 按图3检查测量装置, 调整探测器位置, 使放射源、准直孔、 探测器具有同一条中心线。 2. 打开微机多道系统的电源,使微机进入多道分析器工作状态( 3. 4. 5. 选择合适的高压值及放大倍数,使在显示器上得到一个正确的 测量不同吸收片厚度 x 的60 Co 的能谱,并从能谱上计算出所要的积分计数 I b 。 测量完毕,取出放射源,在相同条件下,测量本底计数 V,, UMS )。 60 Co Y 能谱。 1 x 。 6?把高压降至最低值,关断电源。 7?用最小二乘法求出 丫吸收系数 卩及半吸收厚度d ? 阳3半吸收1^.15和丫貼线能 就的爻衆 2. 百 ■岂蟄里密券 主 Mt ilLf S 零 jfi 打卬机

实验一 熟悉常用的网络命令实验报告

实验一熟悉常用的网络命令 序号:姓名:李哲旭学号:20141120117成绩指导教师: 1.实验目的: 学会使用常用ping ,ipconfig, nslookup, arp ,tracert等常用网络测试命令检测网络连通、了解网络的配置状态,跟踪路由诊断域名系统等相关网络问题。 2实验环境: (1)运行windows 8.1操作系统的PC一台 (2)每台PC机具有一块网卡,通过双绞线与局域网网相连。 (3)局域网能连接Internet 3.实验步骤: 参见实验指导手册内容。 4.实验分析,回答下列问题 (1)查看本机TCP/IP协议配置,看你的计算机是通过自动获取IP还是通过手动方式设置IP地址的?写出你判断的理由。 自动获取IP地址 (2)如果是通过手动方式获取IP地址,可以直接读出IP地址,子网掩码,默认网关,首选DNS服务器地址,备用DNS服务器地址。填写下表。 如果是采用动态获取IP地址,如何获取完整的TCP/IP配置信息,请写出解决步骤。并填写下表。 点击运行,输入cmd,使用ipconfig/all命令 IP地址113.55.91.78

子网络掩码255.255.255.255 默认网关fe80::21e:73ff:fe9a:c820%1450. 0.0.0 首选DNS服务器地址202.203.208.33 备用DNS服务器地址222.203.208.33 (3)显示完整的TCP/IP的配置信息。 (4)在获取本机IP地址之后,在MS-DOS方式下运行下列Ping命令,填写实验运行结果(可附截图)。 (a)ping本机IP地址 (b)ping 本机IP地址–t

物质对伽马射线的吸收实验报告

近代物理实验报告指导教师:得分: 实验时间: 2009 年 12 月 14 日,第十六周,周一,第 5-8 节 实验者:班级材料0705 学号 5 姓名童凌炜 同组者:班级材料0705 学号 7 姓名车宏龙 实验地点:综合楼 507 实验条件:室内温度℃,相对湿度 %,室内气压 实验题目:物质对伽马射线的吸收 实验仪器:(注明规格和型号) 射线放射源;闪烁探头;高压电源;放大器;多道脉冲幅度分析器;吸收片若干。 仪器组成如下图所示: 实验目的: 1.了解掌握射线与物质相互作用的性质和特点 2.学习掌握物质对射线的吸收规律 3.测量射线在不同物质中的吸收系数 4. 实验原理简述: 当原子核发生α和β衰变时,通常衰变到原子 核的激发态,由于处于激发态的原子核是不稳定的, 它要向低激发态跃迁,同时往往放出γ光子,这一现 象称为γ衰变。γ光子会与下列带电体发生相互作 用,原子中的束缚电子,自由电子,库伦场及核子。 这些类型的相互作用可以导致下列三种过程的一种发生:光子完全吸收、弹性散射、非弹性散射。如右所示为为γ射线与物质相互作用的示意图

图中的三种状况分别为: 1. 低能时以光电效应为主。 2. 光子可以被原子或单个电子散射到另一方向,其能量可损失也可不损失。 3. 若入射光子的能量超过,则电子对的生成成为可能 从上面的讨论可以清楚地看到,当γ光子穿过吸收物质时,通过与物质原子发生光电效应、康普顿效应和电子对效应能量损失,γ射线一旦与吸收物质原子发生这三种相互作用,原来能量为的光子就消失,或散射后能量改变、偏离原来的入射方向;总之,一旦发生相互作用,就从原来的入射束中移去。γ射线穿过物质是,强度逐渐减弱,按指数规律衰减,不与物质发生相互作用的光子穿过吸收层,其能量保持不变,因而没有射程概念可言,但可用“半吸收厚度”来表示γ射线对物质的穿透情况。 本实验研究的主要是窄束γ射线在物质中的吸收规律。所谓窄束γ射线是指不包括散射成分的射线束通过吸收后的光子,仅由未经相互作用或未经碰撞的光子组成。射线束有一定宽度,只要没有散射光子,就可称之为“窄束”。 射线强度随物质厚度的衰减服从指数规律,即x e I I μ-=0 I 和0I 分别是穿透物质前后的γ射线强度;x 是γ射线穿过物质的厚度是光电、康普顿、电子对三种 效应截面之和;N 是吸收物质单位体积中的原子数;μ是物质的吸收系数, 反映了物质吸γ收射线能力的大小, 并且可以分解成这样几项: p c ph μμμμ++= γ射线与物质相互作用的三种效应的截面都随入射γ射线的能量γE 和吸收物质的原子序数Z 而改变。 如右所示, 图中给出了铅对γ射线的吸收系数与γ射线能量的线性关系图。 实际中通常用质量厚度)(2 -??=cm g x R m ρ来表示 吸收体的厚度,以消除密度的影响, 则射线强度的表达式修改为:ρ μ/0)(m R m e I R I -= 计数率N 总是与该时刻的射线强度成正比,因此可得:0InN R InN m +- =ρ μ 将对数形式的吸收曲线表达为图像, 得到这样的一条直线, 如右图所示. 并且可以从这条直线的斜率求出

编译原理实验报告一 简单样本语言的词法分析器

理工大学信息工程与自动化学院学生实验报告 (2012 —2013学年第一学期) 一、实验目的及容 编译技术是理论与实践并重的课程,而其实验课要综合运用所学的多门课程的容,用来完成一个小型编译程序。从而巩固和加强对词法分析、语法分析、语义分析、代码生成和报错处理等理论的认识和理解;培养学生对完整系统的独立分析和设计的能力,进一步培养学生的独立编程能力。 调试并完成一个词法分析程序,加深对词法分析原理的理解。 二、实验原理及基本技术路线图(框原理图或程序流程图) 1、待分析的简单语言的词法 (1)关键字: begin if then while do end 所有关键字都是小写。 (2)运算符和界符: := + –* / < <= <> > >= = ; ( ) #

(3)其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义:ID=letter(letter| digit)* NUM=digit digit * (4)空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、界符和关键字,词法分析阶段通常被忽略。 2、各种单词符号对应的种别码 3、词法分析程序的功能 输入:所给文法的源程序字符串。 输出:二元组(syn,token或sum)构成的序列。 其中:syn为单词种别码; token为存放的单词自身字符串; sum为整型常数。 二、所用仪器、材料(设备名称、型号、规格等或使用软件)

1台PC以及VISUAL C++6.0软件。 三、实验法、步骤(或:程序代码或操作过程) (1)程序代码: #include #include #include char prog[80],token[8]; char ch; int syn,p,m=0,n,row,sum=0; char *rwtab[6]={"begin","if","then","while","do","end"}; void scaner() { for(n=0;n<8;n++) token[n]=NULL; ch=prog[p++]; while(ch==' ') { ch=prog[p]; p++; } if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) { m=0; while((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) { token[m++]=ch; ch=prog[p++]; } token[m++]='\0'; p--; syn=10; for(n=0;n<6;n++)

实验一 常用网络命令的使用 实验报告

实验一、常用网络命令的使用 课程计算机网络班级2013167 姓名郑棋元 完成日期15年4月2 日课(内、外)总计本实验用时间四个小时【实验目的】 1.掌握常用网络命令的使用方法; 2.熟悉和掌握网络管理、网络维护的基本内容和方法 【实验内容】 1.阅读实验指导书提供的资料,结合本地环境对WINDOWS 常用网络命 令进行测试和练习。 2.分析总结实验场地的网络环境、拓扑结构、上网方式等。 【实验步骤和结果】 ⑴ARP:

⑵ftp

⑶Ipconfig ⑷Nbtstat

⑸net: ⑹Netstat ⑺Ping

⑻Route ⑼Telnet 没能调试出来⑽Tracert

【实验思考题】 1.说明如何了解本机及其所处网络的网络配置信息? 输入Ipconfig/all(该诊断命令显示所有当前的 TCP/IP 网络配置值) 2.若网络出现故障,说明使用网络命令进行故障检测的常用步骤? 运用Ping(验证与远程计算机的连接) ping 任一IP地址,如果能ping通,说明你的电脑的TCP/IP没有错误。 ping 自己的IP地址,如果能ping通,说明你的网卡都正常。 ping 路由。如果能通,说明你的主机到路由的物理连接还都正常。 ping 网址。如果能通却还是打不开网页,说明dns有错误。 【实验总结】 常用的网络命令虽然看起来简单,可能觉得没什么用处,但是对于网络问题的诊断却非常有用。用windows系统自带的命令行中的常用网络命令来诊断网络故障,不仅快捷,而且信息反映直观。 【实验心得与体会】 掌握了很多常用却不知道或知道却不熟悉的网络命令的使用方法,知道了两台PC机之间传输文件的多种方式。

编译原理实验报告总结

学年第学期《编译原理》实验报告 学院(系):计算机科学与工程学院 班级:11303070A 学号:11303070*** 姓名:无名氏 指导教师:保密式 时间:2016 年7 月

目录 1.实验目的 (1) 2.实验内容及要求 (1) 3.实验方案设计 (1) 3.1 编译系统原理介绍 (1) 3.1.1 编译程序介绍 (2) 3.1.2 对所写编译程序的源语言的描述 (2) 3.2 词法分析程序的设计 (3) 3.3 语法分析程序设计 (4) 3.4 语义分析和中间代码生成程序的设计 (4) 4. 结果及测试分析 (4) 4.1软件运行环境及限制 (4) 4.2测试数据说明 (5) 4.3运行结果及功能说明 (5) 5.总结及心得体会 (7)

1.实验目的 根据Sample语言或者自定义的某种语言,设计该语言的编译前端。包括词法分析,语法分析、语义分析及中间代码生成部分。 2.实验内容及要求 (1)词法分析器 输入源程序,输出对应的token表,符号表和词法错误信息。按规则拼单词,并转换成二元形式;滤掉空白符,跳过注释、换行符及一些无用的符号;进行行列计数,用于指出出错的行列号,并复制出错部分;列表打印源程序;发现并定位词法错误; (2)语法分析器 输入token串,通过语法分析,寻找其中的语法错误。要求能实现Sample 语言或自定义语言中几种最常见的、基本的语法单位的分析:算术表达式、布尔表达式、赋值语句、if语句、for语句、while语句、do while语句等。 (3)语义分析和中间代码生成 输入token串,进行语义分析,修改符号表,寻找其中的语义错误,并生 成中间代码。要求能实现Sample语言或自定义语言中几种最常见的、基本的语法单位的分析:算术表达式、布尔表达式、赋值语句、if语句、for语句、while 语句、do while语句等。 实验要求:功能相对完善,有输入、输出描述,有测试数据,并介绍不足。3.实验方案设计 3.1 编译系统原理介绍 编译器逐行扫描高级语言程序源程序,编译的过程如下: (1).词法分析 识别关键字、字面量、标识符(变量名、数据名)、运算符、注释行(给人看的,一般不处理)、特殊符号(续行、语句结束、数组)等六类符号,分别归类等待处理。 (2).语法分析 一个语句看作一串记号(Token)流,由语法分析器进行处理。按照语言的文法检查判定是否是合乎语法的句子。如果是合法句子就以内部格式保存,否则报错。直至检查完整个程序。 (3).语义分析 语义分析器对各句子的语法做检查:运算符两边类型是否相兼容;该做哪些类型转换(例如,实数向整数赋值要"取整");控制转移是否到不该去的地方;是

伽马射线的吸收实验报告

实验3:伽马射线的吸收 实验目的 1. 了解γ射线在物质中的吸收规律。 2. 测量γ射线在不同物质中的吸收系数。 3. 学习正确安排实验条件的方法。 内容 1. 选择良好的实验条件,测量60Co (或137Cs )的γ射线在一组吸收片(铅、 铜、或铝)中的吸收曲线,并由半吸收厚度定出线性吸收系数。 2. 用最小二乘直线拟合的方法求线性吸收系数。 原理 1. 窄束γ射线在物质中的衰减规律 γ射线与物质发生相互作用时,主要有三种效应:光电效应、康普顿效应 和电子对效应(当γ射线能量大于1.02MeV 时,才有可能产生电子对效应)。 准直成平行束的γ射线,通常称为窄束γ射线。单能的窄束γ射线在穿过物质时,其强度就会减弱,这种现象称为γ射线的吸收。γ射线强度的衰减服从指数规律,即 x Nx e I e I I r μσ--==00 ( 1 ) 其中I I ,0分别是穿过物质前、后的γ射线强度,x 是γ射线穿过的物质的厚度(单位为cm ),r σ是三种效应截面之和,N 是吸收物质单位体积中的原子数,μ是物质的线性吸收系数(N r σμ=,单位为1 =cm )。显然μ的大小反映了物质吸收γ射线能力的大小。 由于在相同的实验条件下,某一时刻的计数率n 总是与该时刻的γ射线强度I 成正比,因此I 与x 的关系也可以用n 与x 的关系来代替。由式我们可以得到 x e n n μ-=0 ( 2 ) ㏑n=㏑n 0-x μ ( 3 ) 可见,如果在半对数坐标纸上绘制吸收曲线,那末这条吸收曲线就是一条直线,该直

线的斜率的绝对值就是线性吸收系数μ。 由于γ射线与物质相互作用的三种效应的截面都是随入射γ射线的能量γE 和吸收 物质的原子序数Z 而变化,因此单能γ射线的线性吸收系数μ是物质的原子序数Z 和能量γE 的函数。 p c ph μμμμ++= ( 4 ) 式中ph μ、c μ、p μ分别为光电、康普顿、电子对效应的线性吸收系数。其中 5 Z ph ∝μ Z c ∝μ ( 5 ) 2 Z p ∝μ 图2给出了铅、锡、铜、铝对γ射线的线性吸收系数与γ射线能量的关系曲线。 物质对γ射线的吸收系数也可以用质量吸收系数m μ来表示。

编译原理实验报告5

编译原理实验报告五年月日 姓名学号姓名学号 系年级 2012级专业计算机科目编译原理 题目验证Yacc的使用 实验目的 熟悉语法分析器生成工具Yacc的使用,并学会在cygwin下使用bison工具编译Yacc文法说明文件。学习如何使用lex和yacc合作进行语法分析。 实验内容 根据给出的calculator例子 (calculator0,calculator1,calculator2,calculator3)完成下面题目:用lex 和yacc写一个计算布尔表达式真值的计算器。 实验要求 输入为一个布尔表达式,以换行结束。输出为这个布尔表达式的真值(true 或false)。尝试二义文法和非二义文法两种不同的实现方式。布尔表达式二义文法为:S –> S or S | S and S | not S | (S) | true | false,其中优先级or < and < not,or 和 and 左结合,not 右结合。非二义文法请参照表达式非二义文法自己写出来。 cygwin下用flex,bison和gcc工具将实验调试通过,并写出测试例测试正确性。 实验参考: calculator0-3这四个例子。请认真阅读例子,发现错误及时提出。 代码编写或修改 实验结果

非二义: 二义(版本1,未去掉对于运算结合性的定义):

以上的内容按照我们的计算顺序都是对的,一开始无法相通为什么二义与非二义的结果相同,后来明白了,于是有了下面的一个版本的结果。 二义(版本2,去掉了运算结合性的定义) 这两项本来应该的结果与其相反,说明了二义文法如果不进行运算符优先性、结合性的定义,则会造成预料不到的结果。 实验心得 1.要深刻理解二义与非二义文法的内涵与区别,才能更好地完成这个实验;

编 译 原 理 实 验 报 告

编译原理实验报告 课程:编译原理 系别:计算机系 班级:11网络 姓名:王佳明 学号:110912049 教师:刘老师 实验小组:第二组 1

实验一熟悉C程序开发环境、进行简单程序的调试 实验目的: 1、初步了解vc++6.0环境; 2、熟悉掌握调试c程序的步骤: 实验内容: 1、输入下列程序,练习Turbo C 程序的编辑、编译、运行。 #include main() { printf(“Programming is fun.\n”); } 2、分析程序,预测其运行结果,并上机检测你的预测。 #include main() { printf(“*\n”); printf(“* * *\n”); printf(“* * * * *\n”); printf(“* * * * * * *\n”); } 3、下面是一个加法程序,程序运行时等待用户从键盘输入两个整数,然后求出它们的和并输出。观察运行结果(程序输出),上机验证该程序。 #include main() { int a,b,c; printf(“Please input a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; printf(“%d+%d=%d\n”,a,b,c); } 2

实验二词法分析器 一、实验目的: 设计、编制、调试一个词法分析子程序-识别单词,加深对词法分析原理的理解。 二、实验要求: 1.对给定的程序通过词法分析器弄够识别一个个单词符号,并以二元式(单词种别码,单词符号的属性值)显示。而本程序则是通过对给定路径的文件的分析后以单词符号和文字提示显示。 2.本程序自行规定: (1)关键字"begin","end","if","then","else","while","write","read", "do", "call","const","char","until","procedure","repeat" (2)运算符:"+","-","*","/","=" (3)界符:"{","}","[","]",";",",",".","(",")",":" (4)其他标记如字符串,表示以字母开头的标识符。 (5)空格、回车、换行符跳过。 在屏幕上显示如下: ( 1 , 无符号整数) ( begin , 关键字) ( if , 关键字) ( +, 运算符) ( ;, 界符) ( a , 普通标识符) 三、使用环境: Windows下的visual c++6.0; 四、调试程序: 1.举例说明文件位置:f:、、11.txt目标程序如下: begin x:=9 if x>0 then x:=x+1; while a:=0 do 3

γ射线的吸收实验报告

γ射线的吸收 一、实验目的: 1. 了解γ射线在物质中的吸收规律。 2. 掌握测量γ吸收系数的基本方法。 二、实验原理: 1. 窄束 γ射线在物质中的吸收规律。 γ射线在穿过物质时,会与物质发生多种作用,主要有光电效应,康普顿效应和电子对效应,作用的结果使 γ射线的强度减弱。 准直成平行束的 γ射线称为窄束 γ射线,单能窄束 γ射线在穿过物质时,其强度的减弱服从指数衰减规律,即: x x e I I μ-=0 (1) 其中 0I 为入射 γ射线强度, x I 为透射 γ射线强度,x 为 γ射线穿透的样品厚度, μ为线性吸收系数。用实验的方法测得透射率 0/I I T x =与厚度 x 的关系曲线,便可根据(1)式 求得线性吸收系数 μ值。 为了减小测量误差,提高测量结果精度。实验上常先测得多组 x I 与 x 的值,再用曲线拟 合来求解。则: x I I x μ-=0ln ln (2) 由于 γ射线与物质主要发生三种相互作用,三种相互作用对线性吸收系数 μ都有贡献, 可得: p c ph μμμμ++= (3) 式中 ph μ为光电效应的贡献, c μ为康普顿效应的贡献, p μ为电子对效应的贡献。它们的值不但与 γ光子的能量E r 有关,而且还与材料的原子序数、原子密度或分子密度有关。对于能量相同的 γ射线不同的材料、 μ也有不同的值。医疗上正是根据这一原理,来实现对人体内部组织病变的诊断和治疗,如 x 光透视, x 光CT 技术,对肿瘤的放射性治疗等。图1表示 铅、锡、铜、铝材料对 γ射线的线性吸收系数μ随能量E γ变化关系。

图中横座标以 γ光子的能量 υh 与电子静止能量mc 2的比值为单位,由图可见,对于铅低能 γ射线只有光电效应和康普顿效应,对高能 γ射线,以电子对效应为主。 为了使用上的方便,定义μm =μ/ρ为质量吸收系数,ρ为材料的质量密度。则(1)式可改写成如下的形式: m m x x e I I μ-=0 (4) 式中x m =x·ρ,称为质量厚度,单位是g/cm 2。 半吸收厚度x 1/2: 物质对 γ射线的吸收能力也常用半吸收厚度来表示,其定义为使入射 γ射线强度减弱到一半所需要吸收物质的厚度。由(1)式可得: μ2 ln 2 1= x (5) 显然也与材料的性质和 γ射线的能量有关。图2表示铝、铅的半吸收厚度与E γ的关系。若用实验方法测得半吸收厚度,则可根据(4)求得材料的线性吸收系数μ值。 三、实验内容与要求 1.按图3检查测量装置,调整探测器位置,使放射源、准直孔、探测器具有同一条中心线。 2.打开微机多道系统的电源,使微机进入多道分析器工作状态(UMS )。 3.选择合适的高压值及放大倍数,使在显示器上得到一个正确的60Co γ能谱。 4.测量不同吸收片厚度x 的60Co 的能谱,并从能谱上计算出所要的积分计数 x I 。 5.测量完毕,取出放射源,在相同条件下,测量本底计数 b I 。 6.把高压降至最低值,关断电源。 7.用最小二乘法求出 γ吸收系数μ及半吸收厚度d ?

编译原理实验报告一

实验一词法分析程序实现 一、实验目得与要求 通过编写与调试一个词法分析程序,掌握在对程序设计语言得源程序进行扫描得过程中,将字符流形式得源程序转化为一个由各类单词符号组成得流得词法分析方法 二、实验内容 基本实验题目:若某一程序设计语言中得单词包括五个关键字begin、end、if、then、else;标识符;无符号常数;六种关系运算符;一个赋值符与四个算术运算符,试构造能识别这些单词得词法分析程序(各类单词得分类码参见表I)。 表I语言中得各类单词符号及其分类码表 输入:由符合与不符合所规定得单词类别结构得各类单词组成得源程序文件。 输出:把所识别出得每一单词均按形如(CLASS,VALUE)得二元式形式输出,并将结果放到某个文件中。对于标识符与无符号常数,CLASS字段为相应得类别码得助记符;V AL UE字段则就是该标识符、常数得具体值;对于关键字与运算符,采用一词一类得编码形式,仅需在二元式得CLASS字段上放置相应单词得类别码得助记符,V ALUE字段则为“空". 三、实现方法与环境 词法分析就是编译程序得第一个处理阶段,可以通过两种途径来构造词法分析程序.其一就是根据对语言中各类单词得某种描述或定义(如BNF),用手工得方式(例如可用C语言)构造词法分析程序。一般地,可以根据文法或状态转换图构造相应得状态矩阵,该状态矩阵连同控制程序一起便组成了编译器得词法分析程序;也可以根据文法或状态转换图直接编写词法分析程序。构造词法分析程序得另外一种途径就是所谓得词法分析程序得自动生成,即首先用正规式对语言中得各类单词符号进行词型描述,并分别指出在识别单词时,词法分析程

编译原理实验报告

《编译原理》实验报告软件131 陈万全132852

一、需求分析 通过对一个常用高级程序设计语言的简单语言子集编译系统中词法分析、语法分析、语义处理模块的设计、开发,掌握实际编译系统的核心结构、工作流程及其实现技术,获得分析、设计、实现编译程序等方面的实际操作能力,增强设计、编写和调试程序的能力。 通过开源编译器分析、编译过程可视化等扩展实验,促进学生增强复杂系统分析、设计和实现能力,鼓励学生创新意识和能力。 1、词法分析程序设计与实现 假定一种高级程序设计语言中的单词主要包括五个关键字begin、end、if、then、else;标识符;无符号常数;六种关系运算符;一个赋值符和四个算术运算符,试构造能识别这些单词的词法分析程序。 输入:由符合和不符合所规定的单词类别结构的各类单词组成的源程序文件。 输出:把所识别出的每一单词均按形如(CLASS,VALUE)的二元式形式输出,并将结果放到某个文件中。对于标识符和无符号常数,CLASS字段为相应的类别码的助记符;VALUE字段则是该标识符、常数的具体值;对于关键字和运算符,采用一词一类的编码形式,仅需在二元式的CLASS字段上放置相应单词的类别码的助记符,VALUE字段则为“空”。 2、语法分析程序设计与实现 选择对各种常见高级程序设计语言都较为通用的语法结构——算术表达式的

一个简化子集——作为分析对象,根据如下描述其语法结构的BNF定义G2[<算术表达式>],任选一种学过的语法分析方法,针对运算对象为无符号常数和变量的四则运算,设计并实现一个语法分析程序。 G2[<算术表达式>]: <算术表达式>→<项> | <算术表达式>+<项> | <算术表达式>-<项> <项>→<因式>|<项>*<因式>|<项>/<因式> <因式>→<运算对象> | (<算术表达式>) 若将语法范畴<算术表达式>、<项>、<因式>和<运算对象>分别用E、T、F和i 代表,则G2可写成: G2[E]:E → T | E+T | E-T T → F | T*F | T/F F → i | (E) 输入:由实验一输出的单词串,例如:UCON,PL,UCON,MU,ID······输出:若输入源程序中的符号串是给定文法的句子,则输出“RIGHT”,并且给出每一步分析过程;若不是句子,即输入串有错误,则输出“ERROR”,并且显示分析至此所得的中间结果,如分析栈、符号栈中的信息等,以及必要的出错说明信息。 3、语义分析程序设计与实现 对文法G2[<算术表达式>]中的产生式添加语义处理子程序,完成运算对象是简单变量(标识符)和无符号数的四则运算的计值处理,将输入的四则运算转换为四元式形式的中间代码。 输入:包含测试用例(由标识符、无符号数和+、?、*、/、(、)构成的算术表达式)的源程序文件。 输出:将源程序转换为中间代码形式表示,并将中间代码序列输出到文件中。 若源程序中有错误,应指出错误信息 二、设计思路 1、词法分析程序设计与实现 1)单词分类 为了编程的实现。我们假定要编译的语言中,全部关键字都是保留字,程序员不得将它们作为源程序中的标识符;作了这些限制以后,就可以把关键字和标识符的识别统一进行处理。即每当开始识别一个单词时,若扫视到的第一个字符为字母,则把后续输入的字母或数字字符依次进行拼接,直至扫视到非字母、数字字符为止,以期获得一个尽可能长的字母数字字符串,然后以此字符串查所谓保留字表(此保留字表要事先造好),若查到此字符串,则取出相应的类别码;反之,则表明该字符串应为一标识符。

相关文档
相关文档 最新文档