《编译原理》实验指导书

《编译原理》实验指导书
《编译原理》实验指导书

实验目的和内容

编译原理实验的目的是使学生将编译理论运用到实际当中,实现一个简单语言集的词法分析程序、语法分析程序和简单语义处理程序,验证实际编译系统的实现方法,并加深对编译理论的认识。

基本实验分为三个部分,实验一识别无符号数的词法分析器设计实现、实验二无符号数的算术四则运算LR语法分析器设计实现,实验三是无符号数的算术四则运算语义处理程序实现,总的实验学时为30课时。要求每个学生独立完成所有实验要求。

每部分基本实验还包括若干扩展实验,供编程能力较强的学生自愿进行。

实验一词法分析程序实现

一、实验目的与要求

通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符形式的源程序流转化为一个由各类单词符号组成的流的词法分析方法。

二、实验内容

选取无符号数的算术四则运算中的各类单词为识别对象,要求将其中的各个单词识别出来。

输入:由无符号数和+,-,*,/, ( , ) 构成的算术表达式,如1.5E+2-100。

输出:对识别出的每一单词均单行输出其类别码(无符号数的值暂不要求计算)。

三、实现方法与环境

1、首先设计识别各类单词的状态转换图。

描述无符号常数的确定、最小化状态转换图如图1所示。其中编号0,1,2,…,6代表非终结符号<无符号数>、<余留无符号数>、<十进小数>、<小数部分>、<指数部分>、<整指数>及<余留整指数>,1,2和6为终态,分别代表整数、小数和科学计数的识别结束状态。

图1 文法G[<无符号数>]的状态转换图

其中编号0,1,2,…,6代表非终结符号<无符号数>、<余留无符号数>、<十进小数>、<小数部分>、<指数部分>、<整指数>及<余留整指数>,1,2和6为终态,分别代表整数、小数和科学计数的识别结束状态。

在一个程序设计语言中,一般都含有若干类单词符号,为此可首先为每类单词建立一张状态转换图,然后将这些状态转换图合并成一张统一的状态图,即得到了一个有限自动机,再进行必要的确定化和状态数最小化处理,最后据此构造词法分析程序。

四则运算算术符号的识别很简单,直接在状态图的0状态分别引出相应标记的矢线至一个新的终态即可。根据自己的习惯,也可以将其转换为状态矩阵形式。

2、词法分析程序编写

根据描述语言中各类单词的文法状态转换图或状态矩阵,利用某种语言(C语言或JA V A语言)直接编写词法分析程序。

3、词法分析程序测试

用于测试扫描器的实例源文件中应有词法正确的,也应有错误的字符串,对于输入的测试用例的源程序文件,以对照的形式将扫描器的分析结果信息在输出文件中表示出来。

四、参考资料

实现无符号数识别的参考方法:将设计的状态转换图直接转化为一张程序流程图,并在外层再增加一个以EOF为循环终止条件的while循环,即形成能连续识别各类单词的词法分析程序。

各类单词的编码建议如表1。

表1 单词的内部编码

五、扩展实验

1、试对基础实验识别的单词种类进行扩充,构造识别以下单词的词法分析程序。

语言中具有的单词包括五个有代表性的关键字begin、end、if、then、else;标识符;整型常数;六种关系运算符;一个赋值符和四个算术运算符。参考实现方法简述如下。

表2 扩展单词分类码表

处理过程:在此为了使词法分析程序结构比较清晰,且尽量避免某些枝节问题的纠缠,假定要编译的语言中,全部关键字都是保留字,程序员不得将它们作为源程序中的标识符;在源程序的输入文本中,关键字、标识符、整常数之间,若未出现关系和算术运算符以及赋值符,则至少须用一个空白字符加以分隔。作了这些限制以后,就可以把关键字和标识符的识别统一进行处理。即每当开始识别一个单词时,若扫视到的第一个字符为字母,则把后续输入的字母或数字字符依次进行拼接,直至扫视到非字母、数字字符为止,以期获得一个尽可能长的字母数字字符串,然后以此字符串查所谓保留字表(此保留字表已事先造好),若查到此字符串,则取出相应的类别码;反之,则表明该字符串应为一标识符。采用上述策略后,针对表2中部分单词可以构造一个如图2所示的有限自动机(以状态转换图表示)。在图2中添加了当进行状态转移时,词法分析程序应执行的语义动作。根据图2,可用C语言编写出符合以上几项要求的一个相应的扫描器程序,如程序一所示。

图2 识别表I所列语言中的部分单词的DFA及相关函数图2所出现的变量及函数的含义和功能说明如下:

函数GETCHAR:每调用一次,就把扫描指示器当前所指示的源程序字符送入字符变量ch,然后把扫描指示器前推一个字符位置。

字符数组TOKEN:用来依次存放一个单词词文中的各个字符。

函数CAT:每调用一次,就把当前ch中的字符拼接于TOKEN中所存字符串的右边。

函数LOOKUP:每调用一次,就以TOKEN中的字符串查保留字表,若查到,就将相应关键字的类别码赋给整型变量c;否则将c置为零。

函数RETRACT:每调用一次,就把扫描指示器回退一个字符位置(即退回多读的那个字符)。

函数OUT:一般仅在进入终态时调用此函数,调用的形式为OUT(c,VAL)。其中,实参c为相应单词的类别码或其助记符;当所识别的单词为标识符和整数时,实参V AL为TOKEN(即词文分别为字母数字串和数字串),对于其余种类的单词,V AL均为空串。函数OUT的功能是,在送出一个单词的内部表示之后,返回到调用该词法分析程序的那个程序。

参考程序:

# include

# include

# include

# define ID 6

# define INT 7

# define LT 8

# define LE 9

# define EQ 10

# define NE 11

# define GT 12

# define GE 13

char TOKEN[20];

extern int lookup (char*);

extern void out (int, char*);

extern report_error (void);

void scanner_example (FILE *fp)

{

char ch; int i, c;

ch=fgetc (fp);

if (isalpha (ch)) /*it must be a identifer!*/ {

TOKEN[0]=ch; ch=fgetc (fp); i=1;

while (isalnum (ch))

{

TOKEN[i]=ch; i++;

ch=fgetc (fp);

}

TOKEN[i]= ′\0′

fseek(fp,-1,1); /* retract*/

c=lookup (TOKEN);

if (c==0) out (ID,TOKEN); else out (c," ");}

else

if(isdigit(ch))

{

TOKEN[0]=ch; ch=fgetc(fp); i=1;

while(isdigit(ch))

{

TOKEN[i]=ch; i++;

ch=fgetc(fp);

}

TOKEN[i]= ′\0′;

fseek(fp,-1,1);

out(INT,TOKEN);

}

else

switch(ch)

{

case ′<′: ch=fgetc(fp);

if(ch==′=′)out(LE," ");

else if(ch==′>′) out (NE," ");

else

{

fseek (fp,-1,1);

out (LT," ");

}

break;

case ′=′: out(EQ, " "); break;

case ′>′: ch=fgetc(fp);

if(ch==′=′)out(GE," ");

else

{

fseek(fp,-1,1);

out(GT," ");

}

break;

default: report_error( ); break;

}

return;

}

提示:扫描器所用的若干函数以及主程序有待于具体编写,并需事先建立好保留字表,以备查询。例如:

/* 建立保留字表*/

#define MAX_KEY_NUMBER 20 /*关键字的数量*/

#define KEY_WORD_END “waiting for your expanding”/*关键字结束标记*/

