文档库 最新最全的文档下载
当前位置:文档库 › 东北大学编译原理实验一

东北大学编译原理实验一

东北大学编译原理实验一
东北大学编译原理实验一

编译原理

1 实验题目:词法分析。

2 实验目的:熟悉并实现一个简单的扫描器。

3 实验内容

1、设计扫描器的自动机;

2、设计翻译、生成Token的算法;

3、编写代码并上机调试运行通过。

4 概要设计

(1)标示符及常量

标示符0

字符常量 1

字符串常量 2

数字常量 3

(2)关键字表

单词编码main 4 char 5 int 6 float 7 struct 8

(3)界符表

+ 9

* 10 { 11 } 12 = 13 ,14 [ 15 ] 16 ; 17

“18

”19

(20)

?21

( 22

) 23

5 源程序(包含注释)

#include

#include

#include

#include

#include

using namespace std;

char *kt[5]={"main","char","int","float","struct"},TOKEN[120],ch; //定义关键字

char *pt[100]={"+","*",":",":=","=",",","(",")",";"}; //定义界符char *it[100]; //定义标识符char *ct[100]; //定义常数int j=0,k=0;

void out(char *TOKEN, int a){ //输出函数cout<<"("<

}

int lookup(char *TOKEN){ //关键字匹配函数int m,i;

for(i=0;i<=4;i++){

if((m=strcmp(TOKEN,kt[i]))==0)

return(i+4);

}

return(0);

}

int lookupnum(char *TOKEN){ //常数匹配函数

int m,i;

for(i=0;ct[i]!=NULL;i++)

{

m=strcmp(TOKEN,ct[i]);

if(m==0)

return i;

}

return -1;

}

int lookupiden(char *TOKEN){ //标识符匹配函数

int m,i;

for(i=0;it[i]!=NULL;i++){

if((m=strcmp(TOKEN,it[i]))==0)

return i;

}

return -1;

}

void scanner(FILE *fp){ //扫描函数

char TOKEN[20]={'\0'};

char ch;

int i,c,w,v;

ch=fgetc(fp); //获取字符,指针fp并自动指向下一个字符if(isalpha(ch)){ //判断该字符是否是字母

TOKEN[0]=ch;

ch=fgetc(fp);

i=1;

while(isalnum(ch)){ //判断该字符是否是字母或数字

TOKEN[i]=ch;

i++;

ch=fgetc(fp);

}

TOKEN[i]='\0';

c=lookup(TOKEN);

fseek(fp,-1,1); //从当前位置开始回退一个字符

if(c==0)

{ v=lookupiden(TOKEN);

if(v==-1)

{ it[j]=TOKEN;

j++;

out(TOKEN,1);

}

else out(TOKEN,1);

} //输出标识符

else out(TOKEN,c); //输出关键字

}

else if(isdigit(ch)){ //判断是否是数字TOKEN[0]=ch;

ch=fgetc(fp);

i=1;

while(isdigit(ch)){

TOKEN[i]=ch;

i++;

ch=fgetc(fp);

}

if(ch=='.') //小数

{ TOKEN[i]=ch;

i++;

ch=fgetc(fp);

while(isdigit(ch)){

TOKEN[i]=ch;

i++;

ch=fgetc(fp);}

if(ch=='e') //浮点数

{TOKEN[i]=ch;

i++;

ch=fgetc(fp);

if(ch=='-'||ch=='+')

{TOKEN[i]=ch;

i++;

ch=fgetc(fp);

while(isdigit(ch)){

TOKEN[i]=ch;

i++;

ch=fgetc(fp);}

}

else if (isdigit(ch))

{TOKEN[i]=ch;

i++;

ch=fgetc(fp);

while(isdigit(ch)){

TOKEN[i]=ch;

i++;

ch=fgetc(fp); }

}

TOKEN[i]='\0';

fseek(fp,-1,1);

w=lookupnum(TOKEN);

if(w==-1){

ct[k]=TOKEN;

k++;

out(TOKEN,3);}

else out(TOKEN,3);

}

}

else if(ch=='e')

{

TOKEN[i]=ch;

i++;

ch=fgetc(fp);

if(ch=='+'||ch=='-')

{TOKEN[i]=ch;

i++;

ch=fgetc(fp);

}

else if(isdigit(ch))

{TOKEN[i]=ch;

i++;

ch=fgetc(fp);

}

while(isdigit(ch)){

TOKEN[i]=ch;

i++;}

TOKEN[i]='\0';

fseek(fp,-1,1);

w=lookupnum(TOKEN);

if(w==-1){

ct[k]=TOKEN;

k++;

out(TOKEN,3);}

else out(TOKEN,3);}

else

{TOKEN[i]='\0';

fseek(fp,-1,1);

w=lookupnum(TOKEN);

if(w==-1){

ct[k]=TOKEN;

k++;

out(TOKEN,3);}

else out(TOKEN,3);} //整数}

else

{

TOKEN[0]=ch;

switch(ch){

case'+':{

out(TOKEN,9);

break;

}

case'*':{out(TOKEN,10);

break;

}

case'{':{out(TOKEN,11);

break;

}

case'}':{out(TOKEN,12);

break;

}

case'[':{out(TOKEN,15);

break;

}

case']':{out(TOKEN,16);

break;

}

case'‘':{out(TOKEN,20);

break;

}

case'’':{out(TOKEN,21);

break;

}

case'=':{out(TOKEN,13);

break;

}

case',':{out(TOKEN,14);

break;}

case'(':{out(TOKEN,22);

break;}

case')':{out(TOKEN,23);

break;}

case';':{out(TOKEN,17);

break;}

case'“':{out(TOKEN,18);

break;

}

case'”':{out(TOKEN,19);

break;

}

}

}

}

