当前位置:文档之家› 实验3预测分析法(DOC)

实验3预测分析法(DOC)

实验3预测分析法(DOC)
实验3预测分析法(DOC)

一、分析

语法分析部分我们我们采用LL(1)方法实现,采用LL(1)方法实现语法发分析要求文法满足以下要求:

一个文法能否用确定的自顶向下分析与文法中相同左部的每个产生式右部的开始符号集合有关,当有右部能=*=>ε时则与其左部非终结符的后跟符号集合也有关,此外在产生式中不存在左递归,无回溯。它的基本思想是从左到右扫描源程序,同时从识别符号开始生成句子的最左推导,并只向前查看一个输入符号,便能唯一确定应选择的规则。

下面将确切地定义满足确定的自顶向下分析条件的文法即LL(1)文法及LL(1)文法的判别并介绍如何对非LL(1)文法进行等价变换问题,也就是消除一个文法中的左递归和左公共因子。

注意:

一个文法中含有左递归和左公共因子绝对不是LL(1)文法,所以也就不可能用确定的自顶向下分析法,对此结论可以证明。然而,某些含有左递归和左公共因子的文法在通过等价变换把它们消除以后可能变为LL(1)文法,但需要用LL(1)文法的定义判别,也就是说文法中不含左递归和左公共因子,只是LL(1)文法的必要条件。

LL(1) 文法的定义(5种定义):

一个文法符号串的开始符号集合定义如下:

定义 1.设G=(VT,VN,S,P)是上下文无关文法,α是任意的文法符号串,FIRST(α)是从α推导出的串的开始符号的终结符集合。。。。

FIRST(α)={a|α=*=>aβ,a∈VT,α,β∈V*}若α=*=>ε,则规定ε∈FIRST(α).

当一个文法中相同左部非终结符的右部存在能=*=>ε的情况则必须知道该非终结符的后跟符号的集合中是否含有其它右部开始符号集合的元素。为此,我们定义一个文法非终结符的后跟符号的集合如下:

定义2.设G=(VT,VN,S,P)是上下文无关文法,A∈VN,S是开始符号

FOLLOW(A)={a|S=*=>μAβ,且a∈VT,a∈FIRST(β),μ∈VT* ,β∈V+}

若S=*=>μAβ,且βε, 则#∈FOLLOW(A)。也可定义为:FOLLOW(A)={a|S=*=> …Aa…,a ∈VT}

若有S=*=> …A,则规定#∈FOLLOW(A)

这里我们用'#'作为输入串的结束符,或称为句子括号,如:#输入串#。

定义 3.给定上下文无关文法的产生式A→α, A∈VN,α∈V*, 若α==>ε,则SELECT(A→α)=FIRST(α)

如果α=*=>ε,则SELECT(A→α)=FIRST(αε)∪FOLLOW(A)。FIRST(αε)表示FIRST(α)的非{ε}元素。

更进一步可以看出能够使用自顶向下分析技术必须使文法满足如下条件,我们称满足条件的文法为LL(1)文法,其定义为:

定义4.一个上下文无关文法是LL(1)文法的充分必要条件是:

对每个非终结符A的两个不同产生式,A→α, A→β,满足SELECT(A→α)∩SELECT(A→β)=空,其中α,β不同时能ε.

定义5. LL(1)文法也可定义为:

一个文法G是LL(1)的,当且仅当对于G的每一个非终结符A的任何两个不同产生式A→α|β,下面的条件成立:

(1)FIRST(α)∩FIRST(β)= 空,也就是α和β推导不出以某个相同的终结符a为首的

符号串;它们不应该都能推出空字ε.

(2)假若β=>ε那么,FIRST(α)∩FOLLOW(A)=空也就是,若β=>ε则α所能推出的串的首符号不应在FOLLOW(A)中。

该程序可分为如下几步:

(1)读入文法

(2)判断正误

(3)若无误,判断是否为LL(1)文法

(4)若是,构造分析表;

根据下面LL(1)文法,对输入串w: (i+i)*(i+i)+i*i进行LL(1)分析,

1、先手工建立LL(1)分析表;

2

LL(1)文法G为:

E →TE’

E’→+TE’|ε

T →FT’

T’→*FT’|ε

F →(E)|id

分析算法:

输入:串w和文法G的分析表M。

输出:如果W属于L(G),则输出W的最左推导,否则报告错误。

方法:开始时,#S在分析栈中,其中S是文法的开始符号,在栈顶;令指针ip指向W#的第一个符号;repeat

让X等于栈顶符号,a为ip所指向的符号;

if X 是终结符号或# then

If X=a then 把X从栈顶弹出并使ip指向下一个输入符号

else error()

else /*X 是非终结符号*/

if M[x,a]=Xày1y2…yk then begin

从栈中弹出X;把yk,yk-1,…,y1压入栈,y1在栈顶;

输出产生式Xày1y2…yk;end

else error()

until X=# /*栈空*/

语法分析的流程算法

三、设计目的:

(1)理解和掌握LL(1)语法分析方法的基本原理;根据给出的LL(1)文法,掌握LL(1)分析表的构造及分析过程的实现。

(2)掌握预测分析程序如何使用分析表和栈联合控制实现LL(1)分析。

四、实现环境和要求

选择实习环境为486以上CPU,4M内存,TURBO C2.0语言. 实现程序见附录.

具体的实现要求:

(1)对输入文法,它能判断是否为LL(1)文法,若是,则转(2);否则报错并终止;(2)输入已知文法,由程序自动生成它的LL(1)分析表;

(3)对于给定的输入串,应能判断识别该串是否为给定文法的句型。

附录

/***************************************************** 预测分析程序(语法分析程序),分析对象为C语言源程序文件。

该分析程序有18部分组成:

《1》首先定义各种需要用到的常量和变量;

《2》判断一个字符是否在指定字符串中;

《3》得到一个不是非终结符的符号;

《4》分解含有左递归的产生式;

《5》分解不含有左递归的产生式;

《6》读入一个文法;

《7》将单个符号或符号串并入另一符号串;

《8》求所有能直接推出^的符号;

《9》求某一符号能否推出‘^ ’;

《10》判断读入的文法是否正确;

《11》求单个符号的FIRST;

《12》求各产生式右部的FIRST;

《13》求各产生式左部的FOLLOW;

《14》判断读入文法是否为一个LL(1)文法;

《15》构造分析表M;

《16》总控算法;

《17》一个用户调用函数;

《18》主函数;

程序如下:

#include

#include

#include

int count=0; /*分解的产生式的个数*/

int number; /*所有终结符和非终结符的总数*/

char start; /*开始符号*/

char termin[50]; /*终结符号*/

char non_ter[50]; /*非终结符号*/

char v[50]; /*所有符号*/

char left[50]; /*左部*/

char right[50][50]; /*右部*/

char first[50][50],follow[50][50]; /*各产生式右部的FIRST和左部的FOLLOW集合*/ char first1[50][50]; /*所有单个符号的FIRST集合*/

char select[50][50]; /*各单个产生式的SELECT集合*/

char f[50],F[50]; /*记录各符号的FIRST和FOLLOW是否已求过*/

char empty[20]; /*记录可直接推出^的符号*/

char TEMP[50]; /*求FOLLOW时存放某一符号串的FIRST集合*/

int validity=1; /*表示输入文法是否有效*/

int ll=1; /*表示输入文法是否为LL(1)文法*/

int M[20][20]; /*分析表*/

char choose; /*用户输入时使用*/

char empt[20]; /*求_emp()时使用*/

char fo[20]; /*求FOLLOW集合时使用*/

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

判断一个字符是否在指定字符串中

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

int in(char c,char *p)

{

int i;

if(strlen(p)==0)

return(0);

for(i=0;;i++)

{

if(p[i]==c)

return(1); /*若在,返回1*/

if(i==strlen(p))

return(0); /*若不在,返回0*/ }

}

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

得到一个不是非终结符的符号

********************************************/ char c()