char *KeyWordTable[MAX_KEY_NUMBER]={“begin”, “end”, “if”, “then”, “else”, KEY_WORD_END};

/* 查保留字表,判断是否为关键字*/

int lookup (char *token)

{

int i=0;

while (strcmp(KeyWordTable[n], KEY_WORD_END)) /*strcmp比较两串是否相同,若相同返回0*/ {

if (!strcmp(KeyWordTable[n], token)) /*比较token所指向的关键字和保留字表中哪个关键字相符*/

{

return n+1; /*设置正确的关键字类别码,并返回此类别码的值*/

break;

}

n++;

}

return 0; /*单词不是关键字,而是标识符*/

}

另外,在扫描源程序字符串时,一旦识别出关键字、标识符、整常数以及运算符中之一,即以二元式形式(类别编码,值)输出单词到指定文件中。每次调用词法分析程序,它均能自动继续扫描下去,形成下一个单词,直至整个源程序全部扫描完毕,并形成相应的单词串形式的源程序。

2、在词法分析过程中建立变量名表和常数表,以备以后的编译过程(如语法分析)查询;扩充关键字的数目、增加单词类别(如逻辑运算符等)、将常数分成字符串常量、整型常量和实型常量等;添加词法分析中单词出错的位置、错误类型检查,以及删除注释部分等。

实验二语法分析程序实现

一、实验目的与要求

通过设计、编制、调试典型的SLR(1)语法分析程序,实现对实验一所得词法分析程序所提供的单词序列进行语法检查和结构分析,进一步掌握常用的语法分析方法。

二、实验内容

选择对各种常见高级程序设计语言都较为通用的语法结构无符号数的算术四则运算作为分析对象,给出其文法描述(注意应与所采用的语法分析方法比较贴近),设计并实现一个完整的语法分析程序。

输入:由实验一输出的单词类别串,如1,3,1。

输出:对于所输入的源程序,如果输入符号串是给定文法定义的合法句子,则输出“RIGHT”,并且给出每一步归约的过程;如果不是句子,即输入串有错误,则输出“ERROR”,并且显示已经归约出的各个文法符号,以及必要的出错说明信息。

三、实现方法与环境

1、首先根据算术四则运算的语法定义,构造SLR(1)分析表。

无符号数的算术四则运算的语法可表示为:

E->E+T| E-T|T

T->T*F| T/F|F

F->(E)|i

2、语法分析程序编写

设置输入缓冲区、状态栈、符号栈,并根据SLR(1)分析表利用某种语言(C 语言或JA V A语言)直接编写移进、归约、接受子程序,编写语法分析程序。

3、语法分析程序测试

用于测试的实例源文件中应有语法正确的,也应有语法错误的符号串,以对照的形式将分析结果信息在输出文件中表示出来。

四、扩展实验

1、对以下复合语句进行语法分析器的设计与实现。

G[<复合语句>]:

<复合语句> → begin<语句表>end

<语句表> → <语句>|<语句>;<语句表>

<语句> → <赋值语句>

<赋值语句> → <变量>:=<算术表达式>

<算术表达式> → <项> | <算术表达式>+<项> | <算术表达式>-<项>

<项> → <因式> | <项>*<因式> | <项>/<因式>

<因式> → <变量> | <常数> | (<算术表达式>)

<变量> → <标识符>

<标识符> → <标识符> <字母> | <标识符> <数字> | <字母>

<常数> → <整数> | <浮点数>

<整数> → <数字> | <数字> <整数>

<浮点数> →? <整数> | <整数> ? <整数>

<字母> → A|B|C|…|X|Y|Z|a|b|c|…|x|y|z

<数字> → 0|1|2|…|9

2、增强语法检查功能,对出错位置、错误类型给予提示。

实验三语义分析程序实现

一、实验目的与要求

通过设计、编制、调试一个简单的语义处理分析程序,实现对实验一和实验二所得单词和语句的语义信息简单处里,进一步掌握语义处理的内容和简单方法。

二、实验内容

对实验一进行扩展,对识别的无符号数进行计值,并将输出形式改为(类别码,值)的二元式形式。

对实验二进行扩展,在语法分析的基础上,增加语义操作来实现语法制导翻译。对于给定文法中的每一产生式,编写相应的语义子程序。在语法分析过程中,每当用一产生式进行推导或归约时,语法分析程序除执行相应的语法分析动作之外,还要调用相应的语义子程序,计算并输出算术表达式的值。

将实验一与实验二的程序合并,以能对完整的输入源文件进行词法分析生成中间文件,然后进行语法制导翻译,输出最终翻译结果。

输入:由无符号数和+,—,*,/, ( , ) 构成的算术表达式。

输出:如果输入单词串是合法的无符号数的算术四则运算,输出运算结果,并且给出每一步的分析过程;如果不是无符号数的算术四则运算,输出“非法四则运算表达式”。

三、基本实验题目

对实验一中每个无符号数识别状态插入计值处理,最终获得无符号数的取值。

对实验二进行扩展,在归约(分析表中的归约动作已经反应了运算优先级)处理子程序中加入计值处理,接受子程序中加入输出算数表达式值的处理。

四、参考资料

与无符号数状态转换图对应的包含语义处理过程(据此可计算求得无符号数的数字值)的状态矩阵和参考程序如下所示。

表3包含语义处理过程的识别无符号数的状态矩阵

根据加入语义过程说明的状态转换图直接编写词法分析程序,部分实现代码如下:

1 #include

2 #include

3 #include

4 #define LETTER 0

5 #define DIGIT 1

6 #define POINT 2

7 #define OTHER 3

8 #define POWER 4

9 #define PLUS 5

10 #define MINUS 6

11 #define UCON 7 //Suppose the class number of unsigned constant is 7

12 #define ClassOther 200

13 #define EndState -1

14 int w,n,p,e,d;

15 int Class; //Used to indicate class of the word

16 int ICON;

17 float FCON;

18 static int CurrentState; //Used to present current state, the initial value:0

19

20 int GetChar (void);

21 int EXCUTE (int,int);

22 int LEX (void);

23 int HandleOtherWord (void)

24 {return ClassOther;

25 }

26 int HandleError (void)

27 {printf ("Error!\n"); return 0;}

28

29 int GetChar (void)

30 {

31 int c;

32 c=getchar ( );

33 if(isdigit(c)) {d=c-′0′;return DIGIT;}

34 if (c==′.′) return POINT;

35 if (c==′E′||c==′e′) return POWER;

36 if (c==′+′) return PLUS;

37 if (c==′-′) return MINUS;

38 return OTHER;

39 }

40 int EXCUTE (int state, int symbol)

41 {

42 switch (state)

43 {

44 case 0:switch (symbol)

45 {

46 case DIGIT: n=0;p=0;e=1;w=d;CurrentState=1;Class=UCON;break;

47 case POINT: w=0;n=0;p=0;e=1;CurrentState=3;Class=UCON;break;

48 default: HandleOtherWord( );Class=ClassOther;

49 CurrentState=EndState;

50 }

51 break;

52 case 1:switch (symbol)

53 {

54 case DIGIT: w=w*10+d;break; //CurrentState=1

55 case POINT: CurrentState=2;break;

56 case POWER: CurrentState=4;break;

57 default: ICON=w;CurrentState=EndState;

58 }

59 break;

60 case 2:switch (symbol)

61 {

62 case DIGIT: n++;w=w*10+d;break;

63 case POWER: CurrentState=4;break;

64 default: FCON=w*pow(10,e*p-n);CurrentState=EndState;

65 }

66 break;

67 case 3:switch (symbol)

68 {

69 case DIGIT: n++;w=w*10+d;CurrentState=2;break;

70 default: HandleError( );CurrentState=EndState;

71 }

72 break;

73 case 4:switch (symbol)

74 {

75 case DIGIT: p=p*10+d;CurrentState=6;break;

76 case MINUS: e=-1;CurrentState=5;break;

77 case PLUS: CurrentState=5;break;

78 default: HandleError( );CurrentState=EndState;

79 }

80 break;

81 case 5:switch (symbol)

82 {

83 case DIGIT: p=p*10+d;CurrentState=6;break;

84 default: HandleError( );CurrentState=EndState;

85 }

86 break;

87 case 6:switch (symbol)

88 {

89 case: DIGIT:p=p*10+d;break;

90 default: FCON=w*pow(10,e*p-n);CurrentState=EndState;

91 }

92 break;

93 }

94 return CurrentState;

95 }