int main()

{

FILE *fp;

if((fp=fopen("F:\\计算机1208班杨学良20124032\\词法分析\\扫描文字.txt","r"))==NULL){ //读取文件内容,并返回文件指针,该指针指向文件的第一个字符

fprintf(stderr,"error opening.\n");

exit(1);

}

do{

ch=fgetc(fp);

if(ch=='*') //文件以*结尾,作为扫描结束条件

break;

if(ch==' ') //如果是空格,自动跳到下个字符

scanner(fp);

else{

fseek(fp,-1,1); //如果不是空格,则回退一个字符并扫描

scanner(fp);

}

}while(ch!='*');

int i;

cin>>i;

return(0);

}

6 测试数据及运行结果(1)测试数据:

main()

{

int a=1, b=2, c;

char ch[10]="ok"; char x,y='a';

c=a+b;

x=y; }*

(2)运行结果:

东南大学编译原理试题

东南大学一九九三年攻读硕士学位研究生入学考试试题 试题编号:553 试题名称:编译原理 一:(15分)判断下列命题的真假,并简述理由: 1.文法G的一个句子对应于多个推导,则G是二义的. 2.LL(1)分析必须对原有文法提取左因子和消除左递归. 3.算符优先分析法采用"移近-归约"技术,其归约过程是规范的. 4.文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号). 5.一个BASIC解释程序和编译程序的不同在于,解释程序由语法制导翻译成目标代码并立即执行之,而编译程序需产生中间代码及优化. 二:(15分)设计一个最小状态有穷自动机,识别由下列子串组成的任意字符串. GO,GOTO,TOO,ON 例如:GOTOONGOTOOGOON是合法字符串. 三:(15分)构造一个LL(1)文法G,识别语言L: L={ω|ω为{0,1}上不包括两个相邻的1的非空串} 并证明你的结论. 四:(20分)设有一台单累加器计算机,并汇编语言含有通常的汇编指令LOAD,STORE,ADD和MUL. 1.写一个递归下降分析程序,将如下文法所定义的赋值语句翻译成汇编语言: A→i:=E E→E+E|E*E|(E)|i 2.利用加,乘法满足交换率这一性质,改进你的分析程序,以期产生比较高效的目标代码. 五:(15分)C为大家熟知的程序语言. 1.C的参数传递采用传值的方式,而且允许函数定义和调用时的参数个数不一致(如printf).请指出其函数调用语句: f(arg1,arg2,...,argn) 翻译成的中间代码序列,并简述其含义. 2.C语言中的变量具有不同的作用范围,试述C应采用的存储分配策略. 六:(20分)设有一个子程序的四元式序列为: (1) I:=1 (2) if I>20 GOTO (16) (3) T1:=2*J (4) T2:=20*I (5) T3:=T1+T2 (6) T4:=addr(A)-22 (7) T5:=2*I (8) T6:=T5*20 (9) T7:=2*J (10) T8:=T6+T7 (11) T9:=addr(A)-22 (12) T10:=T9[T8] (13) T4[T3]:=T10+J

东南大学电路实验实验报告

电路实验 实验报告 第二次实验 实验名称:弱电实验 院系:信息科学与工程学院专业:信息工程姓名:学号:

实验时间:年月日 实验一:PocketLab的使用、电子元器件特性测试和基尔霍夫定理 一、仿真实验 1.电容伏安特性 实验电路: 图1-1 电容伏安特性实验电路 波形图:

图1-2 电容电压电流波形图 思考题: 请根据测试波形,读取电容上电压,电流摆幅,验证电容的伏安特性表达式。 解:()()mV wt wt U C cos 164cos 164-=+=π, ()mV wt wt U R sin 10002cos 1000=??? ? ? -=π,us T 500=; ()mA wt R U I I R R C sin 213.0== =∴,ππ40002==T w ; 而()mA wt dt du C C sin 206.0= dt du C I C C ≈?且误差较小,即可验证电容的伏安特性表达式。 2.电感伏安特性 实验电路: 图1-3 电感伏安特性实验电路 波形图:

