文档库 最新最全的文档下载
当前位置:文档库 › 递归下降语法分析设计原理与实现技术实验报告.doc

递归下降语法分析设计原理与实现技术实验报告.doc

递归下降语法分析设计原理与实现技术实验报告.doc
递归下降语法分析设计原理与实现技术实验报告.doc

递归下降语法分析设计原理与实现技术

实验报告

变更说明

一、实验目的:

本实验的目的在于在教师的引导下以问题回朔与思维启发的方式,使学生在不断的探究过程中掌握编译程序设计和构造的基本原理和实现技术,启迪学生的抽象思维、激发学生的学习兴趣、培养学生的探究精神和专业素养,从而提高学生发现问题、分析问题和解决问题的能力。

二、实验内容:

[实验项目]

完成以下描述算术表达式的LL(1)文法的递归下降分析程序

G[E]: E→TE′

E′→ATE′|ε

T→FT′

T′→MFT′|ε

F→ (E)|i

A→+|-

M→*|/

[设计说明]

终结符号i 为用户定义的简单变量,即标识符的定义。

[设计要求]

(1)输入串应是词法分析的输出二元式序列,即某算术表达式“实验项目一”的输出结果,输出为输入串是否为该文法定义的算术表达式的判断结果;

(2)递归下降分析程序应能发现输入串出错;

(3)设计两个测试用例(尽可能完备,正确和出错),并给出测试结果。

三、实验环境:

操作系统:Windows 7

软件:VC++6.0

四、程序功能描述:

●提供了两种输入方式:键盘和文件,有文件输入时需为二元式序列;

●能够对输入的字符串做出正确的递归下降分析判断,并给出判断结果;

●能发现输入串中的错误,包含非法字符,输入不匹配等;

●能够处理一些可预见性的错误,如文件不存在,用户输入非法等。

五、数据结构设计:

全局:

局部(main()中):

六、程序结构描述:

●设计方法:

本程序采用从键盘输入或文件读取两种输入方式,其中文件的内容需为二元式序列,然后按照递归下降分析的方法对输入的字符串进行分析判断,并输出判断结果,程序通过对输入串的检查能够发现输入串中的错误。程序规定的单词符号及其种别码见下表:

单词符号种别码单词符号种别码

( 1 * 5

) 2 / 6

+ 3 i 7

- 4 # 8

●主要函数说明:

advance():将下一个字符送入current;

error():输出错误,表示不是该文法的句子;

error1();输出错误,输入内容不合法;

init():初始化函数;

justify():判断文件读取内容是否合法,包括检查非法字符和不匹配现象main():主函数

●函数调用关系说明:

main()调用justify()、init()、E()、error1();

justify()调用error1();

A()、E()、E1()、F()、M()、F()、T()、T1()根据输入串可互相调用或递归调用,这些函数均可调用error()函数;

A()、F()、M()调用advance()函数。

●执行框图:

1)总体结构图:

2)递归下降分析构框图:E():

E1():

T():

T()1:

A():

七、实验过程结果截图: 测试用例一:i+i*i/i#

键盘:

文件:

●测试用例二:i+i*i/#

键盘:

文件:

八、实验总结:

●实验心得:

通过本次实验我锻炼了自己的上机操作能力及编程能力,并对理论知识有了进一步的了解。老师提供的相对应于非终结符号的函数的流程图给了我很大的帮助,使得本实验基本思路变得很清晰,用较为简单的算法就能实现;解决实验中遇到的问题也花费了一部分时间,我增长了处理关于文件错误的能力;

●实验中遇到的问题:

问题主要有在调用某个函数时没有在之前声明或定义过此函数;还有在当用

户输入的选择方式非法时,提示错误并要求重新输入,这用一个while循环实现。

程序的自我评价:

此程序实现了要求中的所有功能,并增加了对用户操作错误、输入串错误检测的功能,但因编程能力的欠缺,其中有的地方不免有些繁杂,还有一些潜藏的问题,需要进一步测试来时程序变得更加具有健壮性。

九、程序清单:

/****************************************************

课题名称:递归下降语法分析设计原理与实现技术

作者:房皓进修生13410801

最后修改时间:2014.4.16 13:52

***************************************************/

/**************************************************单词符号及其分类编码

单词符号种别码

( 1

) 2

+ 3

- 4

* 5

/ 6

i 7

# 8

//////////////////////////////////////////////////文法

G[E]:

E →TE′

E′→A TE′|ε

T →FT′

T′→MFT′|ε

F →(E)|i

A →+|-

M →*|/

/***************************************************/

#include

#include

using namespace std;

#define MAX 50

char token[MAX];

char token2[MAX];

char current;

int i=0;

/****************************************************

函数声明

****************************************************/

void E();

void E1();

void T();

void A();

void F();

void T1();

void M();

void error();

void error1();

void init() //初始化

{

current=token[i];

}

void justify(char ch,int i) //判断文件读取内容是否合法,包括检查非法字符和不匹配现象

{

switch(ch)

{

case '1':

if(token[i]!='(')

error1();

break;

case '2':

if(token[i]!=')')

error1();

break;

case '3':

if(token[i]!='+')

error1();

break;

case '4':

if(token[i]!='-')

error1();

break;

case '5':

if(token[i]!='*')

error1();

break;

case '6':

if(token[i]!='/')

error1();

break;

case '7':

if(token[i]!='i')

error1();

break;

case '8':

if(token[i]!='#')

error1();

break;

default:

error1();

break;

}

}

void advance() //读取下一个字符{

if(i==MAX)

exit(0);

current=token[++i];

}

void E()

{

if(current=='i' || current=='(')

{

T();

E1();

}

else

error();

}