96 int LEX (void)

97 {

98 int ch;

99 CurrentState=0;

100 while (CurrentState!=EndState)

101 {

102 ch=GetChar( );

103 EXCUTE (CurrentState,ch);

104 }

105 return Class;

106 }

五、扩展实验

对以下复合语句进行语法制导翻译程序的设计与实现。

G[<复合语句>]:

<复合语句> → begin<语句表>end

<语句表> → <语句>|<语句>;<语句表>

<语句> → <赋值语句>

<赋值语句> → <变量>:=<算术表达式>

<算术表达式> → <项> | <算术表达式>+<项> | <算术表达式>-<项>

<项> → <因式> | <项>*<因式> | <项>/<因式>

<因式> → <变量> | <常数> | (<算术表达式>)

<变量> → <标识符>

<标识符> → <标识符> <字母> | <标识符> <数字> | <字母>

<常数> → <整数> | <浮点数>

<整数> → <数字> | <数字> <整数>

<浮点数> →? <整数> | <整数> ? <整数>

<字母> → A|B|C|…|X|Y|Z|a|b|c|…|x|y|z

<数字> → 0|1|2|…|9

实验报告要求

要求每人针对实验上交一份实验报告,不接受不完整的实验报告,或者说明与程序或结果不符合的实验报告。

实验报告主要包括三方面内容:

1、实验设计

实验采用的文法,状态转换图或状态矩阵,程序流程设计和每部分的主要功能说明等。

2、程序代码

实验实现的源程序,要求符合代码行首缩进、单句代码换行、标识符命名合理,并包括必要的注释。

3、实验过程问题分析记录

记录实验过程中发生的编译错误并分析错误原因和解决的方法及结果,参考表3。

表3 实验一中发生的编译错误记录表

4、实验结果

记录最终的程序执行结果,至少包括一个正确单词或表达式的识别结果和一个错误单词或表达式的识别结果。

测试技术实验指导书及实验报告2006级用汇总

矿压测试技术实验指导书 学号: 班级: 姓名: 安徽理工大学 能源与安全学院采矿工程实验室

实验一常用矿山压力仪器原理及使用方法 第一部分观测岩层移动的部分仪器 ☆深基点钻孔多点位移计 一、结构简介 深基点钻孔多点位移计是监测巷道在掘进和受采动影响的整个服务期间,围岩内部变形随时间变化情况的一种仪器。 深基点钻孔多点位移包括孔内固定装置、孔中连接钢丝绳、孔口测读装置组成。每套位移计内有5~6个测点。其结构及其安装如图1所示。 二、安装方法 1.在巷道两帮及顶板各钻出φ32的钻孔。 2.将带有连接钢丝绳的孔内固定装置,由远及近分别用安装圆管将其推至所要求的深度。(每个钻孔布置5~6个测点,分别为;6m、5m、4m、3m、2m、lm或12m、10m、8m、6m、4m、2m)。 3.将孔口测读装置,用水泥药圈或木条固定在孔口。 4。拉紧每个测点的钢丝绳,将孔口测读装置上的测尺推至l00mm左右的位置后,由螺丝将钢丝绳与测尺固定在一起。 三、测试方法 安装后先读出每个测点的初读数,以后每次读得的数值与初读数之差,即为测点的位移值。当读数将到零刻度时,松开螺丝,使测尺再回到l00mm左右的位置,重新读出初读数。 ☆顶板离层指示仪 一、结构简介: 顶板离层指示仪是监测顶板锚杆范围内及锚固范围外离层值大小的一种监测仪器,在顶板钻孔中布置两个测点,一个在围岩深部稳定处,一个在锚杆端部围岩中。离层值就是围岩中两测点之间以及锚杆端部围岩与巷道顶板表面间的相对位移值。顶板离层指示仪由孔内固定装置、测量钢丝绳及孔口显示装置组成如图1所示。