图1-4 电感电压电流波形图 思考题: 1.比较图1-2和1-4,理解电感、电容上电压电流之间的相位关系。对于电感而言,电压相位 超前 (超前or 滞后)电流相位;对于电容而言,电压相位 滞后 (超前or 滞后)电流相位。 2.请根据测试波形,读取电感上电压、电流摆幅,验证电感的伏安特性表达式。 解:()mV wt U L cos 8.2=, ()mV wt wt U R sin 10002cos 1000=??? ? ? -=π,us T 500=; ()mA wt R U I I R R L sin 213.0===∴,ππ 40002==T w ; 而()mV wt dt di L L cos 7.2= dt di L U L L ≈?且误差较小,即可验证电感的伏安特性表达式。 二、硬件实验 1.恒压源特性验证 表1-1 不同电阻负载时电压源输出电压 电阻()Ωk 0.1 1 10 100 1000 电源电压(V ) 4.92 4.98 4.99 4.99 4.99 2.电容的伏安特性测量

东北大学C++实验报告6

东北大学C++实验报告6 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

实验六 1.实验要求 (1)定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 (2)定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 2. 实验内容及实验步骤 (1) 编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point& operator++();Point operator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point&operator--();Point operator--(int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.cpp。 (2) 编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2.cpp。 3. 源程序 Lab8_1 #include using namespace std; class Point{ public: Point(int X,int Y): _x(X),_y(Y){} Point operator++(); Point operator++(int); Point operator--(); Point operator--(int); void Putout() const; private:

数据库原理实验报告

数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号4080522 姓名龚敏 指导教师李爱英

一.概要设计 1.教学数据库各表的关系模式:(加下线的属性为主键) 学生 (学号,姓名,性别, 出生日期,所在系) 英文缩写对照:student(s_no,s_name,s_sex,s_age,s_birthday,s_department) 课程 (课程号,课程名,学分) 英文缩写对照:course(c_no,c_name,c_score) 教师 (职工号,姓名,性别,职称) 英文缩写对照:teacher(t_no,t_name,t_sex,t_duty) 选课 (学号,课程号,成绩) 英文缩写对照:choice(s_no,c_no,score) 讲授 (职工号,课程号) 英文缩写对照:teaching(t_no,c_no) 2.教学数据库E-R 图: 实体:课程,学生,选课 联系:选课(学生同课程之间多对多的联系m:n),讲授(教师同课程之间多对多的联系m:n)。 二.逻辑设计 代码: use master go create database stu go use stu go n m m n 课程 教师 讲授 选课 学号 姓名 性别 出生日期 成绩 职工号 姓名 性别 职称 学分 课程号 课程名 学生

create table student (s_no char(8) not null primary key, s_name char(8) not null , s_sex varchar(8) not null, s_birthday smalldatetime not null, s_department varchar(13) not null) drop table student use stu go create table teacher (t_no char(8) not null primary key, t_name char(8) not null, t_sex varchar(8) not null, t_duty char(8) not null) create table course (c_no char(8) not null primary key, c_name char(8) not null, c_score varchar not null) create table choice( s_no char(8) not null primary key, c_no char(8) not null primary key, score varchar not null) create table teaching( t_no char(8) not null primary key, c_no char(8) not null primary key) insert student values('101','袁敏','女','1982-2-3','机电') insert student values('102','李志强','男','1983-4-5','计算机') insert student values('103','张亮','男','1984-10-9','建筑') insert student values('104','李平','女','1984-5-6','计算机') insert student values('105','王丽','女','1983-2-1','机电') insert student values('106','刘明耀','男','1982-4-16','计算机') select* from student insert course values('1011','C语言','6') insert course values('1012','数据结构','4') insert course values('1013','微机原理','6') insert course values('1014','数字电路','5') insert course values('1015','高等数学','6') select* from course insert teacher values('0511','张大维','男','副教授') insert teacher values('0512','林楠','女','讲师') insert teacher values('0513','韩晓颖','女','副教授') insert teacher values('0514','李辉','男','讲师') insert teacher values('0515','孙丽','女','助教') select* from teacher insert choice values('101','1011','82.5') insert choice values('101','1012','79') insert choice values('102','1012','92.5') insert choice

2011东北大学大学物理期末考题及答案

东北大学大学物理期末 一、 填空题 1. 已知两分振动的振动方程分别为:t x ωcos 1= 和 )2 cos( 32π ω+=t x , (其中 x 的单位为m ,t 的单位为s ),则合振动的振幅为A = ____2___m 。 2. 在驻波中,设波长为λ,则相邻波节和波腹之间的距离为_____ 4 λ ____ 。 3.火车A 行驶的速率为20m/s ,火车A 汽笛发出的声波频率为640Hz ;迎面开来另一列 行驶速率为25m/s 的火车B ,则火车B 的司机听到火车A 汽笛声的频率为 730 Hz . (空气中的声速为: 340m/s) 4.在空气中,用波长为λ= 500 nm 的单色光垂直入射一平面透射光栅上,第二级缺级 光栅常数 d =2.3×10 -3 mm ,则在观察屏上出现的全部主极大条纹条数为__5 _条。 5.光的偏振现象说明光波是____横波______。 6.一体积为V 的容器内储有氧气(视为理想气体,氧气分子视为刚性分子),其压强为P ,温度为T ,已知玻耳兹曼常数为k 、普适气体常数(摩尔气体常数)为R , 则此氧气系统的分子数密度为__ kT p ___ 、此氧气系统的内能为___pV 2 5 ____。 7.处于平衡态A 的理想气体系统,若经准静态等容过程变到平衡态B ,将从外界吸热416 J ; 若经准静态等压过程变到与平衡态B 有相同温度的平衡态C 时,将从外界吸热582 J , 则从平衡态A 变到平衡态C 的准静态等压过程中,系统对外界所作的功为 166 J 。 8.不考虑相对论效应,电子从静止开始通过电势差为U=300V 的静电场加速后, 其德布罗意波长为___0.07__nm 。 (电子静止质量:kg 101.931 -?=e m ;电子电量:C 10 6.119 -?=e ; 普朗克常量:s J 10 63.634 ??=-h ) 9.描述微观粒子运动的波函数ψ(r , t )须满足的条件是 单值 、连续、有限、归一。

软件工程专业介绍范文

软件工程专业介绍范文 软件工程学的定义 软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。IEEE:软件工程是开发、运行、维护和修复软件的系统方法。FritzBauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 编辑本段软件工程学的内容 软件工程学的主要内容是软件开发技术和软件工程管理。软件开发技术包含软件工程方法学、软件工具和软件开发环境;软件工程管理学包含软件工程经济学和软件管理学。 专业简介 是计算机领域发展最快的学科分支之一,国家非常重视软件行业的发展,对软件人才的培养给予了非常优惠的政策。本专业培养掌握计算机软件基本理论知识,熟悉软件开发和管理技术、能够在计算机软件领域中从事软件设计、开发和管理的高级人才。

主修课程 该专业除了学习公共基础课外,还将系统学习离散数学、数据结构、算法分析、面向对象程序设计、现代操作系统、数据库原理与实现技术、编译原理、软件工程、软件项目管理、计算机安全等课程,根据学生的兴趣还可以选修一些其它选修课。 毕业去向 除考取国内外名牌大学研究生外,主要毕业去向是计算机软件专业公司﹑信息咨询公司﹑以及金融等其它独资、合资企业。 培养目标 本专业培养适应社会发展需求,德、智、体、美全面发展,具有扎实的计算机应用理论和知识基础,掌握软件工程领域的前沿技术和软件开发方法,具有较强的实践能力和创新精神,具备较强的软件项目的系统分析、设计、开发和测试能力,能够按照工程化的原则和方法从事软件项目开发和管理的应用型人才。 就业方向

东南大学编译原理词法分析器实验报告

词法分析设计 1. 实验目的 通过本实验的编程实践,了解词法分析的任务,掌握词法分析程序设计的原理和构造方法,对编译的基本概念、原理和方法有完整的和清楚的理解,并能正确地、熟练地运用。 2. 实验内容 用C++语言实现对C++语言子集的源程序进行词法分析。通过输入源程序从左到右对字符串进行扫描和分解,依次输出各个单词的内部编码及单词符号自身值;若遇到错误则显示“Error”,然后跳过错误部分继续显示;同时进行标识符登记符号表的管理。 3. 实验原理 本次实验采用NFA->DFA->DFA0的过程: 对待分析的简单的词法(关键词/id/num/运算符/空白符等)先分别建立自己的FA,然后将他们用产生式连接起来并设置一个唯一的开始符,终结符不合并。 待分析的简单的词法 (1)关键字: "asm","auto","bool","break","case","catch","char","class","

const","const_cast"等 (2)界符(查表) ";",",","(",")","[","]","{","}" (3)运算符 "*","/","%","+","-","<<","=",">>","&","^","|","++","--"," +=","-=","*=","/=","%=","&=","^=","|=" relop: (4)其他单词是标识符(ID)和整型常数(SUM),通过正规式定义。 id/keywords: digit: (5)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。

东北大学操作系统第一次实验报告

实验1:熟悉Linux系统 一、题目:熟悉Linux系统 二、目的: 熟悉和掌握Linux系统基本命令,熟悉Linux编程环境,为以后的实验打下基础。 1、启动、退出、ls(显示目录内容)、cp(文件或目录的复制)、mv(文件、目录更名或移动)、rm(删除文件或目录)、mkdir(创建目录)、rmdir(删除空目录)、cd(改变工作目录)… 2、C语言编辑、编译 三、内容及要求: 1、熟练掌握Linux基本文件命令; 2、掌握Linux编辑程序、对源代码进行编译、连接、运行及调试的过程; 3、认真做好预习,书写预习报告; 4、实验完成后要认真总结、完成实验报告。 四、内容及要求: 在Linux环境下编制、调试源程序的实际过程(每一步的具体说明)。 实验2:进程状态 一、题目:进程状态

二、目的: 自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的PCB内容、组织的变化,理解进程与其PCB间的一一对应关系。 三、内容及要求 1、设计并实现一个模拟进程状态转换及其相应PCB组织结构变化的程序; 2、独立设计、编写、调试程序; 3、程序界面应能反映出在模拟条件下,进程之间状态转换及其对应的PCB 组织的变化。 4、进程的状态模型(三状态、五状态、七状态或其它)可自行选择, 5、代码书写要规范,要适当地加入注释; 6、鼓励在实验中加入新的观点或想法,并加以实现; 7、认真进行预习,完成预习报告; 8、实验完成后,要认真总结,完成实验报告。 四、程序流程图

图4.1 进程转换流程五、使用的数据结构及其说明 struct PCB //进程控制块PCB { char name; //名字标识 string state; //状态 int time; //执行时间 }; typedefstruct PCB ElemType; structQNode { ElemType data; structQNode *next; }; //链式队列结点 typedefstructQNodeQNode; //结点 typedefstructQNode *PNode; typedefstruct { PNodefrnt; PNode rear;

东北大学数据库实验报告

课程编号:B080109004 数据库应用程序设计实践 报告 东北大学软件学院

1.关系数据库 设计以下三个表: 客户信息表: ?客户号(主码) NUMBER(4) ?客户姓名V ARCHAR2(20) ?客户类型V ARCHAR2(20) ?地址VARCHAR2(20) ?余额NUMBER(7,2) 计费设备表 ?计费设备号(主码) NUMBER(4) ?客户号(外码)NUMBER(4) ?设备类别(01,02)Characters(1) 应收费用表 ?年月Date ?计费设备号(外码)NUMBER(4) ?基本费用NUMBER(7,2) ?附加费用1 NUMBER(7,2) ?附加费用2 NUMBER(7,2) ?应收违约金NUMBER(7,2) ?实收违约金NUMBER(7,2) ?减免违约金NUMBER(7,2) ?收费标志(0未交费,1已交费)Characters(1) 第一部分: 1.指出你所设计表的各种键值,在选择时不要考虑性能问题。 1)指出每张表是否存在主码,若存在,请指出具体的主码,并说明原因。 CLIENT主码:CLIENTNO DEVICE主码:DEVICENO MONTHLYNEDDPAY主码:ID 这些能够作为主码的字段的数据都是唯一的,因此能够进行唯一性标识,能够作为主码来使 用。 2)指出每张表是否存在备用码(除了主码之外的所有候选码),若存在,请指出所有的备用码, 并说明原因。 Client和Device表不存在候选码, Montthlyneedpay 中的DeviceNo和logdate 可以作为一个候选码。 3)指出各表中存在的外码和完整性约束,并说明原因。 Client表中没有外码,但是clientno不能为空,因为它是主码。