{

char c='A';

while(in(c,non_ter)==1)

c++;

return(c);

}

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

分解含有左递归的产生式

********************************************/ void recur(char *point)

{ /*完整的产生式在point[]中*/ int j,m=0,n=3,k;

char temp[20],ch;

ch=c(); /*得到一个非终结符*/

k=strlen(non_ter);

non_ter[k]=ch;

non_ter[k+1]='\0';

for(j=0;j<=strlen(point)-1;j++)

{

if(point[n]==point[0])

{ /*如果‘|’后的首符号和左部相同*/ for(j=n+1;j<=strlen(point)-1;j++)

{

while(point[j]!='|'&&point[j]!='\0')

temp[m++]=point[j++];

left[count]=ch;

memcpy(right[count],temp,m);

right[count][m]=ch;

right[count][m+1]='\0';

m=0;

count++;

if(point[j]=='|')

{

n=j+1;

break;

}

}

}

else

{ /*如果‘|’后的首符号和左部不同*/ left[count]=ch;

right[count][0]='^';

right[count][1]='\0';

count++;

for(j=n;j<=strlen(point)-1;j++)

{

if(point[j]!='|')

temp[m++]=point[j];

else

{

left[count]=point[0];

memcpy(right[count],temp,m);

right[count][m]=ch;

right[count][m+1]='\0';

printf(" count=%d ",count);

m=0;

count++;

}

}

left[count]=point[0];

memcpy(right[count],temp,m);

right[count][m]=ch;

right[count][m+1]='\0';

count++;

m=0;

}

}

}

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

分解不含有左递归的产生式

********************************************/ void non_re(char *point)

{

int m=0,j;

char temp[20];

for(j=3;j<=strlen(point)-1;j++)

{

if(point[j]!='|')

temp[m++]=point[j];

else

{

left[count]=point[0];

memcpy(right[count],temp,m);

right[count][m]='\0';

m=0;

count++;

}

}

left[count]=point[0];

memcpy(right[count],temp,m);

right[count][m]='\0';

count++;

m=0;

}

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

读入一个文法

********************************************/ char grammer(char *t,char *n,char *left,char right[50][50]) {

char vn[50],vt[50];

char s;

char p[50][50];

int i,j,k;

printf("\n请输入文法的非终结符号串:");

scanf("%s",vn);

getchar();

i=strlen(vn);

memcpy(n,vn,i);

n[i]='\0';

printf("请输入文法的终结符号串:");

scanf("%s",vt);

getchar();

i=strlen(vt);

memcpy(t,vt,i);

t[i]='\0';

printf("请输入文法的开始符号:");

scanf("%c",&s);

getchar();

printf("请输入文法产生式的条数:");

scanf("%d",&i);

getchar();

for(j=1;j<=i;j++)

{

printf("请输入文法的第%d条(共%d条)产生式:",j,i);

scanf("%s",p[j-1]);

getchar();

}

for(j=0;j<=i-1;j++)

if(p[j][1]!='-'||p[j][2]!='>')

{ printf("\ninput error!");

validity=0;

return('\0');

} /*检测输入错误*/

for(k=0;k<=i-1;k++)

{ /*分解输入的各产生式*/

if(p[k][3]==p[k][0])

recur(p[k]);

else

non_re(p[k]);

}

return(s);

}

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

将单个符号或符号串并入另一符号串

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

void merge(char *d,char *s,int type)