二、安装方法: 1.在巷道顶板钻出φ32的钻孔,孔深由要求而定。 2.将带有长钢丝绳的孔内固定装置用安装杆推到所要求的位置;抽出安装杆后再将带有短钢丝绳的孔内固定装置推到所要求的位置。 3.将孔口显示装置用木条固定在孔口(在显示装置与钻孔间要留有钢丝绳运动的间隙)。 4.将钢丝绳拉紧后,用螺丝将其分别与孔口显示装置中的圆管相连接,且使其显示读数超过零刻度线。 三、测读方法: 孔口测读装置上所显示的颜色,反映出顶板离层的范围及所处状态,显示数值表示顶板的离层量。☆DY—82型顶板动态仪 一、用途 DY-82型顶板动态仪是一种机械式高灵敏位移计。用于监测顶底板移近量、移近速度,进行采场“初次来压”和“周期来压”的预报,探测超前支撑压力高 峰位置,监测顶板活动及其它相对位移的测量。 二、技术特征 (1)灵敏度(mm) 0.01 (2)精度(%) 粗读±1,微读±2.5 (3)量程(mm) 0~200 (4)使用高度(mm) 1000~3000 三、原理、结构 其结构和安装见图。仪器的核心部件是齿条6、指针8 以及与指针相连的齿轮、微读数刻线盘9、齿条下端带有读 数横刻线的游标和粗读数刻度管11。 当动态仪安装在顶底板之间时,依靠压力弹簧7产生的 弹力而站立。安好后记下读数(初读数)并由手表读出时间。 粗读数由游标10的横刻线在刻度管11上的位置读出,每小 格2毫米,每大格(标有“1”、“22'’等)为10毫米,微读数 由指针8在刻线盘9的位置读出,每小格为0.01毫米(共200 小格,对应2毫米)。粗读数加微读数即为此时刻的读数。当 顶底板移近时,通过压杆3压缩压力弹簧7,推动齿条6下 移,带动齿轮,齿轮带动指针8顺时针方向旋转,顶底板每 移近0.01毫米,指针转过1小格;同时齿条下端游标随齿条 下移,读数增大。后次读数减去前次读数,即为这段时间内的顶底板移近量。除以经过的时间,即得

编译原理实验指导

编译原理实验指导 实验安排: 上机实践按小组完成实验任务。每小组三人,分别完成TEST语言的词法分析、语法分析、语义分析和中间代码生成三个题目,语法分析部分可任意选择一种语法分析方法。先各自调试运行,然后每小组将程序连接在一起调试,构成一个相对完整的编译器。 实验报告: 上机结束后提交实验报告,报告内容: 1.小组成员; 2.个人完成的任务; 3.分析及设计的过程; 4.程序的连接; 5.设计中遇到的问题及解决方案; 6.总结。

实验一词法分析 一、实验目的 通过设计编制调试TEST语言的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。 二、实验预习提示 1.词法分析器的功能和输出格式 词法分析器的功能是输入源程序,输出单词符号。词法分析器的单词符号常常表示 成以下的二元式(单词种别码,单词符号的属性值)。 2.TEST语言的词法规则 |ID|ID |NUM →a|b|…|z|A|B|…|Z →1|2|…|9|0 →+|-|*|/|=|(|)|{|}|:|,|;|<|>|! →>=|<=|!=|== →/* →*/ 三、实验过程和指导 1.阅读课本有关章节,明确语言的语法,画出状态图和词法分析算法流程图。 2.编制好程序。 3.准备好多组测试数据。 4.程序要求 程序输入/输出示例:

大型数据库实验指导书

淮海工学院计算机科学系 大型数据库实验指导书 计算机网络教研室

实验1安装配置与基本操作 实验目的 1. 掌握Oracle9i服务器和客户端软件的安装配置方法。 2. 掌握Oracle9i数据库的登录、启动和关闭。 实验环境 局域网,windows 2000 实验学时 2学时,必做实验。 实验内容 1. 在局域网环境下安装配置Oracle9i服务器和客户端软件。 2. 练习Oracle9i数据库的登录、启动和关闭等基本操作。 实验步骤 1、将Oracle 9i的第1号安装盘放入光驱,双击setup,将弹出“Oracle Universal Installer:欢迎使用”对话框。 2、单击“下一步”按钮,出现“Oracle Universal Installer:文件定位”对话框。 在路径中输入“E:\Oracle\ora92”,其它取默认值。 3、启动第1号盘的安装程序setup,具体方法同安装Oracle 9i服务器,不同的是在 选择安装产品时选择“Oracle9i Client 9.2.0.1.0”选项; 4、安装结束后,弹出“Oracle Net Configuration Assistant:欢迎使用”对话框。取 默认值。 5、登录Oracle9i数据库:选择“开始”→“所有程序”→Oracle-OraHome92→Enterprise Manager Console ; 6、系统出现“登录”对话框。选择“独立启动”。 分析与思考 (1)简述启动Oracle9i数据库的一般步骤。 (2)简述启动Oracle9i模式中三个选项的区别? (3)简述关闭Oracle9i模式中四个选项的区别?

细胞生物学实验指导(植物版)

细胞生物学实验 实验一不同显微镜的使用及细胞一般形态结构的观测[实验目的] 通过本实验,使学生巩固普通光学显微镜的使用,学习相差显微镜、暗视野显微镜和荧光显微镜的使用方法,学习显微测量及显微摄影的操作方法,增强对细胞的形态和真实大小的感性认识。 通过本实验操作,要求学生掌握细胞形态结构的基本观测方法与技术,为进一步的细胞生物学研究打好基础。 [实验原理] 应用显微镜的成像原理(详见翟中和等主编《细胞生物学》,第三章第一节),同时借助显微镜的镜台测微尺和目镜测微尺,两尺配合使用,进行测量和运算,观察细胞形态,得出细胞的大小。 该实验完成需时6学时。 [实验材料、试剂和仪器] 一、仪器 普通光学显微镜、相差显微镜、暗视野显微镜、荧光显微镜、显微拍摄系统、37℃温箱、镜台测微尺、目镜测微尺等。 二、材料 洋葱根尖切片标本,念珠藻永久装片,兔肝细胞标本,夹竹桃花丝毛细胞,人口腔上皮细胞等。 三、试剂 生理盐水,10μg/mL罗丹明123染液(溶于甲醇,避光于4℃保存) [实验步骤] 一、暗视野显微镜观察夹竹桃花丝毛细胞 1、取一张清洁的载玻片,滴上一滴生理盐水。用镊子轻轻夹下一根夹竹桃花丝,置生理盐水中,盖上盖玻片,略微压片,用滤纸条吸去盖玻片四周多余的水分。 2、将上述装片置于显微镜载物台上,在10×物镜下找到夹竹桃花丝毛细胞清晰的图像。 3、换上暗视野聚光器,调节至最佳位置,通过聚光器上的调中螺旋调节聚光器的中心位置,得到最好的暗视野图像效果。 4、观察夹竹桃花丝毛细胞内部的显微结构和细胞质环流现象,并拍照。 5、换用高倍物镜观察时,要换用与高倍镜相匹配的暗视野聚光器,重复以上调节步骤。 二、相差显微镜观察夹竹桃花丝毛细胞 1、取一张清洁的载玻片,滴上一滴生理盐水。用镊子轻轻夹下一根夹竹桃花丝,置生

混凝土结构实验指导书及实验报告(学生用)

土木工程学院 《混凝土结构设计基本原理》实验指导书 及实验报告 适用专业:土木工程周淼 编 班级::学 号: 理工大学 2018 年9 月

实验一钢筋混凝土梁受弯性能试验 一、实验目的 1.了解适筋梁的受力过程和破坏特征; 2.验证钢筋混凝土受弯构件正截面强度理论和计算公式; 3.掌握钢筋混凝土受弯构件的实验方法及荷载、应变、挠度、裂缝宽度等数据的测试技术 和有关仪器的使用方法; 4.培养学生对钢筋混凝土基本构件的初步实验分析能力。 二、基本原理当梁中纵向受力钢筋的配筋率适中时,梁正截面受弯破坏过程表现为典型的三个阶段:第一阶段——弹性阶段(I阶段):当荷载较小时,混凝土梁如同两种弹性材料组成的组合梁,梁截面的应力呈线性分布,卸载后几乎无残余变形。当梁受拉区混凝土的最大拉应力达到混凝土的抗拉强度,且最大的混凝土拉应变超过混凝土的极限受拉应变时,在纯弯段某一薄弱截面出现首条垂直裂缝。梁开裂标志着第一阶段的结束。此时,梁纯弯段截面承担的弯矩M cr称为开裂弯矩。第二阶段——带裂缝工作阶段(II阶段):梁开裂后,裂缝处混凝土退出工作,钢筋应力急增,且通过粘结力向未开裂的混凝土传递拉应力,使得梁中继续出现拉裂缝。压区混凝土中压应力也由线性分布转化为非线性分布。当受拉钢筋屈服时标志着第二阶段的结束。此时梁纯弯段截面承担的弯矩M y称为屈服弯矩。第三阶段——破坏阶段(III阶段):钢筋屈服后,在很小的荷载增量下,梁会产生很大的变形。裂缝的高度和宽度进一步发展,中和轴不断上移,压区混凝土应力分布曲线渐趋丰满。当受压区混凝土的最大压应变达到混凝土的极限压应变时,压区混凝土压碎,梁正截面受弯破坏。此时,梁承担的弯矩M u 称为极限弯矩。适筋梁的破坏始于纵筋屈服,终于混凝土压碎。整个过程要经历相当大的变形,破坏前有明显的预兆。这种破坏称为适筋破坏,属于延性破坏。 三、试验装置

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

编译原理实验报告实验名称:实验一编写词法分析程序 实验类型:验证型实验 指导教师:何中胜 专业班级: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.实践部分

大数据库应用实验指导书(1,2)

《—数据库应用—》上机指导书 数据库课程组编写 前言

“数据库应用”是一门理论性和实践性都很强的专业课程, 通过本课程的学习,学生会使用SQL Server数据库管理系统并能进行实际应用。能熟练掌握Transact-SQL语言,能保证数据的完整性和一致性、数据库的安全,并能进行简单编程。 “数据库应用”课程上机的主要目标: 1)通过上机操作,加深对数据库系统理论知识的理解。 2)通过使用SQL SERVER2000,了解SQL SERVER 数据库管理系统的数据管理方式,并掌握其操作技术。 3)通过实际题目的上机,提高动手能力,提高分析问题和解决问题的能力。 “数据库应用”课程上机项目设置与内容 表3列出了”数据库应用”课程具体的上机项目和内容 上机组织运行方式:

⑴上机前,任课教师需要向学生讲清上机的整体要求及上机的目标任务;讲清上机安排和进度、平时考核内容、期末考试办法、上机守则及上机室安全制度;讲清上机操作的基本方法,上机对应的理论内容。 ⑵每次上机前:学生应当先弄清相关的理论知识,再预习上机内容、方法和步骤,避免出现盲目上机的行为。 ⑶上机1人1组,在规定的时间内,由学生独立完成,出现问题时,教师要引导学生独立分析、解决,不得包办代替。 ⑷该课程上机是一个整体,需要有延续性。机房应有安全措施,避免前面的上机数据、程序和环境被清除、改动等事件发生,学生最好能自备移动存储设备,存储自己的数据。 ⑸任课教师要认真上好每一堂课,上机前清点学生人数,上机中按要求做好学生上机情况及结果记录。 上机报告要求 上机报告应包含以下内容: 上机目的,上机内容及操作步骤、上机结果、及上机总结及体会。 上机成绩评定办法 上机成绩采用五级记分制,分为优、良、中、及格、不及格。按以下五个方面进行综合考核: 1、对上机原理和上机中的主要环节的理解程度; 2、上机的工作效率和上机操作的正确性; 3、良好的上机习惯是否养成; 4、工作作风是否实事求是; 5、上机报告(包括数据的准确度是否合格,体会总结是否认真深入等) 其它说明 1.在上机课之前,每一个同学必须将上机的题目、程序编写完毕,对运行中可能出 现的问题应事先作出估计;对操作过程中有疑问的地方,应做上记号,以便上机时给予注意。做好充分的准备,以提高上机的效率 2.所有上机环节均由每位同学独立完成,严禁抄袭他人上机结果,若发现有结果雷 同者,按上机课考核办法处理。 3.上机过程中,应服从教师安排。 4.上机完成后,要根据教师的要求及时上交作业。

细胞生物学实验指导(精)

细胞生物学实验指导 细胞生物学的发展总是依赖于技术和实验手段的进步,所以学习细胞生物学的技术和方法至关重要。 实验一普通显微镜及其使用(装片观察) 一、目的要求: 1、掌握显微镜的构造、油浸系的原理、使用方法、保护要点。 2、参观了解其他各类显微镜。 二、材料:普通光学显微镜及其他显微镜、细菌标本片、香柏油、二甲苯、擦镜纸。 三、方法和步骤: 1、介绍普通光学显微镜的构造 机械部分:镜座、镜臂、镜筒、转换器、载物台、调焦螺旋。 光学部分:接目镜、物镜、反光镜、聚光器。 2、油镜的原理及使用方法 原理:油镜头的晶片细小,进入镜中的光线亦少,光线经聚光器,通过载玻片进油镜时,由于空气介质和玻璃介质的折射率不一样,光线因折射而损失,使视野更暗。在载玻片和油镜之间加上和玻璃折光系数相同的香柏油,光线直接进入镜头,不发生折射,视野明亮,便于观察。 3、如何维护显微镜:机械部分的维护,光学部分的维护。 4、注意事项: (1)观察油镜载片时,先在载片上有菌影的地方滴1-2滴香柏油,然后放载物台中央,眼侧面看,慢慢降低油镜浸入香柏油中,镜头几乎接触标本。再用左眼在接目镜观察,同时慢慢旋动粗螺旋提起镜筒至能模糊看到物象时,再转动微调螺旋,直至看清晰为止。注意镜头离开油,就不能看清,重新按刚才的步骤进行。 (2)油镜使用过后,立即用擦镜纸擦拭镜头,如油渍已干,则可用香柏油粘二甲苯擦拭镜

头,再用干净擦镜纸擦去二甲苯。 5、观察几种细菌标本片。 6、示教看相差显微镜和荧光显微镜。 四、作业及思考题: 1、油镜的原理是什么? 2、光线强弱如何调节?与哪些部件有关? 实验二、细胞膜的渗透性 实验目的 了解细胞膜的渗透性及各类物质进入细胞的速度。 实验原理 将红细胞放入数种等渗溶液中,由于红细胞对各种溶质的透性不同,有的溶质可以渗入,有的不能渗入,渗入的溶质能够提高红细胞的渗透压,所以促使水分进入细胞,引起溶血,由于溶质透入速度互不相同,因此溶血时间也不相同。 实验用品 一、器材 50ml烧杯, 试管(1~10cm), 10ml移液管, 试管架。 二、材料 羊血。 三、试剂0.17mol/L氯化钠,0.17mol/L氯化胺,0.17mol/L醋酸胺,0.17mol/L硝酸钠,0.12mol/草酸胺,0.12mol/硫酸钠,0.32mol/葡萄糖,0.32mol/甘油,0.32mol/乙醇,0.32mol/丙酮。 实验方法 一、羊血细胞悬液 取50ml小烧杯一个,加1份羊血和10份0.17mol/L氯化钠,形成一种不透 明的红色液体,此即稀释的羊血。

土工实验指导书及实验报告

土工实验指导书及实验报告编写毕守一 安徽水利水电职业技术学院 二OO九年五月

目录 实验一试样制备 实验二含水率试验 实验三密度试验 实验四液限和塑限试验 实验五颗粒分析试验 实验六固结试验 实验七直接剪切试验 实验八击实试验 土工试验复习题

实验一试样制备 一、概述 试样的制备是获得正确的试验成果的前提,为保证试验成果的可靠性以及试验数据的可比性,应具备一个统一的试样制备方法和程序。 试样的制备可分为原状土的试样制备和扰动土的试样制备。对于原状土的试样制备主要包括土样的开启、描述、切取等程序;而扰动土的制备程序则主要包括风干、碾散、过筛、分样和贮存等预备程序以及击实等制备程序,这些程序步骤的正确与否,都会直接影响到试验成果的可靠性,因此,试样的制备是土工试验工作的首要质量要素。 二、仪器设备 试样制备所需的主要仪器设备,包括: (1)孔径0.5mm、2mm和5mm的细筛; (2)孔径0.075mm的洗筛; (3)称量10kg、最小分度值5g的台秤; (4)称量5000g、最小分度值1g和称量200g、最小分度值0.01g的天平;

(5)不锈钢环刀(内径61.8mm、高20mm;内径79.8mm、高20mm或内径61.8mm、高40mm); (6)击样器:包括活塞、导筒和环刀; (7)其他:切土刀、钢丝锯、碎土工具、烘箱、保湿器、喷水设备、凡士林等。 三、试样制备 (一)原状土试样的制备步骤 1、将土样筒按标明的上下方向放置,剥去蜡封和胶带,开启土样筒取土样。 2、检查土样结构,若土样已扰动,则不应作为制备力学性质试验的试样。 3、根据试验要求确定环刀尺寸,并在环刀内壁涂一薄层凡士林,然后刃口向下放在土样上,将环刀垂直下压,同时用切土刀沿环刀外侧切削土样,边压边削直至土样高出环刀,制样时不得扰动土样。 4、采用钢丝锯或切土刀平整环刀两端土样,然后擦净环刀外壁,称环刀和土的总质量。 5、切削试样时,应对土样的层次、气味、颜色、夹杂物、裂缝和均匀性进行描述。 6、从切削的余土中取代表性试样,供测定含水率以及颗粒分析、界限含水率等试验之用。