【免费下载】东北大学物理实验报告

实验一霍尔效应及其应用 【预习思考题】 1.列出计算霍尔系数、载流子浓度n、电导率σ及迁移率μ的计算公式,并注明单位。 霍尔系数,载流子浓度,电导率,迁移率。 2.如已知霍尔样品的工作电流及磁感应强度B的方向,如何判断样品的导电类型? 以根据右手螺旋定则,从工作电流旋到磁感应强度B确定的方向为正向,若测得的霍尔电压为正,则样品为P型,反之则为N型。 3.本实验为什么要用3个换向开关? 为了在测量时消除一些霍尔效应的副效应的影响,需要在测量时改变工作电流及磁感应强度B的方向,因此就需要2个换向开关;除了测量霍尔电压,还要测量A、C间的电位差,这是两个不同的测量位置,又需要1个换向开关。总之,一共需要3个换向开关。 【分析讨论题】 1.若磁感应强度B和霍尔器件平面不完全正交,按式(5.2-5)测出的霍尔系数比实际值大还是小?要准确测定值应怎样进行? 若磁感应强度B和霍尔器件平面不完全正交,则测出的霍尔系数比实际值偏小。要想准确测定,就需要保证磁感应强度B和霍尔器件平面完全正交,或者设法测量出磁感应强度B 和霍尔器件平面的夹角。 2.若已知霍尔器件的性能参数,采用霍尔效应法测量一个未知磁场时,测量误差有哪些来源? 误差来源有:测量工作电流的电流表的测量误差,测量霍尔器件厚度d的长度测量仪器的测量误差,测量霍尔电压的电压表的测量误差,磁场方向与霍尔器件平面的夹角影响等。实验二声速的测量 【预习思考题】 1. 如何调节和判断测量系统是否处于共振状态?为什么要在系统处于共振的条件下进行声速测定? 答:缓慢调节声速测试仪信号源面板上的“信号频率”旋钮,使交流毫伏表指针指示达到最大(或晶体管电压表的示值达到最大),此时系统处于共振状态,显示共振发生的信号指示灯亮,信号源面板上频率显示窗口显示共振频率。在进行声速测定时需要测定驻波波节的位置,当发射换能器S1处于共振状态时,发射的超声波能量最大。若在这样一个最佳状态移动S1至每一个波节处,媒质压缩形变最大,则产生的声压最大,接收换能器S2接收到的声压为最大,转变成电信号,晶体管电压表会显示出最大值。由数显表头读出每一个电压最大值时的位置,即对应的波节位置。因此在系统处于共振的条件下进行声速测定,可以容易和准确地测定波节的位置,提高测量的准确度。 2. 压电陶瓷超声换能器是怎样实现机械信号和电信号之间的相互转换的? 答:压电陶瓷超声换能器的重要组成部分是压电陶瓷环。压电陶瓷环由多晶结构的压电材料制成。这种材料在受到机械应力,发生机械形变时,会发生极化,同时在极化方向产生电场,这种特性称为压电效应。反之,如果在压电材料上加交变电场,材料会发生机械形变,这被称为逆压电效应。声速测量仪中换能器S1作为声波的发射器是利用了压电材料的逆压电效应,压电陶瓷环片在交变电压作用下,发生纵向机械振动,在空气中激发超声波,把电信号转变成了声信号。换能器S2作为声波的接收器是利用了压电材料的压电效应,空气的振动使压电陶瓷环片发生机械形变,从而产生电场,把声信号转变成了电信号。