void E1()

{

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

{

A();

T();

E1();

}

if(!(current==')' || current=='#'))

error();

}

void T()

{

if(current=='i' || current=='(')

{

F();

T1();

}

else

error();

}

void T1()

{

if(current=='*' || current=='/')

{

M();

F();

T1();

}

else

if(!(current==')'||current=='#'||current=='+'||current=='-')) error();

}

void M()

{

if(current=='*')

advance();

else

if(current=='/')

advance();

else

error();

}

void A()

{

if(current=='+')

advance();

if(current=='-')

advance();

else

error();

}

void F()

{

if(current=='(')

{

advance();

E();

if(current==')')

advance();

}

else

if(current=='i')

advance();

else

error();

}

void error()

{

cout<<"ERROR!"<

exit(0);

}

void error1()

{

cout<<"输入错误!"<

exit(0);

}

int main()

{

int flag; //提供输入和文件两种方式int j=1;

int i=0;

char token1[MAX]; //用于检测文件输入是否匹配FILE *fp;

cout<<"输入方式:键盘(1)/文件(2):";

while(!(cin>>flag) || (flag!=1 && flag!=2))

cout<<"\nError!Re-enter:";

cin.clear();

cin.ignore(200,'\n');

}

if(flag==1)

{

cout<<"请输入长度不超过50且以#结束的字符串:"<

cin>>token;

}

else

{

if((fp=fopen("input.txt","r"))==NULL)

{

cout<<"文件打开失败!"<

exit(0);

}

token1[0]=fgetc(fp);

while(!feof(fp))

{

token1[j++]=fgetc(fp);

if((j%5)==0)

{

token2[i]=token1[j-4];

token[i]=token1[j-2];

justify(token2[i],i);

i++;

}

}

if((j-1)%5 != 0)

error1();

cout<<"读入字符串为:"<

}

init();

E();

if(current=='#')

cout<<"SUCCESS!"<

return 1;

}

精品资料

语法分析程序的要求

语法分析程序大作业 一、作业目的和要求 通过设计、编制、调试一个典型的语法分析程序(任选有代表性的语法分析方法,如LL(1)、递归下降分析法、LR、算符优先分析法)等,作为编制语法分析程序的依据,对词法分析器所提供的单词序列进行语法检测和结构分析,实现并进一步掌握常用的语法分析方法。 二、作业内容 选择对各种常见高级程序设计语言都较为通用的语法结构作为分析对象(例如表达式、if、while、for等等),给出其文法规则描述(注意,文法规则的描述要符合所选分析方法的要求,比如用LL(1)分析法,文法必须是LL(1)文法),设计并实现一个完整的语法分析程序。 输入:源程序以文件的形式输入。 输出:对于输入的源程序,如果输入源程序是给定文法定义的合法程序,则输出”success”,如果不是,即输入源程序有错误,则输出“Error”,并且尽可能指出出错位置和原因。 三、作业要求 1、说明语法分析的源语言是什么? 能分析的语法成分有哪些(比如if、while、表达式、switch等等)。 给出每个语法规则的文法描述。(可以自定义语法成分,设计合理的语法规则。) 2、说明选择的语法分析方法是哪种?描述总体设计思路和主要的流程图。 3、编程实现,程序中编写的各种函数,需要给出注释,说明函数的作用。 四、结果分析 1、输入正确的源程序截图: 输出结果截图: 2、输入错误的源程序截图: 输出结果截图: 3、总结(自己的心得体会、你编写的语法分析程序的优缺点) 作业分工 上交内容:将以下文件打包压缩,压缩包命名:班级学号姓名_语法分析大作业 学号姓名以组长名字命名即可 1、本报告 2、语法分析程序代码 3、编译生成可执行程序 4、用于测试的源程序代码文件。

编译原理实验报告《LL(1)语法分析器构造》

《LL(1)分析器的构造》实验报告 一、实验名称 LL(1)分析器的构造 二、实验目的 设计、编制、调试一个LL(1)语法分析器,利用语法分析器对符号串的识别,加深对语法分析原理的理解。 三、实验内容和要求 设计并实现一个LL(1)语法分析器,实现对算术文法: G[E]:E->E+T|T T->T*F|F F->(E)|i 所定义的符号串进行识别,例如符号串i+i*i为文法所定义的句子,符号串ii+++*i+不是文法所定义的句子。 实验要求: 1、检测左递归,如果有则进行消除; 2、求解FIRST集和FOLLOW集; 3、构建LL(1)分析表; 4、构建LL分析程序,对于用户输入的句子,能够利用所构造的分析程序进行分析,并显示出分析过程。 四、主要仪器设备 硬件:微型计算机。 软件: Code blocks(也可以是其它集成开发环境)。 五、实验过程描述 1、程序主要框架 程序中编写了以下函数,各个函数实现的作用如下: void input_grammer(string *G);//输入文法G