细胞生物学实验指导

细胞生物学实验指导

细胞生物学实验指导目录 一.显微镜的使用 实验一、几种光学显微镜的使用 实验二、参观电子显微镜及生物超薄切片标本制备 二.细胞形态结构 实验三、细胞大小的形态观察——测微尺的使用 实验四、细胞活体染色技术 实验五、植物细胞骨架光学显微观察 实验六、胞间连丝观察 三.细胞化学 实验七、鉴定RNA的细胞化学方法——Branchet反应 实验八、DNA显色的观察——Feulgen反应 实验九、固绿染色法鉴定细胞内酸性蛋白与碱性蛋白 实验十、多糖及过氧化酶的显示 实验十一、核仁组成区的银染显示与观察 四.细胞生理 实验十二、细胞膜的通透性 实验十三、细胞电泳 五.细胞和组织培养技术 实验十四、植物原生质体的分离和融合 实验十五、植物细胞的培养与观察 实验十六、动物细胞融合 实验十七、动物细胞的培养与观察 六.细胞化学成分的分离 实验十八、细胞器的分离、纯化——细胞分级分离 实验十九、荧光的细胞化学测定 实验二十、细胞活力的鉴别 实验一几种光学显微镜的使用

一、实验目的 了解几种光学显微镜的结构、工作原理、主要用途和使用方法;掌握使用普通显微镜提高分辨力的方法。 二、实验原理 (一)基本原理 一般实验室经常使用的光学显微镜都是由物镜、目镜、聚光器和光阑组成,普通显微镜它们的放大原理及光路图如下: AB物体.A1B l第一次成像,A2B2第二次成像,O l目镜.O2物镜, F1为O l的前焦点,F2为O2的前焦点 各种光学显微镜的光学放大原理基本相同,各种特殊用途的光镜不过只是在光源、物镜、聚光器等方面作了改动,或在其它方面增设了某些特殊的设备。 (二)几种光学显微镜 l、普通光学显微镜: 普通光学显微镜也叫复式显微镜,是最常见,最简单的显微镜。它适于观察一般固定的,有色的透明度较高的标本。其最大分辨力一般为0.2微米,从构造上可分光学、机械和电子三大系统。 2、暗视野显微镜: 暗视野显微镜是以丁达尔现象(Tyndall phenomenon)(即光的微粒散射现象)为基础设计的,它使用了特殊的聚光器进行斜射照明,因光源中心束不直入物镜,所以视野黑暗,而被检细胞器因斜射照明发生衍射和反射,所以发亮可见。暗视野显微镜可用增加光照方法增加物体与背景的反差,因而可观察到0.2—0.004微米直径的微小粒子,但它分不清被检物的细微构造,它常用于观察物体的存在与运动。而暗视野显微镜与普通光学显微镜的区别,主要在于聚光器的不同,致使照明方法有别。确切地说,称暗视野显微镜为暗视野照明更为贴切。它是照明光线仅照亮被检样品而不进入物镜。使视野背景暗黑,样品明亮的照明方法。 3、相差显微镜: 相差是指同一光线经过折射率不同的介质其相位发生变化并产生的差异。相位是指在某一时间上,光的波动所达到的位置。

CAD上机实验指导书及实验报告

北京邮电大学世纪学院 实验、实习、课程设计报告撰写格式与要求 (试行) 一、实验报告格式要求 1、有实验教学手册,按手册要求填写,若无则采用统一实验报告封面。 2、报告一律用钢笔书写或打印,打印要求用A4纸;页边距要求如下:页边距上下各为2.5厘米,左右边距各为2.5厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。 3、统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。 4、实验报告中的实验原始记录,须经实验指导教师签字或登记。 二、实习报告、课程设计报告格式要求 1、采用统一的封面。 2、根据教学大纲的要求手写或打印,手写一律用钢笔书写,统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。打印要求用A4纸;页边距要求如下:页边距上下各为2.5厘米,左右边距各为2.5厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。 三、报告内容要求 1、实验报告内容包括:实验目的、实验原理、实验仪器设备、实验操作过程、原始数据、实验结果分析、实验心得等方面内容。 2、实习报告内容包括:实习题目、实习任务与要求、实习具体实施情况(附上图表、原始数据等)、实习个人总结等内容。 3、课程设计报告或说明书内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。 北京邮电大学世纪学院 教务处 2009-8

实验报告 课程名称计算机绘图(CAD) 实验项目AutoCAD二维绘图实验 专业班级 姓名学号 指导教师实验成绩 2016年11月日

《编译原理》实验指导书

《编译原理》实验指导书 实验目的和内容 编译原理实验的目的是使学生将编译理论运用到实际当中,实现一个简单语言集的词法、语法和语义分析程序,验证实际编译系统的实现方法,并加深对编译技术的认识。 实验内容共需实现编译器的词法、语法和语义分析程序三个组成部分。要求学生必须完成每个实验的基本题目要求,有余力的同学可尝试实验的扩展要求部分。 实验报告 要求每人针对所完成的实验内容上交一份实验报告,其中主要包括三方面内容:1、实验设计:实验采用的实现方法和依据(如描述语言的文法及其机内表示,词分析 的单词分类码表、状态转换图或状态矩阵等,语法分析中用到的分析表或优先矩阵等,语法制导翻译中文法的拆分和语义动作的设计编写等);具体的设计结果(应包括整体设计思想和实现算法,程序结构的描述,各部分主要功能的说明,法以及所用数据结构的介绍等)。 2、程序代码:实验实现的源程序清单,要求符合一般的程序书写风格,有详细的注释。 3、实验结果分析:自行编写若干源程序作为测试用例,对所生成的编译程序进行测试 (编译程序的输入与输出以文件的形式给出);运行结果分析(至少包括一个正确和一个错误单词或语句的运行结果);以及改进设想等。 注意事项 1、电子版实验报告和源程序在最后一次机时后的一周内上交。(每个同学上交一个压 缩文件,其命名格式为“学号_姓名.rar”,内含实验报告和一个命名为“源程序” 的文件夹。注意提交的源程序应是经过调试、测试成功的较为通用的程序,并应有相应的注释、运行环境和使用方法简介。) 2、不接受不完整的实验报告和没有说明注释的源程序,或者说明与程序、运行结果不 符合的作业。 特别鼓励:扩展题目 1、为亲身经历一个小型编译器的开发全过程,触摸一下与实际编译器开发相关的工作, 大家可以自由组成3人左右的小组,推举组长,模拟一个团队分工协作开发大型软件的实战环境,融入软件工程的思想规范和一般理论方法,初步体验从系统分析设计、编码测试到交付维护的一个完整编译器软件的开发过程。要求组长为每个小组成员分配主要负责的任务,完成相应的分析设计员、程序员和测试员等角色的工作,并以小组为单位提交一份实验报告和源程序,在报告封面上写明每个同学主要完成和负责的部分。 2、以组为单位完成的实验内容至少必须整合词法、语法和语义三个部分的实验,对于 选定的适当规模的文法(如C语言的一个大小适宜的子集),进行系统的总体设计、功能分析、编码测试等工作。完成一个从对源程序的词法分析开始,到中间代码生成的完整的编译器前端的开发,使所涉及到的编译系统的各个组成模块有机地衔接在一起,提交一份完整的实验报告和源程序,并将以下几个方面描述清楚:

细胞生物学实验指导书09年

实验一普通光学显微镜的构造和使用 一、目的要求 1了解显微镜的基本构造和使用方法 2 掌握油镜的原理和使用方法 二、显微镜的基本结构及油镜的工作原理 1.显微镜的基本构造 光学部分:接目镜、接物镜、照明装置(聚光镜、虹彩光圈、反光镜等)。 机械部分:镜座、镜臂、镜筒、物镜转换器、载物台、载物台转移器、粗调节器、细调节器等部件。 2.显微镜的放大倍数和分辨率 放大倍数=接物镜放大倍数×接目镜放大倍数 显微镜的分辨率:表示显微镜辨析物体(两端)两点之间距离的能力3.油镜的使用原理 当光线由反光镜通过玻片与镜头之间的空气时,由于空气与玻片的密度不同,使光线受到曲折,发生散射,降低了视野的照明度。若中间的介质是一层油(其折射率与玻片的相近),则几乎不发生折射,增加了视野的进光量,从而使物象更加清晰。 三、器材 1.永久切片 2. 溶液或试剂:香柏油、二甲苯。 3. 仪器或其他用具:显微镜、擦镜纸等。 四、操作步骤 1.观察前的准备 (1)显微镜的安置,检查零件是否齐全,镜头是否清洁。 (2)调节光源 2.显微镜观察

(1)低倍镜观察 (2)高倍镜观察 (3)油镜观察:高倍镜下找到清晰的物象后,提升聚光镜,在标本中央滴一滴香柏油,使油镜镜头浸入香柏油中,细调至看清物象为止。3.显微镜用毕后的处理 观察完毕,上升镜筒,用擦镜纸和二甲苯清洗镜头,后将镜体全部复原。 五、思考题 1.用油镜观察时应注意哪些问题?在载玻片和镜头之间滴加什么油?起什么作用? 2.为什么在使用高倍镜及油镜时应特别注意避免粗调节器的误操作? 实验二胞间连丝的观察 一、实验目的 观察植物细胞的胞间连丝,加深对胞间连丝功能的认识. 二、实验原理 植物细胞的细胞壁上有许多原生质的细丝,称胞间连丝。相邻细胞的胞间连丝相互联接,在细胞间的物质运输与信息传递中起桥粱作用,并使细胞的各种生理活动协调一致,使植物体成为统一的有机体。用合适的植物细胞为材料,经简单处理,即能方便地看到胞间连丝。 三、实验材料 红辣椒表皮细胞临时装片、柿胚乳细胞间胞间连丝切片 四、实验步骤

《流体力学》课程实验(上机)指导书及实验报告格式

《流体力学》课程实验指导书袁守利编 汽车工程学院 2005年9月

前言 1.实验总体目标、任务与要求 1)学生在学习了《流体力学》基本理论的基础上,通过伯努利方程实验、动量方程实 验,实现对基本理论的验证。 2)通过实验,使学生对水柱(水银柱)、U型压差计、毕托管、孔板流量计、文丘里流量计等流体力学常用的测压、测流量装置的结构、原理和使用有基本认识。 2.适用专业 热能与动力工程 3.先修课程 《流体力学》相关章节。 4.实验项目与学时分配 5. 实验改革与特色 根据实验内容和现有实验条件,在实验过程中,采取学生自己动手和教师演示相结合的方法,力求达到较好的实验效果。