东北大学学生必读手册

zt:东北大学学生必读手册(2007-03-08 22:50:37)转载分类:他山石 号外:发现一篇东大宝典《东北大学学生必读手册》!读来正是大块人心,佩服写这个宝典的东大校友了,这比东大官方版的学生必读手册通俗易懂、总结全面,建议以此替换掉官方版的必读手册.......下面是全文摘录,是东大的都来通读一遍啊.... 东北大学学生必读手册 学习篇 1. 注意,馆里面有偷东西的(真为东大丢人),他们喜欢在中午11:30-13:00,晚上4:30-5:30出没(这个时间段大家都去吃饭了,馆里人少),目的在于窃取那些出去吃饭人的书包。所以当自习室人少或者较长时间离开时,书包等个人物品随身带走。 2. 上自习要早点去,不然很容易找不到座位的,一般采矿馆、机电馆、教学馆、逸夫楼的人比较多哦,冶金馆的人少(传说闹鬼)。 3. 不要拿个书、坐垫一类的占座,很烦人的,尤其是占着座还不去的,纯占着茅楼不拉屎,还容易丢失。 4. 尽量去上每一节课,毕竟花那么多学费是用来买这些课程的,而且学点东西没有什么不好,最起码的关系到你期末是不是可以及格的问题。 5. 考试前一个月一定要上自习,不然有挂科的危险。 6. 英语和计算机作为工具还是要好好学习的,争取拿个证什么的,一方面有目标可以学习东西,另一方面为将来工作做准备。 7. 考试前一个星期,你基本上会面临着没有地方上自习的情况,所以,一定要早早的去,一般情况下7点30之前还是能找到空座的。 8. 一定要多去图书馆,会有意外的收获。 9. 不要浪费电子资源,我校图书馆提供的电子文献,还是非常不错的。 10. 考试挂科了可以补,不要因为挂几科就想不开,寻短见,怨天尤人,人生的路还长着呢,努力学习把挂的课补过去才是正确的做法。 11. 图书馆夏天凉快,而且累了还可以上网。 12. 考试前突击2星期大多可以过,除数学,物理,运筹学,编译原理等理论性强的科目。 13. 考试之前一定要搞到以前该科目的试卷,弄懂上面的题目就可以顺利通过考试了,一不小心还可能考个优秀什么的。图书馆一楼的复印室有卖。 吃饭篇 1. 各位如果厌烦了平时的饭菜,我建议到西门的菜市场弄一下新鲜蔬菜(尤其是小葱沾酱)吃,美味啊! 2. 餐饮中心基本上是不刷盘子的,盘子刷的较干净的是一食堂。但是注意有时一食堂的餐盘由于刚刚消毒过,很烫手,当心啊。 3. 西门超市的食堂,油烟很重,会弄一身味道的。尤其是冬天。 4. 去食堂打饭一定要排队,否则遭受鄙视,切记。 5. 饭卡应该设置最大消费额度,比如15元,这样可以避免丢失饭卡时被人家把钱花光。免费办理在二食堂那个管饭卡挂失的地方。实在不行,还可以给饭卡加密码,就是用起来比较麻烦,但是那样就不怕丢失被人乱划了。