//将文法G预处理得到产生式集合P,非终结符、终结符集合U、u, int eliminate_1(string *G,string *P,string U,string *GG);//消除文法G中所有直接左递归得到文法GG int* ifempty(string* P,string U,int k,int n);//判断各非终结符是否能推导为空 string* FIRST_X(string* P,string U,string u,int* empty,int k,int n);求所有非终结符的FIRST集 string FIRST(string U,string u,string* first,string s);//求符号串s=X1X2...Xn的FIRST集 string** create_table(string *P,string U,string u,int n,int t,int k,string* first);//构造分析表 void analyse(string **table,string U,string u,int t,string s);//分析符号串s 2、编写的源程序 #include #include #include using namespace std; void input_grammer(string *G)//输入文法G,n个非终结符 { int i=0;//计数 char ch='y'; while(ch=='y'){ cin>>G[i++]; cout<<"继续输入?(y/n)\n"; cin>>ch; } } void preprocess(string *G,string *P,string &U,string &u,int &n,int &t,int &k)//将文法G预处理产生式集合P,非终结符、终结符集合U、u, { int i,j,r,temp;//计数 char C;//记录规则中()后的符号 int flag;//检测到() n=t=k=0; for( i=0;i<50;i++) P[i]=" ";//字符串如果不初始化,在使用P[i][j]=a时将不能改变,可以用P[i].append(1,a) U=u=" ";//字符串如果不初始化,无法使用U[i]=a赋值,可以用U.append(1,a) for(n=0;!G[n].empty();n++) { U[n]=G[n][0]; }//非终结符集合,n为非终结符个数 for(i=0;i

【实验报告】SPSS相关分析实验报告

SPSS相关分析实验报告 篇一:spss对数据进行相关性分析实验报告 实验一 一.实验目的 掌握用spss软件对数据进行相关性分析,熟悉其操作过程,并能分析其结果。 二.实验原理 相关性分析是考察两个变量之间线性关系的一种统计分析方法。更精确地说,当一个变量发生变化时,另一个变量如何变化,此时就需要通过计算相关系数来做深入的定量考察。P值是针对原假设H0:假设两变量无线性相关而言的。一般假设检验的显著性水平为0.05,你只需要拿p值和0.05进行比较:如果p值小于0.05,就拒绝原假设H0,说明两变量有线性相关的关系,他们无线性相关的可能性小于0.05;如果大于0.05,则一般认为无线性相关关系,至于相关的程度则要看相关系数R值,r越大,说明越相关。越小,则相关程度越低。而偏相关分析是指当两个变量同时与第三个变量相关时,将第三个变量的影响剔除,只分析另外两个变量之间相关程度的过程,其检验过程与相关分析相似。三、实验内容 掌握使用spss软件对数据进行相关性分析,从变量之间的相关关系,寻求与人均食品支出密切相关的因素。 (1)检验人均食品支出与粮价和人均收入之间的相关关系。 a.打开spss软件,输入“回归人均食品支出”数据。

b.在spssd的菜单栏中选择点击,弹出一个对话窗口。 C.在对话窗口中点击ok,系统输出结果,如下表。 从表中可以看出,人均食品支出与人均收入之间的相关系数为0.921,t检验的显著性概率为0.0000.01,拒绝零假设,表明两个变量之间显著相关。人均食品支出与粮食平均单价之间的相关系数为0.730,t检验的显著性概率为 0.0000.01,拒绝零假设,表明两个变量之间也显著相关。 (2)研究人均食品支出与人均收入之间的偏相关关系。 读入数据后: A.点击系统弹出一个对话窗口。 B.点击OK,系统输出结果,如下表。 从表中可以看出,人均食品支出与人均收入的偏相关系数为0.8665,显著性概率p=0.0000.01,说明在剔除了粮食单价的影响后,人均食品支出与人均收入依然有显著性关系,并且0.86650.921,说明它们之间的显著性关系稍有减弱。通过相关关系与偏相关关系的比较可以得知:在粮价的影响下,人均收入对人均食品支出的影响更大。 三、实验总结 1、熟悉了用spss软件对数据进行相关性分析,熟悉其操作过程。 2、通过spss软件输出的数据结果并能够分析其相互之间的关系,并且解决实际问题。 3、充分理解了相关性分析的应用原理。

财务报表分析实验报告

本科生实验报告 实验课程财务报表分析 学院名称商学院 专业名称会计学 学生姓名XXX 学生学号 指导教师XXX 实验地点理工大学 实验成绩 二〇16 年 4 月二〇16 年 5 月

填写说明 1、适用于本科生所有的实验报告(印制实验报告册除外); 2、专业填写为专业全称,有专业向的用小括号标明; 3、格式要求: ①用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。 ②打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下 2.54cm,左右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值 (缩放100%,间距:标准);页码用小五号字底端居中。 ③具体要求: 题目(二号黑体居中); 摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4 号宋体); 关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体); 正文部分采用三级标题; 第1章××(小二号黑体居中,段前0.5行) 1.1 ×××××小三号黑体×××××(段前、段后0.5行) 1.1.1小四号黑体(段前、段后0.5行) 参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照《参考文献著录规则(GB/T 7714-2005)》。

黄金矿业股份有限公司 摘要 黄金矿业股份有限公司,以下简称黄金,股票代码(600547),2000年1月由省经济体制改革委员会批准,经招金集团公司、黄金集团,莱州黄金等五家法人单位发起设立的,主要从事黄金开采和选冶加工。其偿债能力、盈利能力、营运能力、成长能力的高低直接影响企业的持续生存发展,对影响这三项能力的相关指标的分析,是全面分析公司是否具有可持续发展的关键。 关键词:偿债能力;盈利能力;营运能力;成长能力

典型相关分析

武夷学院实验报告 课程名称:多元统计分析项目名称:典型相关分析 姓名:专业:14信计班级:1班学号:同组成员:无 -、实验目的 1.对典型相关分析问题的思路、理论和方法认识; 2.SPSS软件相应计算结果确认与应用; 3.SPSS软件相应过程命令。 二、实验内容 这里通过典型相关分析来反映我国财政收入与财政支出之间的关系。第一组反映财政收入的指标有国内增值税、营业税、企业所得税、个人所得税、专项收入及行政事业性收费收入等,分别用X1-X6来表示。第二 组反映财政支出的指标有一般公共服务、国防、公共安全、教育、科学技术、社会保障和就业、医疗卫生与计划生育及节能环保等,分别用Y1-Y8来表示。原始数据如下: jts 10^ ?96K! 1?痼8496.6641 H929? 129.06M.820H W234 8? 225.0B425.1 '2W.39tU.31