实验一伯努利方程实验 1.观察流体流经实验管段时的能量转化关系,了解特定截面上的总水头、测压管水头、压强水头、速度水头和位置水头间的关系,从而加深对伯努利方程的理解和认识。 2.掌握各种水头的测试方法和压强的测试方法。 3.掌握流量、流速的测量方法,了解毕托管测速的原理。 二、实验条件 伯努利方程实验仪 三、实验原理 1.实验装置: 图一伯努利方程实验台 1.水箱及潜水泵 2.上水管 3.电源 4.溢流管 5.整流栅 6.溢流板 7.定压水箱 8.实验 细管9. 实验粗管10.测压管11.调节阀12.接水箱13.量杯14回水管15.实验桌 2.工作原理 定压水箱7靠溢流来维持其恒定的水位,在水箱下部装接水平放置的实验细管8,水经实验细管以恒定流流出,并通过调节阀11调节其出水流量。通过布置在实验管四个截面上的四组测压孔及测压管,可以测量到相应截面上的各种水头的大小,从而可以分析管路中恒定流动的各种能量形式、大小及相互转化关系。各个测量截面上的一组测压管都相当于一组毕托管,所以也可以用来测管中某点的流速。 电测流量装置由回水箱、计量水箱和电测流量装置(由浮子、光栅计量尺和光电子

编译原理实验指导书2010

《编译原理》课程实验指导书 课程编号: 课程名称:编译原理/Compiler Principles 实验总学时数: 8 适用专业:计算机科学与技术、软件工程 承担实验室:计算机学院计算机科学系中心实验室、计算机技术系中心实验室 一、实验教学的目的与要求 上机实习是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,实习题中的问题比平时的练习题要复杂,也更接近实际。编译原理这门课程安排的2次上机实验都属于一种设计类型的实验,每个实验的训练重点在于基本的编译技术和方法,而不强调面面俱到;实验的目的是旨在使学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容;培养学生编制算法的能力和编程解决实际问题的动手能力。 要求学生在上机前应认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法设计和程序代码的编写;上机时应随带有关的编译原理教材或参考书;要学会程序调试与纠错。 每次实验后要交实验报告,实验报告的内容应包括: (1)实验题目、班级、学号、姓名、完成日期; (2)简要的需求分析与概要设计; (3)详细的算法描述; (4)源程序清单; (5)给出软件的测试方法和测试结果; (6)实验的评价、收获与体会。 开发工具: (1)DOS环境下使用Turbo C; (2)Windows环境下使用Visual C++ 。 考核: 实验成绩占编译原理课程结业成绩的10%。 三、单项实验的内容和要求: 要求每个实验保证每个学生一台微机。 实验一(4学时):单词的词法分析程序设计。 (一)目的与要求 1.目的 通过设计、编制、调试一个具体的词法分析程序,加深对词法分析原理的理解,并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。

ACCESS2010数据库技术实验指导书3

《ACCESS2010数据库技术及应用》 实验指导(3) 学号: 姓名: 班级: 专业:

实验三窗体 实验类型:验证性实验课时: 4 学时指导教师: 时间:201 年月日课次:第节教学周次:第周 一、实验目的 1. 掌握窗体创建的方法 2. 掌握向窗体中添加控件的方法 3. 掌握窗体的常用属性和常用控件属性的设置 二、实验内容和要求 1. 创建窗体 2. 修改窗体,添加控件,设置窗体及常用控件属性 三、实验步骤 案例一:创建窗体 1.使用“窗体”按钮创建“成绩”窗体。 操作步骤如下: (1)打开“教学管理.accdb”数据库,在导航窗格中,选择作为窗体的数据源“教师”表,在功能区“创建”选项卡的“窗体”组,单击“窗体”按钮,窗体立即创建完成,并以布局视图显示,如图3-1所示。 (2)在快捷工具栏,单击“保存”按钮,在弹出的“另存为”对话框中输入窗体的名称“教师”,然后单击“确定”按钮。 图3-1布局视图 2.使用“自动创建窗体”方式 要求:在“教学管理.accdb”数据库中创建一个“纵栏式”窗体,用于显示“教师”表中的信息。 操作步骤: (1)打开“教学管理.accdb”数据库,在导航窗格中,选择作为窗体的数据源“教师”表,在功能区“创建”选项卡的“窗体”组,单击“窗体向导”按钮。如图3-2所示。 (2)打开“请确定窗体上使用哪些字”段对话框中,如图3-3 所示。在“表和查询”下拉列表中光图3-2窗体向导按钮

标已经定位在所学要的数据源“教师”表,单击按钮,把该表中全部字段送到“选定字段”窗格中,单击下一步按钮。 (3)在打开“请确定窗体上使用哪些字”段对话框中,选择“纵栏式”,如图3-4所示。单击下一步按钮。 (4)在打开“请确定窗体上使用哪些字”段对话框中,输入窗体标题“教师”,选取默认设置:“打开窗体查看或输入信息”,单击“完成”按钮,如图3-5所示。 (5)这时打开窗体视图,看到了所创建窗体的效果,如图3-6所示。 图3-3“请确定窗体上使用哪些字”段对话框 图3-4“请确定窗体使用的布局”段对话框中

电磁场实验指导书及实验报告

CENTRAL SOUTH UNIVERSITY 题目利用Matlab模拟点电荷电场的分布姓名xxxx 学号xxxxxxxxxx 班级电气xxxx班 任课老师xxxx 实验日期2010-10

电磁场理论 实验一 ——利用Matlab 模拟点电荷电场的分布 一.实验目的: 1.熟悉单个点电荷及一对点电荷的电场分布情况; 2.学会使用Matlab 进行数值计算,并绘出相应的图形; 二.实验原理: 根据库伦定律:在真空中,两个静止点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号为斥力,异号为吸力,它们之间的力F 满足: R R Q Q k F ? 212 = (式1) 由电场强度E 的定义可知: R R kQ E ? 2 = (式2) 对于点电荷,根据场论基础中的定义,有势场E 的势函数为 R kQ U = (式3) 而 U E -?= (式4) 在Matlab 中,由以上公式算出各点的电势U ,电场强度E 后,可以用Matlab 自带的库函数绘出相应电荷的电场分布情况。 三.实验内容: 1. 单个点电荷 点电荷的平面电力线和等势线 真空中点电荷的场强大小是E=kq /r^2 ,其中k 为静电力恒量, q 为电量, r 为点电荷到场点P(x,y)的距离。电场呈球对称分布, 取电量q> 0, 电力线是以电荷为起点的射线簇。以无穷远处为零势点, 点电荷的电势为U=kq /r,当U 取

常数时, 此式就是等势面方程.等势面是以电荷为中心以r 为半径的球面。 平面电力线的画法 在平面上, 电力线是等角分布的射线簇, 用MATLAB 画射线簇很简单。取射线的半径为( 都取国际制单位) r0=, 不同的角度用向量表示( 单位为弧度) th=linspace(0,2*pi,13)。射线簇的终点的直角坐标为: [x,y]=pol2cart(th,r0)。插入x 的起始坐标x=[x; *x].同样插入y 的起始坐标, y=[y; *y], x 和y 都是二维数组, 每一列是一条射线的起始和终止坐标。用二维画线命令plot(x,y)就画出所有电力线。 平面等势线的画法 在过电荷的截面上, 等势线就是以电荷为中心的圆簇, 用MATLAB 画等势 线更加简单。静电力常量为k=9e9, 电量可取为q=1e- 9; 最大的等势线的半径应该比射线的半径小一点 r0=。其电势为u0=k8q /r0。如果从外到里取7 条等势线, 最里面的等势线的电势是最外面的3 倍, 那么各条线的电势用向量表示为: u=linspace(1,3,7)*u0。从- r0 到r0 取偶数个点, 例如100 个点, 使最中心点的坐标绕过0, 各点的坐标可用向量表示: x=linspace(- r0,r0,100), 在直角坐标系中可形成网格坐标: [X,Y]=meshgrid(x)。各点到原点的距离为: r=sqrt(X.^2+Y.^2), 在乘方时, 乘方号前面要加点, 表示对变量中的元素进行乘方计算。各点的电势为U=k8q. /r, 在进行除法运算时, 除号前面也要加点, 同样表示对变量中的元素进行除法运算。用等高线命令即可画出等势线 contour(X,Y,U,u), 在画等势线后一般会把电力线擦除, 在画等势线之前插入如下命令hold on 就行了。平面电力线和等势线如图1, 其中插入了标题等等。越靠近点电荷的中心, 电势越高, 电场强度越大, 电力线和等势线也越密。

编译原理实验-词法分析器的设计说明

集美大学计算机工程学院实验报告 课程名称:编译原理班级: 指导教师:: 实验项目编号:实验一学号: 实验项目名称:词法分析器的设计实验成绩: 一、实验目的 通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。 二、实验容 编写一个词法分析器,从输入的源程序(编写的语言为C语言的一个子集)中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示) 三、实验要求 1、词法分析器的功能和输出格式 词法分析器的功能是输入源程序,输出单词符号。词法分析器的单词符 2 别单词的类型,将标识符和常量分别插入到相应的符号表中,增加错误处理等。 3、编程语言不限。

四、实验设计方案 1、数据字典 本实验用到的数据字典如下表所示:

3、实验程序 #include #include #include #include //判断读入的字符是否为字母 bool isLetter(char c){ if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')){ return true; } else return false; } //判断读入的字符是否为数字 bool isDigit(char c){ if(c >='0' && c <= '9'){ return true; } else return false; } //判断是否为关键字 bool isKey(char *string) { if(!strcmp(string,"void") || !strcmp(string,"if")|| !strcmp(string,"for")|| !strcmp(string,"wh ile") || !strcmp(string,"do")|| !strcmp(string,"return")|| !strcmp(stri ng,"break") || !strcmp(string,"main")|| !strcmp(string,"int")|| !strcmp(strin g,"float")|| !strcmp(string,"char") || !strcmp(string,"double")|| !strcmp(string,"String"))

oracle数据库实验指导书

计算机科学学院《ORACLE数据库》实验指导书

《ORACLE数据库》实验指导书 实验一Oracle数据库安装配置以及基本工具的使用 1.实验的基本内容 实验室中oracle数据库安装后某些服务是关闭的(为了不影响其他课程的使用),所以在进入数据库前需要对oracle进行配置: (1)启动oracle OraHomeTNSLISTENER 和oracleserviceORACLE 两个服务 (2)修改listener.ora 和tnsnames.ora 两个文件的内容 (3)以用户名:system ,口令:11111 以“独立登录”的方式进入oracle 数据库系统 (4)熟悉数据库中可用的工具。 2.实验的基本要求 (1)掌握Oracle11g的配置以及登录过程。 (2)熟悉系统的实验环境。 3.实验的基本仪器设备和耗材 计算机 4.实验步骤 (1) 查看设置的IP地址是否与本机上的IP地址一致。若不一致则修改为本机IP地址。 (2) 启动oracle OraHomeTNSLISTENER 和oracleserviceORACLE 两个服务 控制面板/性能与维护/管理工具/服务/ oracle OraHomeTNSLISTENER(右击/启动)。 控制面板/性能与维护/管理工具/服务/ oracleserviceORACLE(右击/启动) (3) 修改listener.ora 和tnsnames.ora 两个文件的内容 D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN (用记事本方式打开),将HOST=“…..”内容修改为本机的IP地址,保存退出。 D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN (用记事本方式打开),将HOST=“…..”内容修改为本机的IP地址,保存退出。 (4) 启动oracle 数据库

相关文档
最新文档