东北大学c++实验报告

实验六 1?实验要求 (1)定义Point类,有坐标_x, _y两个成员变量;对Point类重载牛+ ”(自增)、“一-(自减)运算符,实现对坐标值的改变。 (2)定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 2.实验容及实验步骤 (1)编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point& operato叶+() ; Point operato叶+(int);以实现对Point 类重载++ ”(自增)运算符,定义成员函数Point& operator ------------------------------ ();Point operator -------- (int);以实现对Point类重载(自减)运算符,实现对坐标值的改变。程序名:1ab8_1. cpp。 ⑵编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派 生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle 的对象,调用其Run()、Stop()函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2. cpp。 3.源程序 Lab8 1 #in clude using n amespace std;

东南大学计算方法与实习上机实验一

东南大学计算方法与实习实验报告 学院:电子科学与工程学院 学号:06A12528 姓名:陈毓锋 指导老师:李元庆

实习题1 4、设S N=Σ (1)编制按从大到小的顺序计算S N的程序; (2)编制按从小到大的顺序计算S N的程序; (3)按两种顺序分别计算S1000,S10000,S30000,并指出有效位数。 解析:从大到小时,将S N分解成S N-1=S N-,在计算时根据想要得到的值取合适的最大的值作为首项;同理从小到大时,将S N=S N-1+ ,则取S2=1/3。则所得式子即为该算法的通项公式。 (1)从大到小算法的C++程序如下: /*从大到小的算法*/ #include #include #include using namespace std; const int max=34000; //根据第(3)问的问题,我选择了最大数为34000作为初值 void main(){ int num; char jus; double cor,sub; A: cout<<"请输入你想计算的值"<<'\t'; cin>>num; double smax=1.0/2.0*(3.0/2.0-1.0/max-1.0/(max+1)),temps; double S[max]; // cout<<"s["<num;){ temps=smax; S[n]=temps; n--; smax=smax-1.0/((n+1)*(n+1)-1.0); } cor=1.0/2.0*(3.0/2.0-1.0/num-1.0/(num+1.0)); //利用已知精确值公式计算精确值sub=fabs(cor-smax); //double型取误差的绝对值 cout<<"用递推公式算出来的s["<>jus; if ((int)jus==89||(int)jus==121) goto A; }