企业经营实验报告

企业经营实验报告 ——企业模拟实验报告 程银菊 11 级市场营销02 班[1**********] 一实验目的 通过模拟公司运营的全过程,进行团队合作、企业战略规划、预算、流程管理等一系列活动,使学生综合运用战略管理、营销管理、生产管理、财务管理、人力资源管理等综合知识,领悟市场竞争环境中企业经营管理的规律,全面提升综合管理的专业技能。该实验采用沙盘模拟方式,在其中老师不再单单是讲解者,而在不同阶段扮演着不同的角色:调动者、观察家、引导者、分析评论员、业务顾问等。整个沙盘模拟过程就如一个游戏过程,具有互动性、趣味性、竞争性的特点,使学生能够充分运用听、说、学、做、改等一系列学习手段,开启一切可以调动的感官功能,并能够将学到的管理思路和方法在实际操作中很快实践与运用,从而对所学内容形成深度记忆。学生通过沙盘演练,还可以在以下思维方面获得提升:树立共赢理念、全局观点与团队合作的重要性、保持诚信、个性特征与职业定位的协调统一、对待风险的态度等 二、实验基本原理与方法 企业经营沙盘模拟是将企业的主要部门和工作对象制作成类似的实物或电子模型,将企业运行过程设计为运作规则,进而模拟企业的经营过程。沙盘模拟实验一般将学生按37 人分成若干个学习小组,各自组建模拟公司,形成一个模拟市场,围绕形象直观的沙盘模型,实战演练模拟企业的经营管理与市场竞争,使学生在模拟公司5-8 年的市场竞争表现中,不断对“公司”的经营业绩进行分析总结,反思决策成败,解析战略得失,经过多次的调整与改进管理思路,使学生的综合管理素质得到切实提高。 三、实验内容及要求 通过模拟企业八个季度经营周期的事务,综合运用管理科学、市场营销、库存管理、市场运作管理、人力资源管理、管理信息系统、数据库技术等、所学知识,在激烈市场竞争环境下的企业产品市场销售价格、广告费的投入、销售人员的素质、产品生产计划、生产能力调整、材料订购批量、流动资金贷款、产品质量改进费投入、股利分红等一系列现代企业生产经营活动过程中的主要内容做出决策。达到培养我们在企业经营管理活动中综合运用课堂上所学到的知识,分析和解决企业经营管理过程中问题的能力的目的。具体操作如下:给出不同经营周期的市场经济形势变化趋势和各竞争企业的生产经营条件后,将我们组合成若干

TEST语言 -语法分析,词法分析实验报告

编译原理实验报告 实验名称:分析调试语义分析程序 TEST抽象机模拟器完整程序 保证能用!!!!! 一、实验目的 通过分析调试TEST语言的语义分析和中间代码生成程序,加深对语法制导翻译思想的理解,掌握将语法分析所识别的语法范畴变换为中间代码的语义翻译方法。 二、实验设计 程序流程图

extern int TESTScan(FILE *fin,FILE *fout); FILE *fin,*fout; //用于指定输入输出文件的指针 int main() { char szFinName[300]; char szFoutName[300]; printf("请输入源程序文件名(包括路径):"); scanf("%s",szFinName); printf("请输入词法分析输出文件名(包括路径):"); scanf("%s",szFoutName); if( (fin = fopen(szFinName,"r")) == NULL) { printf("\n打开词法分析输入文件出错!\n"); return 0; } if( (fout = fopen(szFoutName,"w")) == NULL) { printf("\n创建词法分析输出文件出错!\n"); return 0; } int es = TESTScan(fin,fout); fclose(fin); fclose(fout); if(es > 0) printf("词法分析有错,编译停止!共有%d个错误!\n",es); else if(es == 0) { printf("词法分析成功!\n"); int es = 0;

spss相关分析实验报告

实验五相关分析实验报关费 一、实验目得: 学习利用spss对数据进行相关分析(积差相关、肯德尔等级相关)、偏相关分析。利用交叉表进行相关分析。 二、实验内容: 某班学生成绩表1如实验图表所示。 1.对该班物理成绩与数学成绩之间进行积差相关分析与肯德尔等级相关 分析. 2.在控制物理成绩不变得条件下,做数学成绩与英语成绩得相关分析(这 种情况下得相关分析称为偏相关分析)。 3.对该班物理成绩与数学成绩制作交叉表及进行其中得相关分析。 三、实验步骤: 1.选择分析→相关→双变量,弹出窗口,在对话框得变量列表中选变量 “数学成绩"、“物理成绩”,在相关系数列进行选择,本次实验选择 皮尔逊相关(积差相关)与肯德尔等级相关。单击选项,对描述统计量进 行选择,选择标准差与均值.单击确定,得出输出结果,对结果进行分析解 释。 2.选择分析→相关→偏相关,弹出窗口,在对话框得变量列表选变量“数 学成绩”、“英语成绩”,在控制列表选择要控制得变量“物理成绩”以在 控制物理成绩得影响下对变量数学成绩与英语成绩进行偏相关分析; 在“显著性检验”框中选双侧检验,单击确定,得出输出结果,对结果进 行分析解释. 3.选择分析→描述统计→交叉表,弹出窗口,对交叉表得行与列进行选 择,行选择为数学成绩,列选择为物理成绩.然后对统计量进行设置, 选择相关性,点击继续→确定,得出输出结果,对结果进行分析解释。 四、实验结果与分析: 表1

五、实验结果及其分析:

分析一:由实验结果可观察出,数学成绩与物理成绩得积差相关系数r=0、786,肯德尔等级相关系数r=0、602可知该班物理成绩与数学成绩之间存在显著相关。 分析二:由偏相关分析结果可知,英语成绩与数学成绩得相关系数r=—0、158,英语成绩与物理成绩得相关系数r=-0、150,在物理成绩得控制下,数学成绩与

编译原理LL(1)语法分析实验报告

学号20102798 专业软件工程姓名薛建东 实验日期2013.04.08 教师签字成绩实验报告 【实验名称】LL(1)语法分析 【实验目的】 通过完成预测分析法的语法分析程序,了解预测分析法和递归子程序法的区别和联系。使了解语法分析的功能,掌握语法分析程序设计的原理和构造方法,训练掌握开发应用程序的基本方法。 【实验内容】 ◆根据某一文法编制调试LL ( 1)分析程序,以便对任意输入的符号串进行分析。 ◆构造预测分析表,并利用分析表和一个栈来实现对上述程序设计语言的分析程序。 ◆分析法的功能是利用LL(1)控制程序根据显示栈栈顶内容、向前看符号以及LL(1) 分析表,对输入符号串自上而下的分析过程。 【设计思想】 (1)、LL(1)文法的定义 LL(1)分析法属于确定的自顶向下分析方法。LL(1)的含义是:第一个L表明自顶向下分析是从左向右扫描输入串,第2个L表明分析过程中将使用最左推导,1表明只需向右看一个符号便可决定如何推导,即选择哪个产生式(规则)进行推导。 LL(1)文法的判别需要依次计算FIRST集、FOLLOW集和SELLECT集,然后判断是否为LL(1)文法,最后再进行句子分析。 需要预测分析器对所给句型进行识别。即在LL(1)分析法中,每当在符号栈的栈顶出现非终极符时,要预测用哪个产生式的右部去替换该非终极符;当出现终结符时,判断其与剩余输入串的第一个字符是否匹配,如果匹配,则继续分析,否则报错。LL(1)分析方法要求文法满足如下条件:对于任一非终极符A的两个不同产生式A→α,A→β,都要满足下面条件:SELECT(A→α)∩SELECT(A→β)=? (2)、预测分析表构造 LL(1)分析表的作用是对当前非终极符和输入符号确定应该选择用哪个产生式进行推

实验报告心得体会

实验心得体会 在做测试技术的实验前,我以为不会难做,就像以前做物理实验一样,做完实验,然后两下子就将实验报告做完.直到做完测试实验时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅. 在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如做光伏的实验,你要清楚光伏的各种接法,如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半.做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛. 通过这次测试技术的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅. 实验心得体会

这个学期我们学习了测试技术这门课程,它是一门综合应用相关课程的知识和内容来解决科研、生产、国防建设乃至人类生活所面临的测试问题的课程。测试技术是测量和实验的技术,涉及到测试方法的分类和选择,传感器的选择、标定、安装及信号获取,信号调理、变换、信号分析和特征识别、诊断等,涉及到测试系统静动态性能、测试动力学方面的考虑和自动化程度的提高,涉及到计算机技术基础和基于LabVIEW的虚拟测试技术的运用等。 课程知识的实用性很强,因此实验就显得非常重要,我们做了金属箔式应变片:单臂、半桥、全桥比较,回转机构振动测量及谱分析,悬臂梁一阶固有频率及阻尼系数测试三个实验。刚开始做实验的时候,由于自己的理论知识基础不好,在实验过程遇到了许多的难题,也使我感到理论知识的重要性。但是我并没有气垒,在实验中发现问题,自己看书,独立思考,最终解决问题,从而也就加深我对课本理论知识的理解,达到了“双赢”的效果。 实验中我学会了单臂单桥、半桥、全桥的性能的验证;用振动测试的方法,识别一小阻尼结构的(悬臂梁)一阶固有频率和阻尼系数;掌握压电加速度传感器的性能与使用方法;了解并掌握机械振动信号测量的基本方法;掌握测试信号的频率域分析方法;还有了解虚拟仪器的使用方法等等。实验过程中培养了我在实践中研究问题,分析问题和解决问

公司运作模拟实训报告

武汉科技大学城市学院 公司运作模拟实训报告 学生姓名:宋天聪 学号:201210269227 专业班级:12级市场营销(专)班 指导教师:吴佑坚

公司运作模拟实训报告 为期一周的公司运作模拟实训结束了,这一周实训中使我受益匪浅。作为大三学生,即将面临就业,读书就到了实践的时候了,而模拟实训就给了我一个很好的实践机会,因为模拟企业就是在仿真的企业环境中,构建传统的手工管理模式和利用计算机计术、信息化技术的现代化管理模式,模拟现实企业的生产经营管理过程。 在模拟企业中分配不同的角色,让我们体验整个经营过程,并把所学的理论知识应用到实践中,可由此加深对企业和企业的物流、商流、资金流和信息流的体会,提高企业信息化管理的应用技能。我学的是市场营销专业,接触到只是市场分析、企业策划,但是在企业里每一职位环节都是紧紧相连的,所以在企业里要做好每一步是企业成功的关键。正所谓商场如战场,读万卷书不如行万里路。实践是检验理论的方法,所以通过这次实训体会到规划,决策,合作等因素对成