{ /*d是目标符号串,s是源串,type=1,源串中的‘^ ’一并并入目串;

type=2,源串中的‘^ ’不并入目串*/

int i,j;

for(i=0;i<=strlen(s)-1;i++)

{

if(type==2&&s[i]=='^')

;

else

{

for(j=0;;j++)

{

if(j

break;

if(j==strlen(d))

{

d[j]=s[i];

d[j+1]='\0';

break;

}

}

}

}

}

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

求所有能直接推出^的符号

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

void emp(char c)

{ /*即求所有由‘^ ’推出的符号*/ char temp[10];

int i;

for(i=0;i<=count-1;i++)

{

if(right[i][0]==c&&strlen(right[i])==1)

{

temp[0]=left[i];

temp[1]='\0';

merge(empty,temp,1);

emp(left[i]);

}

}

}

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

求某一符号能否推出‘^ ’

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

int _emp(char c)

{ /*若能推出,返回1;否则,返回0*/ int i,j,k,result=1,mark=0;

char temp[20];

temp[0]=c;

temp[1]='\0';

merge(empt,temp,1);

if(in(c,empty)==1)

return(1);

for(i=0;;i++)

{

if(i==count)

return(0);

if(left[i]==c) /*找一个左部为c的产生式*/

{

j=strlen(right[i]); /*j为右部的长度*/

if(j==1&&in(right[i][0],empty)==1)

return(1);

else if(j==1&&in(right[i][0],termin)==1)

return(0);

else

{

for(k=0;k<=j-1;k++)

if(in(right[i][k],empt)==1)

mark=1;

if(mark==1)

continue;

else

{

for(k=0;k<=j-1;k++)

{

result*=_emp(right[i][k]);

temp[0]=right[i][k];

temp[1]='\0';

merge(empt,temp,1);

}

}

}

if(result==0&&i

continue;

else if(result==1&&i

return(1);

}

}

}

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

判断读入的文法是否正确

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

int judge()

{

int i,j;

for(i=0;i<=count-1;i++)

{

if(in(left[i],non_ter)==0)

{ /*若左部不在非终结符中,报错*/

printf("\nerror1!");

validity=0;

return(0);

}

for(j=0;j<=strlen(right[i])-1;j++)

{

if(in(right[i][j],non_ter)==0&&in(right[i][j],termin)==0&&right[i][j]!='^')

{ /*若右部某一符号不在非终结符、终结符中且不为‘^ ’,报错*/ printf("\nerror2!");

validity=0;

return(0);

}

}

}

return(1);

}

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

求单个符号的FIRST

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

void first2(int i)

{ /*i为符号在所有输入符号中的序号*/

char c,temp[20];

int j,k,m;

c=v[i];

char ch='^';

emp(ch);

if(in(c,termin)==1) /*若为终结符*/

{

first1[i][0]=c;

first1[i][1]='\0';

}

else if(in(c,non_ter)==1) /*若为非终结符*/

{

for(j=0;j<=count-1;j++)

{

if(left[j]==c)

{

if(in(right[j][0],termin)==1||right[j][0]=='^')

{

temp[0]=right[j][0];

temp[1]='\0';

merge(first1[i],temp,1);

}

else if(in(right[j][0],non_ter)==1)

{

if(right[j][0]==c)

continue;

for(k=0;;k++)

if(v[k]==right[j][0])

break;

if(f[k]=='0')

{

first2(k);

f[k]='1';

}

merge(first1[i],first1[k],2);

for(k=0;k<=strlen(right[j])-1;k++)

{

empt[0]='\0';

if(_emp(right[j][k])==1&&k

{

for(m=0;;m++)

if(v[m]==right[j][k+1])

break;

if(f[m]=='0')

{

first2(m);

f[m]='1';

}

merge(first1[i],first1[m],2);

}

else if(_emp(right[j][k])==1&&k==strlen(right[j])-1)

{

temp[0]='^';

temp[1]='\0';

merge(first1[i],temp,1);

}

else

break;

}

}

}

}

}

f[i]='1';

}

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

求各产生式右部的FIRST

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

void FIRST(int i,char *p)

{

int length;

int j,k,m;

char temp[20];

length=strlen(p);

if(length==1) /*如果右部为单个符号*/ {

if(p[0]=='^')

{

if(i>=0)

{

first[i][0]='^';

first[i][1]='\0';

}

else

{

TEMP[0]='^';

TEMP[1]='\0';

}

}

else

{

for(j=0;;j++)

if(v[j]==p[0])

break;

if(i>=0)

{

memcpy(first[i],first1[j],strlen(first1[j]));

first[i][strlen(first1[j])]='\0';

}

else

{

memcpy(TEMP,first1[j],strlen(first1[j]));

TEMP[strlen(first1[j])]='\0';

}

}

}

else /*如果右部为符号串*/ {

for(j=0;;j++)

if(v[j]==p[0])

break;

if(i>=0)

merge(first[i],first1[j],2);

else

merge(TEMP,first1[j],2);

for(k=0;k<=length-1;k++)

{

empt[0]='\0';

if(_emp(p[k])==1&&k

{

for(m=0;;m++)

if(v[m]==right[i][k+1])

break;

if(i>=0)

merge(first[i],first1[m],2);

else

merge(TEMP,first1[m],2);

}

else if(_emp(p[k])==1&&k==length-1)

{

temp[0]='^';

temp[1]='\0';

if(i>=0)

merge(first[i],temp,1);

else

merge(TEMP,temp,1);

}

else if(_emp(p[k])==0)

break;

}

}

}

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

求各产生式左部的FOLLOW

********************************************/ void FOLLOW(int i)

{

int j,k,m,n,result=1;

char c,temp[20];

c=non_ter[i]; /*c为待求的非终结符*/

temp[0]=c;

temp[1]='\0';

merge(fo,temp,1);

if(c==start)

{ /*若为开始符号*/

temp[0]='#';

temp[1]='\0';

merge(follow[i],temp,1);

}

for(j=0;j<=count-1;j++)

{

if(in(c,right[j])==1) /*找一个右部含有c的产生式*/

{

for(k=0;;k++)

if(right[j][k]==c)

break; /*k为c在该产生式右部的序号*/

for(m=0;;m++)

if(v[m]==left[j])

break; /*m为产生式左部非终结符在所有符号中的序号*/ if(k==strlen(right[j])-1)

{ /*如果c在产生式右部的最后*/

if(in(v[m],fo)==1)

{

merge(follow[i],follow[m],1);

continue;

}

if(F[m]=='0')

{

FOLLOW(m);

F[m]='1';

}

merge(follow[i],follow[m],1);

}

else

{ /*如果c不在产生式右部的最后*/

for(n=k+1;n<=strlen(right[j])-1;n++)

{

empt[0]='\0';

result*=_emp(right[j][n]);

}

if(result==1)

{ /*如果右部c后面的符号串能推出^*/

if(in(v[m],fo)==1)

{ /*避免循环递归*/

merge(follow[i],follow[m],1);

continue;

}

if(F[m]=='0')

{

FOLLOW(m);

F[m]='1';

}

merge(follow[i],follow[m],1);

}

for(n=k+1;n<=strlen(right[j])-1;n++)

temp[n-k-1]=right[j][n];

temp[strlen(right[j])-k-1]='\0';

FIRST(-1,temp);

merge(follow[i],TEMP,2);

}

}

}

F[i]='1';

}

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

判断读入文法是否为一个LL(1)文法

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

int ll1()

{

int i,j,length,result=1;

char temp[50];

for(j=0;j<=49;j++)

{ /*初始化*/

first[j][0]='\0';

follow[j][0]='\0';

first1[j][0]='\0';

select[j][0]='\0';

TEMP[j]='\0';

temp[j]='\0';

f[j]='0';

F[j]='0';

}

for(j=0;j<=strlen(v)-1;j++)

first2(j); /*求单个符号的FIRST集合*/ printf("\nfirst1:");

printf("%c:%s ",v[j],first1[j]);

printf("\nempty:%s",empty);

printf("\n:::\n_emp:");

for(j=0;j<=strlen(v)-1;j++)

printf("%d ",_emp(v[j]));

for(i=0;i<=count-1;i++)

FIRST(i,right[i]); /*求FIRST*/

printf("\n");

for(j=0;j<=strlen(non_ter)-1;j++)

{ /*求FOLLOW*/

if(fo[j]==0)

{

fo[0]='\0';

FOLLOW(j);

}

}

printf("\nfirst:");

for(i=0;i<=count-1;i++)

printf("%s ",first[i]);

printf("\nfollow:");

for(i=0;i<=strlen(non_ter)-1;i++)

printf("%s ",follow[i]);

for(i=0;i<=count-1;i++)

{ /*求每一产生式的SELECT集合*/ memcpy(select[i],first[i],strlen(first[i]));

select[i][strlen(first[i])]='\0';

for(j=0;j<=strlen(right[i])-1;j++)

result*=_emp(right[i][j]);

if(strlen(right[i])==1&&right[i][0]=='^')

result=1;

if(result==1)

{

for(j=0;;j++)

if(v[j]==left[i])

break;

merge(select[i],follow[j],1);

}

}

printf("\nselect:");

for(i=0;i<=count-1;i++)

printf("%s ",select[i]);

memcpy(temp,select[0],strlen(select[0]));

temp[strlen(select[0])]='\0';

{ /*判断输入文法是否为LL(1)文法*/

length=strlen(temp);

if(left[i]==left[i-1])

{

merge(temp,select[i],1);

if(strlen(temp)

return(0);

}

else

{

temp[0]='\0';

memcpy(temp,select[i],strlen(select[i]));

temp[strlen(select[i])]='\0';

}

}

return(1);

}

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

构造分析表M

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

void MM()

{

int i,j,k,m;

for(i=0;i<=19;i++)

for(j=0;j<=19;j++)

M[i][j]=-1;

i=strlen(termin);

termin[i]='#'; /*将#加入终结符数组*/

termin[i+1]='\0';

for(i=0;i<=count-1;i++)

{

for(m=0;;m++)

if(non_ter[m]==left[i])

break; /*m为产生式左部非终结符的序号*/

for(j=0;j<=strlen(select[i])-1;j++)

{

if(in(select[i][j],termin)==1)

{

for(k=0;;k++)

if(termin[k]==select[i][j])

break; /*k为产生式右部终结符的序号*/ M[m][k]=i;

}

}

}

}

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

总控算法

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

void syntax()

{

int i,j,k,m,n,p,q;

char ch;

char S[50],str[50];

printf("请输入该文法的句型:");

scanf("%s",str);

getchar();

i=strlen(str);

str[i]='#';

str[i+1]='\0';

S[0]='#';

S[1]=start;

S[2]='\0';

j=0;

ch=str[j];

while(1)

{

if(in(S[strlen(S)-1],termin)==1)

{

if(S[strlen(S)-1]!=ch)

{

printf("\n该符号串不是文法的句型!");

return;

}

else if(S[strlen(S)-1]=='#')

{

printf("\n该符号串是文法的句型.");

return;

}

else

{

S[strlen(S)-1]='\0';

j++;

ch=str[j];

}

}

else

{

for(i=0;;i++)

if(non_ter[i]==S[strlen(S)-1])

break;

for(k=0;;k++)

{

if(termin[k]==ch)

break;

if(k==strlen(termin))

{

printf("\n词法错误!");

return;

}

}

if(M[i][k]==-1)

{

printf("\n语法错误!");

return;

}

else

{

m=M[i][k];

if(right[m][0]=='^')

S[strlen(S)-1]='\0';

else

{

p=strlen(S)-1;

q=p;

for(n=strlen(right[m])-1;n>=0;n--)

S[p++]=right[m][n];

S[q+strlen(right[m])]='\0';

}

}

}

printf("\nS:%s str:",S);

for(p=j;p<=strlen(str)-1;p++)

printf("%c",str[p]);

printf(" ");

}

}

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

材料分析方法实验报告

篇一:材料分析方法实验报告 篇二:材料分析方法课程设计报告 材料分析测试方法 课程设计(论文) 题目:磁控溅射c/w多层膜成分及微观分析 学院材料科学与工程 专业材料化学 班级材化082 学生王维娜 学号 3080101296 指导教师陈迪春 起止时间 2010.12.27-2011.1.1 年 材料分析测试方法课程设计任务书 课程设计内容要求: 掌握高分辨透射电子显微镜样品制备方法,学习并了解真空镀膜 技术-磁控溅射技术,多层膜制备过程,以及其微观结构分析,成分 分析所用仪器和原理。 学生(签名) 月日 材料分析测试方法课程设计评语 指导教师(签名) 年日 目录 材料分析测试方法 ............................................................................. .. (1) 1.1 磁控溅射 ............................................................................. (5) 1.2 x射线衍射仪 ............................................................................. . (5) 1.3 透射电子显微镜 ............................................................................. (6) 1.4 x射线光电子能谱仪(xps) ........................................................................ (7) 第二章实验方法 ............................................................................. .. (9) 2.1 tem样品的制备方法 .............................................................................

实验报告总结报告的优秀范文

实验报告总结报告的优秀范文 总结报告是会议领导同志对会议召开的情况和会议所取得的成果进行总结的陈述性文件。写总结报告时应注意明确目的,突出重点,切不可面面俱到;要鼓舞人心,富有号召力。小编精选了一些关于总结报告的优秀范文,让我们一起来看看吧。 实验报告总结(一): 学校实验室是完成教学任务的重要场地,是根据实验教学大纲中要求培养学生初步的科学实验能力和开展科技活动的场所,并对开展实验教学,提高教学质量具有十分重要的作用。对于一个拥有各类实验室且实验仪器基本配套齐全的学校来讲,管理是关键,因为只有管理跟上去了,才能更合理、有效地使用好各类仪器设备。对此,作为一所中学的实验室人员,我们在长期的工作实践中做了如下几个方面的工作: 一、努力提高自身素质 实验人员是科学管理实验室的基本队伍,在整个实验室的管理和运作中起着决定性的作用。一个好的实验员,可以改变整个实验室的面貌,推动实验教学的发展;而一个差的实验员,可导致整个实验室变成脏、乱、差的劣境,从而使实验教学无法正常进行。因此,我们每一个实验员,一方面在平时加强政治学习,提高自身素质,使大家在平凡的点滴工作中认识到这项工作的重要性,从而更加热爱本职工作。另一方面,我们还不断去兄弟学校和单位进行学习交流,参加实验设备和成果展览。这不仅使我们开阔了视野,了解了实验仪器发展的新情况,更看到了兄弟单位的先进管理经验,有利于我们在今后的工作中加以借鉴和改进。

同时学校还鼓励我们总结自己的经验,撰写论文,或进行业余进修,以增强我们在各方面的修养。由于平时有着严格的要求和业务考核,现有的每一位理、化、生实验员都能很好地胜任自己的工作,做到实验室整洁有序,实验准备快捷无误,从而保证了各项教学实验的顺利完成。 二、健全各项规章制度 俗话说没有规矩,不成方圆。我们学校根据上级的规定和本校的具体情况,制定了比较健全的规章制度:如《实验室管理守则》、《学生实验守则》、《实验室工作人员职责》、《实验室安全防护制度》等,进而做到使每项工作都有章可循,有据可查。除此以外,我们还对危险品的使用实行了领用登记手续,从而保证了对危险品的安全管理。由于各位实验员的同心协力,齐抓共管,保证了各项制度的顺利贯彻和实验室工作的正常开展。 三、科学管理仪器设备 仪器设备的规范管理是合理使用仪器的保证,为此我们做了以下的工作: 首先,我们根据建帐要求,设立了总帐、分类明细帐、低值易耗帐,并建立了橱卡,注明仪器的编号、名称、数量。平时对购进或调拨来的仪器设备物品都按统一编号顺序进行登记入帐,且对消耗掉的物品及时记入各分类记录薄上。每学期末都进行一次帐、物、卡核实,并把报废报损的仪器遣报损单,经领导批审后销帐,ZUI后把核查的数目转入总帐、分类帐上,这样就能做到巾长物卡三统一了。

课题实验前测后测数据对比分析

《小学数学小组合作学习的有效性研究》 前后测统计与对比分析 实验人员:但丽娟 后测类别:问卷 后测时间:2018.1.5 调查目的:通过这一阶段的研究,教师能否通过课堂游戏,提高课堂效率,英语游戏教学模式是否真的有效。 调查对象:实验班——三(一)30人非实验班——三(二)30人问卷题目: 1、你在学习英语的过程中,你觉得英语难吗? A、难 B、一般 C、容易 2、在英语课中你喜欢课堂游戏吗? A、喜欢 B、不喜欢 C、无所谓 3、在游戏活动中游戏能激发学习英语的兴趣吗? A、能 B、偶尔 C、不能 4、你的老师在英语课上是否开展过“课堂游戏”?() A、经常开展 B、偶尔开展几次 C、从来没有开展过 5、开展课堂游戏时,有没有体验到游戏带来的乐趣?() A、很有乐趣 B、一般般 C、不喜欢 6、游戏活动后,老师对同学们作了()评价 A、没有评价,继续上课 B、对个别表现较好的同学给予表 扬奖励 C、综合评价每个小组的表现

7、在游戏活动中,老师所讲的游戏规则都听懂了吗? A、完全听懂 B、基本懂 C、不太懂 8、你觉得游戏教学给你们带来什么作用? A、提高兴趣 B、培养学习英语习惯 C、爱好英语 9、在玩游戏的同时,你学到了英语知识吗? A、学到了,兴趣也提高了 B、学到了一些 C、没有学到 10、你认为老师应该以游戏教学为主还是以传统的为主?() A、游戏教学 B、传统教学 C、游戏教学为主,传统教学为辅问卷统计(实验前) 问卷统计(实验后)

简要对比分析 通过调查发现,实验因子实验前后发生了巨大的变化。实验前只有百分之三十的学生老师课堂提问时,喜欢举手发言,参与课堂的人数占百分之五十左右,不是很高,试验后有百分之百的学生喜欢课堂游戏教学,说明学生认识到这种学习方式有助于提高学生的学习兴趣。从英语课堂是否学到知识的百分比提高很多可以看出,学生乐于接受游戏教学,说明课堂游戏教学模式起到了一定的实效。 93.3%的同学明确表示肯定课堂游戏教学,表现出极大的学习热情和积极性,在以后的学习中我们要给这些同学充分的机会和展示自己的舞台,希望在这些同学的带领下,每个同学都能体会到英语学习的乐趣,在获取知识的同时培养自己的学习习惯。试验后,学生在小组合作中从不敢说,不愿说到每位都愿意积极讨论、交流,这都是实验的积极效果。而非实验因子,实验前后变化不明显。从以上问卷的调查统计及分析情况看,《运用游戏提高小学英语课堂效率的行动研究》的实验研究取得了预期的成效。

山东建筑大学系统工程系统动力学实验报告层次分析法

系统工程实验报告 实验项目名称:层次分析法应用实验班级: 学号: 姓名: 日期: 日

一、实验目的 熟悉层次分析法的基本原理及其基本步骤,掌握层次单排序和总排序的计算过程。在EXCEL软件中,应用层次分析法解决实际中遇到的系统评价问题。 二、实验任务 交通工具的选择是多目标决策问题,结合自己的具体情况,根据层次分析法的基本原理,对具体的问题进行分析。所有的运算过程需要在EXCEL软件中完成。 三、实验原理 1.层次分析法简介 层次分析法(Analytic Hierarchy Process,简称 AHP)是美国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出的系统评价方法,这种方法将定性分析和定量分析结合起来,利用较少的定量信息使决策的思维过程数学化,是对难于完全定量的复杂系统作出决策的模型和方法。 AHP法首先把问题层次化,按问题性质和总目标将此问题分解成不同的层次,构成一个多层次的分析结构模型。将每一层次的各要素相对于其上一层次某要素进行两两比较判断,得到其相对重要程度的比较尺度,建立判断矩阵。通过计算判断矩阵的最大特征根及其相对应的特征向量,得到各层要素对上层某要素的重要性次序,建立相对权重向量。最后自上而下地用上一层次各要素的组合权重为权数,对本层次各要素的相对权重向量进行加权求和,得出各层次要素关于系统总体目标的组合权重,从而根据最终权重的大小进行方案排序,为选择最佳方案提供依据。 层次分析法的特点: (1)分析思路清楚,可将系统分析人员的思维过程系统化、数学化和模型化; (2)分析时需要的定量数据不多,但要求对问题所包含的因素及其关系具体而明确;(3)这种方法适用于多准则、多目标的复杂问题的决策分析,广泛用于地区经济发展方案比较、科学技术成果评比、资源规划和分析以及企业人员素质测评。 2.层次分析法基本步骤 第一步:明确问题,建立系统的递阶层次结构。 弄清问题的范围,了解问题所包含的因素,确定出因素之间的关联关系和隶属关系,并且建立递阶层次结构。

材料分析(SEM)实验报告

材料专业实验报告 题目:扫描电镜(SEM)物相分析实验学院:先进材料与纳米科技学院专业:材料物理与化学 姓名: 学号:1514122986 2016年6月30日

扫描电镜(SEM)物相分析实验 一.实验目的 1.了解扫描电镜的基本结构与原理 2.掌握扫描电镜样品的准备与制备方法 3.掌握扫描电镜的基本操作并上机操作拍摄二次电子像 4.了解扫描电镜图片的分析与描述方法 二.实验原理 1.扫描电镜的工作原理 扫描电镜(SEM)是用聚焦电子束在试样表面逐点扫描成像。试样为块状或粉末颗粒,成像信号可以是二次电子、背散射电子或吸收电子。其中二次电子是最主要的成像信号。由电子枪发射的电子,以其交叉斑作为电子源,经二级聚光镜及物镜的缩小形成具有一定能量、一定束流强度和束斑直径的微细电子束,在扫描线圈驱动下,于试样表面按一定时间、空间顺序作栅网式扫描。聚焦电子束与试样相互作用,产生二次电子发射以及背散射电子等物理信号,二次电子发射量随试样表面形貌而变化。二次电子信号被探测器收集转换成电讯号,经视频放大后输入到显像管栅极,调制与入射电子束同步扫描的显像管亮度,得到反映试样表面形貌的二次电子像。 本次实验中主要通过观察背散射电子像及二次电子像对样品进行分析表征。 1)背散射电子 背散射电子是指被固体样品原子反射回来的一部分入射电子,其中包括弹性背反射电子和非弹性背反射电子。弹性背反射电子是指被样品中原子和反弹回来的,散射角大于90度的那些入射电子,其能量基本上没有变化(能量为数千到数万电子伏)。非弹性背反射电子是入射电子和核外电子撞击后产生非弹性散射,不仅能量变化,而且方向也发生变化。非弹性背反射电子的能量范围很宽,从数十电子伏到数千电子伏。背反射电子的产生范围在100nm-1mm深度。背反射电子产额和二次电子产额与原子序数的关系背反射电子束成像分辨率一般为50-200nm(与电子束斑直径相当)。背反射电子的产额随原子序数的增加而增加,所以,利用背反射电子作为成像信号不仅能分析形貌特征,也可以用来显示原子序数衬

实验数据和结果的分析

专题四:实验数据和结果的分析 【例题】2007广东高考22. “碘钟”实验中,3I- + S2O82- = I3- + 2SO42-的反应速率可以用I3-与加入的淀粉溶液显蓝色的时间t来度量,t越小,反应速率越大。某探究性学习小组在20℃进行实验,得到的数据如下表: 实验编号①②③④⑤ c(I-)/mol·L- 0.040 0.080 0.080 0.160 0.120 c (S2O82-)/mol·L-0.040 0.040 0.080 0.020 0.040 t /s 88.0 44.0 22.0 44.0 t1 回答下列问题: (1)该实验的目的是。 (2)显色时间t1= 。 (3)温度对该反应的反应速率的影响符合一般规律,若在40℃下进行编号③对应浓度的实验,显色时间t2的范围为(填字母) A、<22.0s B、22.0~44.0s C、>44.0s D、数据不足,无法判断 (4)通过分析比较上表数据,得到的结论是 _________________________________ 。【分析】 1、命题意图分析 该高考题以“碘钟”实验为背景,考查了学生对影响化学反应速率的外界因素,如浓度、温度及其规律的认识和理解,学生对图表的观察、分析以及处理实验数据归纳得出合理结论 的能力,学生对实验数据的分析、整理、归纳等方面的思维能力。体现出考纲对学生根据实 ... 验试题要求,分析或处理实验数据,得出合理结论......................的要求。 2、审题要点 该类题目的审题要点主要在于数据图表的解读以及如何将图标数据中的信息与实验目的紧密联系。本题的实验目的是测定反应速率,给出的实验数据是反应物的浓度和反应时间, 则该实验应该主要探讨的是反应物浓度与反应速率 ..........的关系,只有明确了实验目的,才能找准要分析的目标,有的放矢。 3、解题思路分析 本题探讨的是反应物浓度对化学反应速率的影响,但是题目给出的反应物浓度有两种,如何综合考虑两种反应物浓度对反应速率的影响呢?我们可以将其作为两个变量,分析当其中一个变量(即一种反应物浓度)保持不变时,反应速率的变化,然后分析当两个变量同时变化一定的倍数时,反应速率的变化,就可以看到其中的规律。

大数据实验报告

学生实验报告册 (理工类) 课程名称:大型数据库技术专业班级:12计算机科学与技术(1)学生学号:学生姓名: 所属院部:计算机工程学院指导教师:陈爱萍

2014——20 15学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:Oracle数据库安装与配置实验学时: 1 同组学生姓名:实验地点:1316 实验日期:2015/3/27 实验成绩: 批改教师:陈爱萍批改时间:

实验1:Oracle数据库安装与配置 一、实验目的和要求 (1)掌握Oracle数据库服务器的安装与配置。 (2)了解如何检查安装后的数据库服务器产品,验证安装是否成功。 (3)掌握Oracle数据库服务器安装过程中出现的问题的解决方法。 (4)完成Oracle 11g数据库客户端网路服务名的配置。 (5)检查安装后的数据库服务器产品可用性。 (6)解决Oracle数据库服务器安装过程中出现的问题。 二、实验设备、环境 设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版 三、实验步骤 (1)从Oracle官方网站下载与操作系统匹配的Oracle 11g数据库服务器和客户机安装程序。 (2)解压Oracle 11g数据库服务器安装程序,进行数据库服务器软件的安装。

编译原理实验报告材料(预测分析报告表方法)

预测分析表方法 一、实验目的 理解预测分析表方法的实现原理。 二、实验内容: 编写一通用的预测法分析程序,要求有一定的错误处理能力,出错后能够使程序继续运行下去,直到分析过程结束。可通过不同的文法(通过数据表现)进行测试。 三、实验步骤 1.算法数据构造: 构造终结符数组:char Vt[10][5]={“id”,”+”……}; 构造非终结符数组:char Vn[10]={ }; 构造follow集数组:char *follow[10][10]={ } (可将follow集与预测分析表合并存放) 数据构造示例(使用的预测分析表构造方法1): /*data1.h简单算术表达式数据*/ char VN[10][5]={"E","E'","T","T'","F"}; //非终结符表 int length_vn=5; //非终结符的个数 char VT[15][5]={"id","+","*","(",")","#"}; //终结符表 int length_vt=6; //终结符的个数 char Fa[15][10]={"TE'","+TE'","","FT'","*FT'","","(E)","id"}; //产生式表:0:E->TE' 1:E'->+TE' 2:E'->空 // 3:T->FT' 4:T'->*FT' 5:T'->空 6:F->(E) 7:F->id int analysis_table[10][11]={0,-1,-1,0,-2,-2,0,0,0,0,0, -1,1,-1,-1,2,2,0,0,0,0,0, 3,-2,-1,3,-2,-2,0,0,0,0,0, -1,5, 4,-1,5, 5,0,0,0,0,0, 7,-2,-2,6,-2,-2,0,0,0,0,0}; //预测分析表,-1表示出错,-2表示该行终结符的follow集合,用于错误处理,正数表示产生式在数组Fa 中的编号,0表示多余的列。 (1)预测分析表的构造方法1 给文法的正规式编号:存放在字符数组中,从0开始编号,正规式的编号即为该正规式在数组中对应的下标。如上述Fa数组表示存储产生式。 构造正规式数组:char P[10][10]={“E->TE’”,”E’->+TE’”,……..}; (正规式可只存储右半部分,如E->TE’可存储为TE’,正规式中的符号可替换,如可将E’改为M ) 构造预测分析表:int analyze_table[10][10]={ } //数组元素值存放正规式的编号,-1表示出错 (2)预测分析表的构造方法2 可使用三维数组 Char analyze_table[10][10][10]={ }

前后测统计与对比分析合集

《联系实际取材、巧创数学教学情境,培养小 学高年级学生分析、解决问题的能力》 前后测统计与对比分析 实验教师——陈海 后测类别:问卷 后测时间:2010、4、1 调查目的: 了解通过子课题的实验研究学生对数学的热爱程度,关注数学情境创设的状况,及学生分析、解决问题的能力是否有提高。根据实验因子及非实验因子实验前后的变化,验证子课题的研究是否取得了预期的成效。 调查对象:实验因子――五年二班30名学生;非实验因子――五年一班35名 学生 主持人:陈海 问卷题目: ()1、你现在喜欢上数学课吗?A、喜欢B、一般C、不喜欢 ()2、你喜欢上什么样的数学课? A、数学课上,在生动、形象的生活情景中,能够提出具有思考性的数学问题,并通过自主探究、小组合作的方式,在教师的指导下解决问题 B、数学课上教师讲,我听 C、教师直接提出问题,我自己研究,在解决不了的情况下,听教师讲()3、你不喜欢上什么样的数学课? A、教师讲,我们听,不用动脑想的数学课 B、数学问题脱离了我们的实际生活,理解起来很吃力的数学课。或是课上热热闹闹,但课后解决问题我感觉仍然无从下手 C、以上两种数学课我都不喜欢 ()4、数学课上你愿意并能够做做到主动参与数学问题的探究吗? A、自己主动参与数学问题的探究 B、在教师的要求下参与问题的探究 C、以旁观者的态度面对问题的探究 ()5、数学课上,教师提出的问题,你怎样才能够解决? A、经过思考、探究才能解决 B、不需要思考,结论随口而出 C、问题很难,摸不着边际,无法回答 ()6、你喜欢怎样的教学情境 A、联系我们的实际具实践性、趣味性的情境 B、联系我们的生活实际蕴含有思考空间的问题的情境 C、不喜欢任何情境,只要教师把所要学习的内容讲清楚就可以了 ()7、现在的数学课,有情境的创设吗? A、经常有 B、有时有 C、没有 ()8、如果有,多是哪种情境? A、书上的情境 B、联系我们的生活实际蕴含有思考空间的问题情境 C、联系我们

层次分析法(20210228082427)

湖南科技学院实验报告

实验内容: 问题描述:某企业由于生产效益好,年底取得一笔利润,领导决定拿出一部分资金分别用于: (1)为企业员工发年终奖金。(2)扩建集体福利设施;(3)引进高薪技术人才和设备;为了促进企业的进一步发展,在制定分配方案时,主要考虑的因素有:调动员工的积极性,提高企业质量,改善企业员工的生活条件。 当然上述三个方面都要考虑到,但困难在于,年终奖发多少?扩建集体福利设施支出多 少?拿多少资金用于引进高薪技术人才和设备。 试建立层次分析法模型,提出一个较好的资金分配方案。 层次分析法(Analytic Hierarchy Process )简称AHP法,是美国著名的运筹学家 T. L. Satty于1973年提出的,是一种定性与定量分析相结合的多目标决策分析方法。AHP 吸收利用行为科学的特点,将决策者的经验判断给予量化,在目标(因素)结构复杂而且缺乏必要的数据情况下,采用此方法较为实用,是系统科学中常用的一种系统分析方法。从处理问题的类型看,主要是决策、评价、分析、预测等。 AHP g求的递阶层次结构一般由以下三个层次组成: * 目标层(最高层):指问题的预定目标; * 准则层(中间层):指影响目标实现的准则; * 方案层(最低层):指促使目标实现的措施; 合理分配

模型的假设: (1) 假设这笔资金不会因为发生紧急情况 而被调用。 (2) 假设这笔资金都以供选择方案的形式用于企业的发展。 目标层为乙准则层为C,调动职工积极性、提高企业技术水平、改善职工生活条件分别用 C1、C2、C3来表示,措施层为P ,发奖金、扩建福利事业、引进新设备分别用 P1、P2、P3来 表示。 运用层次分析法建立数学模型,目标层,准则层,方案层分别如下: 合理分配利润 求解过程: 1.构造判断矩阵Z-C 判断矩阵表示在层次结构模型中,针对上一层次某元素来说,本层次有关元素之间相对重要 性的比较。如果A 层因素中Ak 与下一层次C 中的G ,C 2厂,C n 相关,则判断矩阵可用表示为: 缶 C 12 Gn C 21 C 22 C 2n C n2 Gn J q >0,q "/C jjg i,j “,2…n ); C j 表示对Ak 而言,C i 对C j 相对重要性的数值表 示。此时称A 为正互反矩阵。当判断矩阵中元素满足 C ij = Ck C kj (i,j,k 二1,2, ,, ,n )时, 则称判断具有一致性 由于指标的确定和分值的给定带有主观臆断性,为减小主观因素的影响,我们采用 T ?L ? Satty 提出的“ 1~9比率标度法”表进行定量评价,其标度含义如表 2所示: 目标层z : 准则层C : 调动积极性cl 提高企业质量C2 改善生活条件c3 方案层p : 发奖金pl 扩建福利设施p2 引进人才和设备p3 其中,

材料现代分析方法实验报告

力学与材料学院 材料现代分析方法实验报告二 XRD图谱分析 专业年级:1 姓名:1 指导老师:1 学号:1 2016年12月 中国南京 目录 实验名称:XRD图谱分析…………………………………………… 一、实验目的……………………………………………………

二、实验要求…………………………………………………… 三、操作过程…………………………………………………… 四、结果分析与讨论……………………………………………… 实验名称:XRD图谱分析 一、实验目的 了解XRD基本原理及其应用,不同物相晶体结构XRD图谱的区别,熟练掌握如何来分析利用X射线测试得到的XRD图谱。 二、实验要求

1、熟练掌握如何来利用软件打开、分析XRD图谱,以及输出分析结果。 2、明确不同物质的XRD图谱,掌握XRD图谱包含的晶体结构的关系,通过自己分析、数据查找和鉴别的全过程,了解如何利用软件正确分析和确定不同物相的XRD图谱,并输出分析结果。 3、实验报告的编写,要求报告能准确的反映实验目的、方法、过程及结论。 三、操作过程 1、启动Jade 6.0,并打开实验数据。 2、点击图标使图谱平滑后,再连续两次点击图标扣除背景影响。 3、右击工具栏中的图标,全选左侧的项目,取消选择右侧中的Use Chemistry Filter,最后在下方选择S/M Focus on Major Phases(如图一),并点击OK。 图一

4、得到物相分析,根据FOM值(越小,匹配性越高)可推断出该物相为以ZnO为主,可能含有CaF2、Al2O3、Mg(OH)2混合组成的物质(如图二),双击第一种物质可以得到主晶相的PDF卡片(如图三),点击图三版面中的Lines可以观察到不同角度处的衍射强度(如图四)。 图二

实验现象和实验数据的搜集整理与分析

实验现象和实验数据的搜集整理与分析

实验现象和实验数据的搜集整理与分析 一.问题阐述 实验现象和数据是定量实验结果的主要表现形式,亦是定量研究结果的主要证据。数据对于实验教学来讲,有着重要的意义和价值。然而在我们的教学中,不尊重事实,漠视实验数据的现象仍经常出现,具体分析,在小学科学实验数据教学中主要存在以下一些问题: (一)数据收集存在的问题 1.数据收集不真实 如《摆的研究》一课教学中,由于测量的次数多,时间紧,而测同一摆重或同一摆长前后时间又几近相同,于是有小组就根据前面的实验数据,推测了后面的数据。又如教学《热是怎样传递的》一课时,有一小组的火柴掉下来的顺序明明不是有规律地从左往右,但听到其他小组火柴都是从左往右有顺序地掉下来,于是他们也修改了自己的数据。 2.数据收集不准确 如教学《水和食用油的比较》一课时,教师引导学生把水和食用油分别装入相同的试管中来比较,结果教学中却出现了相反的现象——装油的试管比装水的试管还要重,原来是装水的试管壁薄,装油的试管壁厚,实验准备时教师并没有发现这个现象,结果出现了上述问题。 3.数据收集不全面 教师在收集数据过程中,各小组虽然都做了同一个实验,但教师只挑选1-2个组的实验表进行展示汇报,而其他组的实验数据一概不论,就草草作结论,这样的实验过程和结果很难说服所有人,也很容易出错。 (二)数据整理存在的问题 1.整理方式简单 课堂上教师比较重视设计小组或个人填写的实验数据表格,但对全班汇总的实验数据形式容易忽视,呈现方式比较简单。在数据呈现时,要么逐一呈现小组原始记录单,要么按小组顺序呈现数据,平时更少使用统计图来整理。黑板上数据显得杂乱无章,不易发现其中的规律。 2.数据取舍不清

3层结构实验报告

专业技能训练报告 学院:计算机学院 课程名称:网络应用开发专业技能训练 专业班级: 学生:学号: 学生:学号: 学生:学号: 指导教师:黄涛 完成时间:2015年6月27日

目录 1网络应用开发实验 (3) 1.1问题描述 (3) 1.2需求分析 (3) 1.3概要设计 (4) 1.4流程图 (4) 1.5详细设计 (5) 1.6调试分析 (20) 1.7运行结果及分析 (20) 《网络应用开发》评分表 (22)

1网络应用开发实验 1.1问题描述 一个数据库中,有两个数据表。其中custom,department表如下结构。 Custom与department的关系如下图所示。 设计一个基于Web的应用程序,采用3层结构的方式实现对custom,department 表中的记录进行:插入、修改、删除、查询的操作。 使用语言:C#语言 编译环境:visual studio 2013 1.2需求分析

使用三层架构来开发系统和,开发人员可以只关注整个结构中的其中某一层;可以很容易的用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;利于各层逻辑的复用;结构更加的明确;在后期维护的时候,极降低了维护成本和维护时间。 1.3概要设计 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。 我们先设计一个model,用于传递和记录相应表的一行数据值,简化传参的过程。然后设计数据访问层(DAL),用于对数据表的数据处理;同时设计一个相应的SQLhelper 类,用于对数据库的操作(增加、删除、修改、查询)进行封装。接着再设计业务逻辑层(BLL),用于操作数据访问层,解决具体业务问题,最后设计表现层,可用web页面或者winform页面,主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问 1.4流程图

材料分析与表征方法实验报告

材料分析与表征方法实验报告 热重分析实验报告 一、实验目的 1.了解热重分析法的基本原理和差热分析仪的基本构造。 2.掌握热重分析仪的使用方法。 二、实验原理 热重分析指温度在程序控制时,测量物质质量与温度之间的关系的技术。热重分析所用的仪器是热天平,它的基本原理是,样品重量变化所引起的天平位移量转化成电磁量,这个微小的电量经过放大器放大后,送入记录仪记录;而电量的大小正比于样品的重量变化量。当被测物质在加热过程中有升华、汽化、分解出气体或失去结晶水时,被测的物质质量就会发生变化。 三、实验原料 一水草酸钙CaC2O4·H2O 四、实验仪器 美国TA公司TGA55 升温与降温速率(K/min)0.1-100℃/min 天平灵敏度(μg)0.1μg 温度范围(°C)室温-1000℃ 五、操作条件

第一组:10℃/min空气条件下和20℃/min空气条件下,对TG和DTG 曲线进行对比。 第二组:10℃/min空气条件下和10℃/min氮气条件下,对DSC进行对比。 第三组:10℃/min氮气条件下,得到TG、DTG、DSC曲线。 六、结果与讨论 含有一个结晶水的草酸钙(242CaC.OHO)在100℃以前没有失重现象,其热重曲线呈水平状,为TG曲线的第一个平台。DTG曲线在0刻度。 在100℃和200℃之间失重并出现第二个平台。DTG曲线先升后降,在108.4℃达到最大值,即失重速率的最大值。DSC曲线先降后升,在188.4℃达到最小值,即热功率的最小值。这一步的失重量占试样总质量的12.47%,相当于每mo CaC2O4·H2O失掉1mol H2O,其热分解反应为: CaC2O4·H2O CaC2O4 + H2O 在400℃和500℃之间失重并开始呈现第三个平台,DTG曲线先升后降,在

比对试验数据处理的3种方法

比对试验数据处理的3种方法 摘要引入比对试验的定义,结合两个实验室进行的一组比对试验数据实例,介绍比对试验数据处理的3种基本方法,即(:rubbs检验、F检验、t检验,并阐述三者关系。 在实验室工作中,经常遇到比对试验,即按照预先规定的条件,由两个或多个实验室或实验室内部 对相同或类似的被测物品进行检测的组织、实施和评价。实验室间的比对试验是确定实验室的检测能 力,保证实验室数据准确,检测结果持续可靠而进行的一项重要的试验活动,比对试验方法简单实用,广 泛应用于企事业、专业质检、校准机构的实验室。国家实验室认可准则明确提出,实验室必须定期开展 比对试验。虽然比对试验的形式较多,如:人员比对、设备比对、方法比对、实验室间比对等等,但如何 将比对试验数据归纳、处理、分析,正确地得出比对试验结果是比对试验成败的关键。 以下笔者结合实验室A和B两个实验室200年进行的比对试验中的拉力试验数据实例,介绍比对试验数据处理的3种最基本的方法,即格鲁布斯(Grubbs)检验、F检验、t检验。 1 数据来源情况 试样 在实验室的半成品仓库采取正交方法取样,样品为01. 15 mm制绳用钢丝。在同一盘上截取20 段长度为lm试样,按顺序编号,单号在实验室A测试,双号在实验室B测试。 试验方法及设备 试验方法见 GB/T 228-1987,实验室A : LJ-500(编号450);实验室B : LJ-1 000(编号2)。 测试条件 两实验室选择有经验的试验员,严格按照标准方法进行测试,技术人员现场监督复核,确认无误后 记录。对断钳口的试样进行重试。试验时两实验室环境温度(28 T )、拉伸速度(50 mm/min )、钳口距 离(150 mm)相同。 试验数据 测试得出的两组原始试验数据见表to 表1 实验室A,B试验数据 2 数据处理的方法步骤 基本统计处理 对两组原始试验数据进行基本的统计计算,求出最大值、最小值、平均值、极差、标准偏差等,结果 见表2。 表2 基本统计结果 格鲁布斯(Grubbs)检验 格鲁布斯检验是离散值检验的一种,主要目的是剔除异常数据,这种异常数据不是系统误差,也不 是随机误差,而是由过失误差引起的,这种数据应一律舍去。对任何一组数据进行处理,首先要检验其 是否存在有过失误差带来的异常数据,即进行离散值检验。格鲁布斯检验是离散值检验中最好的方 法,其具体步骤是:将一组数据从小到大按顺序排列:x1、x2、x3、……x n,其中x1可能为离散值,先求 出这组数据的平均值x及标准偏差S,然后求统计量T,若x1,为离散值,由T= (x-x1)/s;若x n为离散 值,则T= (x n-x)/s;所得结果T与格鲁布斯检验值表所得临界值T a, n值比较(注:a为显著性水平,即把正常值判为异常值之类错误的概率,n为样本量)。如果T≥T a, n,说明是离散值,必须舍去;反之,予以保留。 结合A,B实验室数据,我们分别求出各自最大、最小值的 T值(共4个),T Amin=(2 227. 8-2 195) /=;T Amax=(2 255一2 227. 8)/=;T Bmin=一2 190)/=2. 82; T Bmin=(2 240一2 220. 85)/10. 942=;查表(取σ= 0. 05 ) I T0. 05 ,100 = 3. 21,比较可知,T AminI T Amax x T Bmin x T Bmax:均小于T o. 05,100,不属于离散值,应予保留、 如果通过格鲁布斯检验出离散值,应剔除,然后重新进行统计计算,以更进行下一步的统计分析。 2. 3 F检验

实验报告总结(精选8篇)

《实验报告总结》 实验报告总结(一): 一个长学期的电路原理,让我学到了很多东西,从最开始的什么都不懂,到此刻的略懂一二。 在学习知识上面,开始的时候完全是老师讲什么就做什么,感觉速度还是比较快的,跟理论也没什么差距。但是之后就觉得越来越麻烦了。从最开始的误差分析,实验报告写了很多,但是真正掌握的确不多,到最后的回转器,负阻,感觉都是理论没有很好的跟上实践,很多状况下是在实验出现象以后在去想理论。在实验这门课中给我最大的感受就是,必须要先弄清楚原理,在做实验,这样又快又好。 在养成习惯方面,最开始的时候我做实验都是没有什么条理,想到哪里就做到哪里。比如说测量三相电,有很多种状况,有中线,无中线,三角形接线法还是Y形接线法,在这个实验中,如果选取恰当的顺序就能够减少很多接线,做实验就应要有良好的习惯,就应在做实验之前想好这个实验要求什么,有几个步骤,就应怎样安排才最合理,其实这也映射到做事情,不管做什么事情,就应都要想想目的和过程,这样才能高效的完成。电原实验开始的几周上课时间不是很固定,实验报告也累计了很多,第一次感觉有那么多实验报告要写,在交实验报告的前一天很多同学都通宵了的,这说明我们都没有合理的安排好自己的时间,我就应从这件事情中吸取教训,合理安排自己的时间,完成就应完成的学习任务。这学期做的一些实验都需要严谨的态度。在负阻的实验中,我和同组的同学连了两三次才把负阻链接好,又浪费时间,又没有效果,在这个实验中,有很多线,很容易插错,所以要个性仔细。 在最后的综合实验中,我更是受益匪浅。完整的做出了一个红外测量角度的仪器,虽然不是个性准确。我和我组员分工合作,各自完成自己的模块。我负责的是单片机,和数码显示电路。这两块都是比较简单的,但是数码显示个性需要细致,由于我自己是一个粗心的人,所以数码管我检查了很多遍,做了很多无用功。 总结:电路原理实验最后给我留下的是:严谨的学习态度。做什么事情都要认真,争取一次性做好,人生没有太多时间去浪费。 实验报告总结(二): 在分子生物学实验室为期两个月的实习使我受益匪浅,我不仅仅学习到了专业知识,更重要的是收获了经验与体会,这些使我一生受用不尽,记下来与大家共勉: 1.手脚勤快,热心帮忙他人。初来匝道,不管是不是自己的份内之事,都就应用心去完成,也许自己累点,但你会收获很多,无论是知识与经验还是别人的称赞与认可。 2.多学多问,学会他人技能。学问学问,无问不成学。知识和经验的收获能够说与勤学好问是成正比的,要记住知识总是垂青那些善于提问的人。 3.善于思考,真正消化知识。有知到识,永远不是那么简单的事,当你真正学会去思考时,他人的知识才能变成你自己的东西。 4.前人铺路,后人修路。墨守陈规永远不会有新的建树,前人的道路固然重要,但是学会另辟蹊径更为重要。

实验现象和实验数据的搜集整理与分析报告

实验现象和实验数据的搜集整理与分析 一.问题阐述 实验现象和数据是定量实验结果的主要表现形式,亦是定量研究结果的主要证据。数据对于实验教学来讲,有着重要的意义和价值。然而在我们的教学中,不尊重事实,漠视实验数据的现象仍经常出现,具体分析,在小学科学实验数据教学中主要存在以下一些问题: (一)数据收集存在的问题 1.数据收集不真实如《摆的研究》一课教学中,由于测量的次数多,时间紧,而测同一摆重或同一摆长前后时间又几近相同,于是有小组就根据前面的实验数据,推测了后面的数据。又如教学《热是怎样传递的》一课时,有一小组的火柴掉下来的顺序明明不是有规律地从左往右,但听到其他小组火柴都是从左往右有顺序地掉下来,于是他们也修改了自己的数据。 2.数据收集不准确 如教学《水和食用油的比较》一课时,教师引导学生把水和食用油分别装入相同的试管中来比较,结果教学中却出现了相反的现象——装油的试管比装水的试管还要重,原来是装水的试管壁薄,装油的试管壁厚,实验准备时教师并没有发现这个现象,结果出现了上述问题。 3.数据收集不全面

教师在收集数据过程中, 各小组虽然都做了同一个实验, 但教师只挑选 1-2 个组的实验表进行展示汇报, 而其他组的实验数据一概不论, 就草草作结论, 这 样的实验过程和结果很难说服所有人,也很容易出错。 二)数据整理存在的问题 1.整理方式简单 课堂上教师比较重视设计小组或个人填写的实验数据表格, 但对全班汇总的 实验数据形式容易忽视, 呈现方式比较简单。 在数据呈现时, 要么逐一呈现小组 原始记录单, 要么按小组顺序呈现数据, 平时更少使用统计图来整理。 黑板上数 据显得杂乱无章,不易发现其中的规律。 2.数据取舍不清 实验结束后, 尤其是多次重复实验后, 学生对于到底应该取哪一个值有时往 往不清。例如在《摆的研究》一课中,让学生对于 10 秒之内摆摆动的次数进行 记录,实验次数为 3 次。学生完成实验后填对于这组数据,到底应该取 9 还是取 8 次?还是取其它值?这时如 果没有 教师明确的指导,学生就不是很清楚。 (三)数据分析存在的问题 1.数据分析肤浅 实验结束后, 教师把数据罗列之后直接引出实验结论, 对数据中包含的丰富 信息没有充分挖掘, 浪费了学生辛苦获得的宝贵数据资源, 这样简单 的处理不利 于培养学生数据分析能力

实验报告心得体会

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

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

材料研究方法与分析测试实验

本科生实验报告 实验课程材料研究方法与分析测试实验 学院名称材料与化学化工学院 专业名称材料科学与工程(无机非金属方向) 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇一四年12月15日——二〇一五年12月19日

填写说明 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)》。

实验一扫描电镜实验(SEM) 一、实验目的 1、了解扫描电子显微镜的原理、结构; 2、运用扫描电子显微镜进行样品微观形貌观察。 二、实验原理 扫描电镜(SEM)是用聚焦电子束在试样表面逐点扫描成像。试样为块状或粉末颗粒,成像信号可以是二次电子、背散射电子或吸收电子。其中二次电子是最主要的成像信号。由电子枪发射的电子,以其交叉斑作为电子源,经二级聚光镜及物镜的缩小形成具有一定能量、一定束流强度和束斑直径的微细电子束,在扫描线圈驱动下,于试样表面按一定时间、空间顺序作栅网式扫描。聚焦电子束与试样相互作用,产生二次电子发射以及背散射电子等物理信号,二次电子发射量随试样表面形貌而变化。二次电子信号被探测器收集转换成电讯号,经视频放大后输入到显像管栅极,调制与入射电子束同步扫描的显像管亮度,得到反映试样表面形貌的二次电子像。扫描电镜由下列五部分组成,如图1(a)所示。各部分主要作用简介如下:

相关主题
文本预览
相关文档 最新文档