东北大学图像处理实验报告

计算机图像处理实验报告 哈哈哈哈哈哈实验台31 1.应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及 彩色图像的程序,并进行相互之间的转换 1)彩色图像转换为灰度图像、索引图像、二值图像 A=imread('F:\colorful.jpg'); subplot(221);imshow(A);title('彩色图像'); I1=rgb2gray(A); subplot(222);imshow(I1);title('灰度图像'); [X1,map]=rgb2ind(A,256); subplot(223);imshow(X1);title('索引图像'); BW=im2bw(A); subplot(224);imshow(BW);title('二值图像'); 彩色图像灰度图像 索引图像二值图像

2)灰度图像转换为索引图像、二值图像 clear A=imread('F:\colorful.jpg'); B=rgb2gray(A); subplot(131);imshow(B);title('灰度图像'); [X2,map]=gray2ind(B,128); subplot(132);imshow(X2);title('索引图像'); BW2=im2bw(B); subplot(133);imshow(BW2);title('二值图像'); 灰度图像索引图像二值图像 3)索引图像转为灰度图像、二值图像、彩色图像 clear A=imread('F:\colorful.jpg'); [X,map]=rgb2ind(A,256); subplot(221);imshow(X);title('索引图像'); I3=ind2gray(X,map); subplot(222);imshow(I3);title('灰度图像'); BW3=im2bw(X,map,0.5); subplot(223);imshow(BW3);title('二值图像'); RGB=ind2rgb(X,map); subplot(24);imshow(RGB);title('还原彩色图像'); 索引图像灰度图像 二值图像还原彩色图像

东北大学数据库实验报告2016