功是很重要的。 在这次实训里我作为市场总监,市场总监是市场部门的总负责人,直接对总经理负责,需要在市场分析调查领域具有良好的业绩和职业道德纪录,分析能力强,具有优秀的谈判技巧和供应商管理能力。对我来说,这是个挑战。作为市场总监我要主持市场部全面工作,统筹策划和确定运营内容,减少不必要的开支,以有效的资金,保证最大的供应,确保各项任务完成。 要取得成功不紧要每个人做好每个角色,还要有好的规划,决策,团队的合作等。第一,整体战略意识。第二,重视群体策略的团队精神。CEO在整个运营群体中,做出战略决策是CEO的职责,但是这个决策不能由CEO一个人来完成,必须协商生产,采购,营销和财务等各总监说出想法和参考意见,最后由CEO拿定方案开始实施。第三,财务预算。对于每个组来说,资金是短缺的,在运营过程中,每个CEO和财务总监都想尽办法弄到更多钱,减少资金的流失。所以财务对公司的运作是很重要的。第四,订单。每个季度的订单是很重要的,订单最重要的因素不在于它能挣多少,而是对自己企业而言,拿到合理的订单是胜利的第一步。第五,营销总监和生产总监的紧密配合。第六,了解对手。知己知彼百战百胜,时刻了解对手的动向,使本企业更好的作出及时可行的调整和对策,以致本企业的利益得到最大化。

编译原理 语法分析器 (java完美运行版)

实验二语法分析器 一、实验目的 通过完成预测分析法的语法分析程序,了解预测分析法和递归子程序法的区别和联系。使学生了解语法分析的功能,掌握语法分析程序设计的原理和构造方法,训练学生掌握开发应用程序的基本方法。有利于提高学生的专业素质,为培养适应社会多方面需要的能力。 二、实验内容 ◆根据某一文法编制调试LL (1 )分析程序,以便对任意输入的符号串 进行分析。 ◆构造预测分析表,并利用分析表和一个栈来实现对上述程序设计语言的分 析程序。 ◆分析法的功能是利用LL(1)控制程序根据显示栈栈顶内容、向前看符号 以及LL(1)分析表,对输入符号串自上而下的分析过程。 三、LL(1)分析法实验设计思想及算法 ◆模块结构: (1)定义部分:定义常量、变量、数据结构。 (2)初始化:设立LL(1)分析表、初始化变量空间(包括堆栈、结构体、数组、临时变量等); (3)控制部分:从键盘输入一个表达式符号串; (4)利用LL(1)分析算法进行表达式处理:根据LL(1)分析表对表达式符号串进行堆栈(或其他)操作,输出分析结果,如果遇到错误则显示错误信息。

四、实验要求 1、编程时注意编程风格:空行的使用、注释的使用、缩进的使用等。 2、如果遇到错误的表达式,应输出错误提示信息。 3、对下列文法,用LL(1)分析法对任意输入的符号串进行分析:(1)E->TG (2)G->+TG|—TG (3)G->ε (4)T->FS (5)S->*FS|/FS (6)S->ε (7)F->(E) (8)F->i 输出的格式如下:

五、实验源程序 LL1.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.sql.*; import java.util.Vector; public class LL1 extends JFrame implements ActionListener { /** * */ private static final long serialVersionUID = 1L; JTextField tf1; JTextField tf2; JLabel l; JButton b0; JPanel p1,p2,p3; JTextArea t1,t2,t3; JButton b1,b2,b3;

相关与回归分析实验报告

课程论文 题目统计学实验 学院数学与统计学院 专业金融数学 班级14金融数学 学生姓名罗星蔓 指导教师胡桂华 职称教授 2016 年 6 月21 日

相关与回归分析实验报告 一、实验目的:用EXCEL进行相关分析和回归分析. 二、实验内容: 1.用EXCEL进行相关分析. 2.用EXCEL进行回归分析. 三、实验步骤 采用下面的例子进行相关分析和回归分析. 相关分析: 数学分数(x)统计学分数(y) 数学分数(x) 1 统计学分数(y) 0.986011 1 回归分析: SUMMARY OUTPUT 回归统计 Multiple R 0.986011 R Square 0.972217 Adjusted R 0.968744 Square 标准误差 2.403141 观测值 x 方差分 析

df SS MS F Significance F 回归分析1 1616.69 9 1616.69 9 279.943 8 1.65E-07 残差8 46.2006 9 5.77508 6 总计9 1662.9 Coefficie nts 标准误 差 t Stat P-valu e Lower 95% Upper 95% 下限 95.0% 上限 95.0% Intercept 12.32018 4.2862 79 2.8743 3 0.0206 91 2.4360 05 22.204 36 2.4360 05 22.204 36 数学分数(x)0.896821 0.0536 01 16.731 52 1.65E- 07 0.7732 18 1.0204 24 0.7732 18 1.0204 24 RESIDUAL OUTPUT 观测值预测统计学分数 (y) 残差标准残差 1 84.06587 0.934133 0.412293 2 93.03408 -1.03408 -0.4564 3 66.12945 3.87055 4 1.708324 4 93.03408 -3.03408 -1.33913 5 82.27223 0.727775 0.321214 6 90.34361 -0.34361 -0.15166 7 93.03408 0.965922 0.426323 8 52.67713 -2.67713 -1.18159 9 90.34361 2.656385 1.172433 10 84.06587 -2.06587 -0.9118 PROBABILITY OUTPUT 百分比排 位统计学分数 (y) 5 50 15 70 25 82 35 83 45 85 55 90 65 90 75 92

行业分析实验报告

行业分析实验报告 一、实验目的 查找有关资料,运用资料对行业进行分类,能判断行业所处生命周期,能了解政府政策对行业的影响,选择有投资前景的行业进行投资。 二、实验内容 (一)选择一类行业,比如医药行业,收集相关行业资料,进行投资分析。 (二)判断医药行业的行业特征、行业周期及政府相关政策影响。 1.行业特征: (1)高技术性 制药业融合了各个学科的先进技术,药品的研发过程需要尖端技术人才和充足的经费,药品的制造过程依赖精密的设备和先进工艺。 (2)高收益性 因为新药研发成本高,周期长,成功与否的不确定性大,所以新药在定价方面会有较高溢价,新药收益要远远超过其最初的研发投入。 (3)高风险性 制药业的高风险性主要表现为研发风险。医药产品的开发孕育着较大的不确定性,新药的研发从合成、提取、药物筛选、实验、注册上市到售后监督,耗资大、耗时长,任何一个环节出错或失败都可能前功尽弃。 2.行业周期:产业已由成长向成熟阶段发展。2003-2011年,医药制造业主营业务收入 增速保持在17%-30%之间,表明行业处于从成长期到成熟期过渡阶段,技术水平进步迅猛并日趋成熟,产品和服务日趋标准,企业经营比较规范,市场运行状况较好,行业系统风险相对较小。同时,医药制造业主营业务收入占国内生产总值的比重较为稳定,尤其是2008年金融危机爆发以来,在国内外经济增速普遍放缓的背景下,医药制造业表现较好,行业成长能力较强。 3.政府政策影响:近年来,我国加速了医药行业的改革速度,尤其是2015年以来,一系 列重大医疗改革政策密集发布。 三、实验结论 通过对医药行业的行业分析,个人认为在医药行业是防御型行业,特别在这次疫情中医药行业也有着不错的表现。在创新力度足够的情况和中药现代化的情况下,医药行业有着出色的发展前景,是值得投资的行业。 行业分析是基本分析的主要内容之一。不同的行业在国民经济发展的不同时期其表现也不同,做出正确的行业选择是投资成功的重要保障。

编译原理语法分析器实验

语法分析器的设计 一、实验内容 语法分析程序用LL(1)语法分析方法。首先输入定义好的文法书写文件(所用的文法可以用LL(1)分析),先求出所输入的文法的每个非终结符是否能推出空,再分别计算非终结符号的FIRST集合,每个非终结符号的FOLLOW集合,以及每个规则的SELECT集合,并判断任意一个非终结符号的任意两个规则的SELECT 集的交集是不是都为空,如果是,则输入文法符合LL(1)文法,可以进行分析。对于文法: G[E]: E->E+T|T T->T*F|F F->i|(E) 分析句子i+i*i是否符合文法。 二、基本思想 1、语法分析器实现 语法分析是编译过程的核心部分,它的主要任务是按照程序的语法规则,从由词法分析输出的源程序符号串中识别出各类语法成分,同时进行词法检查,为语义分析和代码生成作准备。这里采用自顶向下的LL(1)分析方法。 语法分析程序的流程图如图5-4所示。 语法分析程序流程图 该程序可分为如下几步: (1)读入文法 (2)判断正误 (3)若无误,判断是否为LL(1)文法 (4)若是,构造分析表; (5)由句型判别算法判断输入符号串是为该文法的句型。 三、核心思想 该分析程序有15部分组成: (1)首先定义各种需要用到的常量和变量;

(2)判断一个字符是否在指定字符串中; (3)读入一个文法; (4)将单个符号或符号串并入另一符号串; (5)求所有能直接推出&的符号; (6)求某一符号能否推出‘& ’; (7)判断读入的文法是否正确; (8)求单个符号的FIRST; (9)求各产生式右部的FIRST; (10)求各产生式左部的FOLLOW; (11)判断读入文法是否为一个LL(1)文法; (12)构造分析表M; (13)句型判别算法; (14)一个用户调用函数; (15)主函数; 下面是其中几部分程序段的算法思想: 1、求能推出空的非终结符集 Ⅰ、实例中求直接推出空的empty集的算法描述如下: void emp(char c){ 参数c为空符号 char temp[10];定义临时数组 int i; for(i=0;i<=count-1;i++)从文法的第一个产生式开始查找 { if 产生式右部第一个符号是空符号并且右部长度为1, then将该条产生式左部符号保存在临时数组temp中 将临时数组中的元素合并到记录可推出&符号的数组empty中。 } Ⅱ、求某一符号能否推出'&' int _emp(char c) { //若能推出&,返回1;否则,返回0 int i,j,k,result=1,mark=0; char temp[20]; temp[0]=c; temp[1]='\0'; 存放到一个临时数组empt里,标识此字符已查找其是否可推出空字 如果c在可直接推出空字的empty[]中,返回1 for(i=0;;i++) { if(i==count) return(0); 找一个左部为c的产生式 j=strlen(right[i]); //j为c所在产生式右部的长度 if 右部长度为1且右部第一个字符在empty[]中. then返回1(A->B,B可推出空) if 右部长度为1但第一个字符为终结符,then 返回0(A->a,a为终结符) else

语法分析(自上而下分析)实验报告

实习二语法分析-自上而下分析 一、实验目的 使用预测分析方法对输入的表达式进行分析,掌握其具体的使用并且学会去分析一个文法。 二、实验内容 1.设计表达式的语法分析器算法(使用预测分析) 2.编写一段代码并上机调试查看其运行结果 三、实验要求 使用LL(1)分析算法设计表达式的语法分析器 LL(1)文法是一个自上而下的语法分析方法,它是从文法的开始符号出发,生成句子的最左推导,从左到右扫描源程序,每次向前查看一个字符,确定当前应该选择的产生式。 实现LL(1)分析的另一种有效方法是使用一张分析表和一个栈进行联合控制。 预测分析程序的总控程序在任何时候都是按STACK栈顶符号X和当前a的输入符号行事的。对于任何(X,a),总控程序每次都执行三种可能的动作之一。 1.若X=a=“#”,则宣布分析成功,停止分析过程 2.若X=a≠“#”,则把X从STACK栈顶逐出,让a指向下一 个输入符号。 3.若X是一个非终结符,则查看分析表。 四、运行结果

(本程序只能对由'i','+','*','(',')'构成的以'#'结束的字符串进行分析) 五、源程序实现 /*LL(1)分析法源程序,只能在VC++中运行*/ #include #include #include #include char A[20]; char B[20]; char v1[20]={'i','+','*','(',')','#'};/*终结符*/ char v2[20]={'E','G','T','S','F'};/*非终结符*/ int j=0,b=0,top=0,l;/*L为输入串长度*/

相关与回归分析实验报告

相关与回归分析实验报告

学 2014106146 号: 课程论文 题目统计学实验 学院数学与统计学院 专业金融数学 班级14金融数学 学生姓名罗星蔓 指导教师胡桂华 职称教授 2016 年 6 月21 日

相关与回归分析实验报告 一、实验目的:用EXCEL进行相关分析和回归 分析. 二、实验内容: 1.用EXCEL进行相关分析. 2.用EXCEL进行回归分析. 三、实验步骤 采用下面的例子进行相关分析和回归分析. 学生数学分数(x)统计学分数 (y) 1 2 3 4 5 6 7 8 9 10 80 90 60 90 78 87 90 45 87 80 85 92 70 90 83 90 94 50 93 82

相关分析: 数学分数(x)统计学分数(y) 数学分数(x) 1 统计学分数(y) 0.986011 1 回归分析: SUMMARY OUTPUT 回归统计 Multiple R 0.98601 1 R Square 0.97221 7 Adjusted R Square 0.96874 4 标准误差2.40314 1 观测值 x 方差分 析 df SS MS F Significanc e F 回归分析1 1616.69 9 1616.69 9 279.943 8 1.65E-07 残差8 46.2006 9 5.77508 6 总计9 1662.9 Coeffici ents 标准误 差 t Stat P-valu e Lower 95% Upper 95% 下限 95.0% 上限 95.0%

Intercept 12.32018 4.2862 79 2.8743 3 0.0206 91 2.4360 05 22.204 36 2.4360 05 22.204 36 数学分数(x)0.896821 0.0536 01 16.731 52 1.65E- 07 0.7732 18 1.0204 24 0.7732 18 1.0204 24 RESIDUAL OUTPUT 观测值预测统计学分数 (y) 残差 标准残 差 1 84.06587 0.93413 3 0.41229 3 2 93.03408 -1.0340 8 -0.4564 3 66.12945 3.87055 4 1.70832 4 4 93.03408 -3.0340 8 -1.3391 3 5 82.27223 0.72777 5 0.32121 4 6 90.34361 -0.3436 1 -0.1516 6 7 93.03408 0.96592 2 0.42632 3 8 52.67713 -2.6771 3 -1.1815 9 9 90.34361 2.65638 5 1.17243 3 10 84.06587 -2.0658 7 -0.9118 PROBABILITY OUTPUT 百分比排 位统计学分数 (y) 5 50 15 70 25 82 35 83

(实习报告)企业实习相关分析报告范文

企业实习相关分析报告范文 本次外出实习,部里安排我到xx会计师事务所实习,主要任务是协助各注册会计师到各街道进行查账,主要工作有编制工作底稿,查阅凭证,帐簿,报表发现问题,提出审计意见,进行现金盘点,资产清查,编制审计报告等。 本次外出实习,我感觉收获特别大。第一:收集了很多教学素材案例,在审计过程中,一旦我发现有对我以后教学有用的东西,我都会用笔记本记录下来。故此,这次外出企业实习,我做的笔记就有3本。我相信这些素材将会对我以,后教学提供很多帮助。本学期我讲授企业单项实训课程,在授课时就经常顺手拈来我外出审计中碰到的很多案例感觉教学效果很好。第二:了解目前企业会计现状以及他们在做帐过程中存在的各种问题及种种舞弊现象。第三:向注册会计师学习了很多知识,对于我在审计过程中碰到的各种问题,我都会虚心地向xx会计师事务所的老师询问,对于我提出的各种轰炸式提问,他们都很耐心地给予回答。第四:近距离接触,真正了解到对会计人员各方面素质及要求,为我以后在讲授课程时对于授课内容如何有所侧重更有帮助。本次发言,张部长主要让我谈一谈目前企业对会计人员要求,我们在教学中应注重培养学生哪些方面知识.我以为主要有以下几方面:一,会计电算化知识 本次外出企业查帐,我发现大部分企业已实现用电脑做帐,而且大部分企业公司都是采用金蝶财务软件做帐,少部分采用用友软件做帐。故此,我们应重点加强这方面知识讲授,让每位同学都能达到熟练运用这2个财务软件.既然是用电脑做帐,对打字速度有一定要求,一般要求学生每分钟要达到40-50个字左右。 二,税务知识 本次外出企业查帐,我发现很多公司因为规模较小,只设有一名会计人员,会计人员可以说是一名多面手、做帐、报税等均是他的工作。所以,我们以后应加强税务知识讲授,尤其是税务实务操作练习,教会每会学生如何申请报税、计税、缴税、尤其是几个主要税种,如个人所得税、企业所得税、营业税、房产税等更要重点讲授。 三,出纳方面知识 由于我们的学生学历较低,很多同学毕业后只能担任出纳,故此,对于出纳工作主要职责(如登记现金日记帐、银行存款日记帐、保管库存现金、有价证券、空白发票、支票印章)以及应具备技能(如点钞、计算器、辩别真假钞票)等应让学生熟练掌握。 四,财会法规知识

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