实验(一): 熟练掌握SQL语言 实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。 实验内容:具体包括如下三部分。 一、熟悉上机环境。 客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。具体包括: 1.了解SQL Server 环境。鼠标点击开始,进入“Microsoft SQL Server→企 业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。 2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名 和口令,进入SQL查询分析器。如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。 3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。 二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有 关查询。 1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的 关系模式 2.在数据库中定义这些关系模式,并向基本表中插入如下数据: CREATE table Students (Sno char(10) primary key, Sname char(20), Sage int,

东北大学C++实验报告6

实验六 1.实验要求 (1)定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 (2)定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 2. 实验内容及实验步骤 (1) 编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point& operator++();Point operator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point&operator--();Point operator--(int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.cpp。 (2) 编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2.cpp。 3. 源程序 Lab8_1 #include using namespace std; class Point{ public: Point(int X,int Y): _x(X),_y(Y){} Point operator++(); Point operator++(int); Point operator--(); Point operator--(int); void Putout() const; private: int _x,_y; };

电气工程及其自动化考研总况

电气工程及其自动化考 研总况 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

电气工程及其自动化考研总况 一、全国电气工程及其自动化专业学校排名 1.清华大学 2.西安交通大学 3.华中科技大学 4.浙江大学 5.重庆大学 6.天津大学 7.哈尔滨工业大学 8.上海交通大学 9.华北电力大学10.东南大学11.西南交通大学12.沈阳工业大学13.中国矿业大学14.华南理工大学15.南京航空航天大学16.北京交通大学17.武汉大学18.哈尔滨理工大学19.四川大学20.河海大学21.哈尔滨工程大学22.郑州大学23.广西大学24.陕西科技大学 二,电气工程与自动化专业 (1)业务培养目标: 业务培养目标:本专业培养在工业与电气工程有关的运动控制、工业过程控制、电气工程、电力电子技术、检测与自动化仪表、电子与计算机技术等领域从事工程设计、系统分析、系统运行、研制开发、经济管理等方面的高级工程技术人才。 业务培养要求:本专业学生主要学习电工技术、电子技术、自动控制理论、信息处理、计算机技术与应用等较宽广领域的工程技术基础和一定的专业知识。学生受到电工电子、信息控制及计算机技术方面的基本训练,具有工业过程控制与分析,解决强弱电并举的宽口径专业的技术问题的能力。

(2)主干课程: 主干学科:电气工程、控制科学与工程、计算机科学与技术 主要课程:电路原理、电子技术基础、计算机原理及应用、计算机软件基础、控制理论、电机与拖动、电力电子技术、信号分析与处理、电力拖动控制系统、工业过程控制与自动化仪表等。高年级可根据社会需要设置柔性的专业方向模块课及选修课。 主要实践性教学环节:包括电路与电子基础实验、电子工艺实习、金工实习、专业综合实验、计算机上机实践、课程设计、生产实习、毕业设计。 主要实验:运动控制实验、自动控制实验、计算机控制实验、检测仪表实验、电力电子实验等 (3)修业年限: 四年 (4)授予学位: 工学学士 (5)相近专业: 微电子学自动化电子信息工程通信工程计算机科学与技术电子科学与技术生物医学工程电气工程与自动化信息工程信息科学技术软件工程

东北大学编译原理实验3

编译原理程序设计实验报告 ——四元式生成班级:计算机1507班姓名:罗艺博学号:20154377 一、实验目标: 利用上次实验所编写的语法分析器,完成算术表达式四元式翻译器的设计。 二、实验内容: 1.概要设计: 2.流程图

主程序Z 子程序E

子程序T 子程序F 3.关键函数

//主程序 int ParserPlus() { is = 0; //初始化 flag = 0; qt = qToken.front(); //Next(w) qreal = qTreal.front(); SubE(); if(qt==50&&flag==0) { cout << "语法正确!" << endl; cout << endl; cout << "生成的四元式如下:" << endl; } else if(flag != 0) return 1; else { flag = 1; cout << "语法错误(err 1)!" << endl; return flag; }

//cout<<"myQT.size="<

东南大学系统实验报告

实验八:抽样定理实验(PAM ) 一. 实验目的: 1. 掌握抽样定理的概念 2. 掌握模拟信号抽样与还原的原理和实现方法。 3. 了解模拟信号抽样过程的频谱 二. 实验内容: 1. 采用不同频率的方波对同一模拟信号抽样并还原,观测并比较抽样信号及还原信号的波形和频谱。 2. 采用同一频率但不同占空比的方波对同一模拟信号抽样并还原,观测并比较抽样信号及还原信号的波形和频谱 三. 实验步骤: 1. 将信号源模块、模拟信号数字化模块小心地固定在主机箱中,确保电源接触良好。 2. 插上电源线,打开主机箱右侧的交流开关,在分别按下两个模块中的电源开关,对应的发光二极管灯亮,两个模块均开始工作。 3. 信号源模块调节“2K 调幅”旋转电位器,是“2K 正弦基波”输出幅度为3V 左右。 4. 实验连线 5. 不同频率方波抽样 6. 同频率但不同占空比方波抽样 7. 模拟语音信号抽样与还原 四. 实验现象及结果分析: 1. 固定占空比为50%的、不同频率的方波抽样的输出时域波形和频谱: (1) 抽样方波频率为4KHz 的“PAM 输出点”时域波形: 抽样方波频率为4KHz 时的频谱: 50K …… …… PAM 输出波形 输入波形

分析: 理想抽样时,此处的抽样方波为抽样脉冲,则理想抽样下的抽样信号的频谱应该是无穷多个原信号频谱的叠加,周期为抽样频率;但是由于实际中难以实现理想抽样,即抽样方波存在占空比(其频谱是一个Sa()函数),对抽样频谱存在影响,所以实际中的抽样信号频谱随着频率的增大幅度上整体呈现减小的趋势,如上面实验频谱所示。仔细观察上图可发现,某些高频分量大于低频分量,这是由于采样频率为4KHz ,正好等于奈奎斯特采样频率,频谱会在某些地方产生混叠。 (2) 抽样方波频率为8KHz 时的“PAM 输出点”时域波形: 2KHz 6K 10K 14K 输入波形 PAM 输出波形

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